(五)Openstack组件部署------>NOVA(T版)

文章目录

  • 一、NOVA组件部署
    • 1、在ct控制节点上配置NOVA服务
      • ①创建数据库实例和授权
      • ②创建用户、修改配置文件
    • 2、c1、c2计算节点上配置NOVA服务
      • ①安装软件包并修改配置文件
      • ②判断计算机是否支持虚拟机硬件加速
      • ③开启Nova计算服务并配置开机启动
    • 3、CT控制节点后续操作
      • ①添加计算节点到cell数据库
      • ②发现计算节点
      • ③验证计算服务

一、NOVA组件部署

  • Nova计算服务为Openstack云环境提供了计算能力,相关环境需要在控制节点和计算节点分别进行部署

ct:192.168.10.70

  • nova-api (nova主服务)
  • nova-scheduler(nova调度服务)
  • nova-condutor(nova数据库服务,提供数据库访问)
  • nova-novncproxy(nova的vnc服务,提供实例的控制台)

C1:192.168.10.80
C2:192.168.10.90

  • nova-compute(nova计算服务)

1、在ct控制节点上配置NOVA服务

①创建数据库实例和授权

mysql -uroot -p

CREATE DATABASE nova_api;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';

CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';

CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
flush privileges;
exit

(五)Openstack组件部署------>NOVA(T版)_第1张图片

②创建用户、修改配置文件

#创建nova用户;验证openstack user list
openstack user create --domain default --password NOVA_PASS nova

#向nova用户添加admin角色;验证openstack role assignment list验证,还要查role、user、project列表看id号
openstack role add --project service --user nova admin

#创建nova服务实体;验证openstack service list
openstack service create --name nova --description "OpenStack Compute" compute

(五)Openstack组件部署------>NOVA(T版)_第2张图片
创建computeAPI服务端点

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

(五)Openstack组件部署------>NOVA(T版)_第3张图片
安装软件包

yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler

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

(五)Openstack组件部署------>NOVA(T版)_第4张图片
添加/etc/nova/nova.conf配置

openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.10.00
openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_DBPASS@ct/nova_api
openstack-config --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_DBPASS@ct/nova
openstack-config --set /etc/nova/nova.conf placement_database connection mysql+pymysql://placement:PLACEMENT_DBPASS@ct/placement
openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken password NOVA_PASS
openstack-config --set /etc/nova/nova.conf vnc enabled true
openstack-config --set /etc/nova/nova.conf vnc server_listen '$my_ip'
openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address '$my_ip'
openstack-config --set /etc/nova/nova.conf glance api_servers http://ct:9292
openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set /etc/nova/nova.conf placement project_name service
openstack-config --set /etc/nova/nova.conf placement auth_type password
openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set /etc/nova/nova.conf placement auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf placement username placement
openstack-config --set /etc/nova/nova.conf placement password PLACEMENT_PASS

初始化nova数据库,生成相关表结构

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

(五)Openstack组件部署------>NOVA(T版)_第5张图片
验证nova cell0和cell1是否正确注册

su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

#启动Nova服务并配置开机启动
systemctl start openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy

systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy

(五)Openstack组件部署------>NOVA(T版)_第6张图片
检查nova服务是否启动

netstat -tnlup|egrep '8774|8775'
curl http://ct:8774

(五)Openstack组件部署------>NOVA(T版)_第7张图片

2、c1、c2计算节点上配置NOVA服务

①安装软件包并修改配置文件

yum -y install openstack-nova-compute
cp -a /etc/nova/nova.conf{
     ,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /etc/nova/nova.conf

(五)Openstack组件部署------>NOVA(T版)_第8张图片

  • 下列命令中第三行需要修改当前节点的IP地址
  • c1:192.168.10.80 、 c2:192.168.10.90
openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.10.80 
openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken password NOVA_PASS
openstack-config --set /etc/nova/nova.conf vnc enabled true
openstack-config --set /etc/nova/nova.conf vnc server_listen 0.0.0.0
openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address '$my_ip'
openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://ct:6080/vnc_auto.html
openstack-config --set /etc/nova/nova.conf glance api_servers http://ct:9292
openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set /etc/nova/nova.conf placement project_name service
openstack-config --set /etc/nova/nova.conf placement auth_type password
openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set /etc/nova/nova.conf placement auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf placement username placement
openstack-config --set /etc/nova/nova.conf placement password PLACEMENT_PASS
openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

②判断计算机是否支持虚拟机硬件加速

egrep -c '(vmx|svm)' /proc/cpuinfo

在这里插入图片描述

上述命令返回值不是 0,则计算节点支持硬件加速,不需要进行下面的配置。
上述命令返回值是 0,则计算节点不支持硬件加速,并且必须配置 libvirt 为使用
QEMU 而不是 KVM,需要编辑/etc/nova/nova.conf 文件中的[libvirt]部分
vim /etc/nova/nova.conf
[libvirt]
virt_type = qemu

③开启Nova计算服务并配置开机启动

systemctl start libvirtd.service openstack-nova-compute.service
systemctl enable libvirtd.service openstack-nova-compute.service

请注意:当有多个计算节点,并通过scp命令将配置文件拷贝到其他计算节点时,如果发现无法启动服务,
且错误为:“Failed to open some config files: /etc/nova/nova.conf”, 那么主要原因是配置文件权限错误,
需修改nova.conf文件的属主和属组为 root。

3、CT控制节点后续操作

①添加计算节点到cell数据库

openstack compute service list --service nova-compute

②发现计算节点

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

以后添加新的计算节点时,必须在控制器节点上运行 su -s /bin/sh -c “nova-manage cell_v2 discover_hosts --verbose” nova 以注册这些新的计算节点。

设置适当的发现时间间隔(可选操作)

vim /etc/nova/nova.conf
[scheduler]
discover_hosts_in_cells_interval = 300

systemctl restart openstack-nova-api.service

③验证计算服务

  • 列出服务组件以验证每个进程的成功启动和注册情况
openstack compute service list
  • 列出身份服务中的API端点以验证与身份服务的连接
openstack catalog list
  • 列出图像服务中的图像以验证与图像服务的连接性
openstack image list
  • 检查Cells和placement API是否正常运行
nova-status upgrade check

你可能感兴趣的:(Open,stack)