OpenStack Train版双节点安装(六)安装计算服务nova(控制节点)

第六部分 安装计算服务nova(控制节点)


计算服务nova较之前的服务稍显复杂(但没有网络服务neutron复杂),它需要在控制节点和计算节点都安装

控制节点主要安装nova-api(nova主服务)、nova-scheduler(nova调度服务)、nova-conductor(nova数据库服务,提供数据库访问)、nova-novncproxy(nova的vnc服务,提供实例的控制台)等服务;

计算节点主要安装nova-compute(nova计算服务)。


本节将叙述在控制节点上安装nova的步骤,下一节再叙述在计算节点上的安装。


控制节点按如下操作安装nava计算服务(控制节点)

安装数据库(共3个数据库)
mysql -u root -p
创建nova_api,nova和nova_cell0数据库
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;

image.png

授予数据库的适当访问权限(共6条语句)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> exit;

image.png

创建nova用户
. admin-openrc
openstack user create --domain default --password NOVA_PASS nova

向nova用户添加admin角色
openstack role add --project service --user nova admin

创建nova服务实体
openstack service create --name nova --description "OpenStack Compute" compute

image.png

创建Compute API服务端点
openstack endpoint create --region RegionOne compute public http://ct:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://ct:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://ct:8774/v2.1

image.png

安装软件包
yum install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler -y

image.png

修改配置文件
cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
grep -Ev '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
vim /etc/nova/nova.conf

在[DEFAULT]加入:
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:RABBIT_PASS@ct:5672/
my_ip = 192.168.10.41
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver

在[api_database]和[database]加入:
[api_database]
connection = mysql+pymysql://nova:NOVA_DBPASS@ct/nova_api
[database]
connection = mysql+pymysql://nova:NOVA_DBPASS@ct/nova

在[api]和[keystone_authtoken]加入:
[api]
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = http://ct:5000/
auth_url = http://ct:5000/
memcached_servers = ct:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = NOVA_PASS

在[vnc]加入:
[vnc]
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip

在[glance]加入:
[glance]
api_servers = http://ct:9292

在[oslo_concurrency]加入:
[oslo_concurrency]
lock_path = /var/lib/nova/tmp

在[placement]加入:
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://ct:5000/v3
username = placement
password = PLACEMENT_PASS

ps:修改的地方较多,请细心修改。

image.png

image.png

image.png

填充nova-api数据库
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage db sync" nova

image.png

数据库填充好之后,验证nova cell0和cell1是否正确注册:
su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

image.png

启动计算服务nova并将其配置为在系统启动时启动
systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

image.png

同样,使用netstat -tnlup查看端口情况,如出现8774和8775端口则表示nova服务正常启动。

image.png



猜你喜欢

转载自blog.51cto.com/11694088/2460103