文章目录
- 一、Nova组件部署环境
- 二、控制节点Nova服务配置
- 2.1 创建nova数据库,并执行授权操作
- 2.2 管理Nova用户及服务
- 2.2.1 创建nova用户
- 2.2.2 创建nova服务
- 2.2.3 给Nova服务关联endpoint(端点)
- 2.2.4 安装nova组件
- 2.3 修改nova配置文件nova.conf
- 2.4 初始化nova_api数据库
- 2.5 注册cell0数据库
- 2.5.1 创建cell1单元格
- 2.5.2 初始化nova数据库
- 2.5.3 验证cell0和cell1是否注册成功
- 2.6 设置自启,开启Nova服务
- 2.7 检查nova服务端口
- 三、计算节点配置Nova服务
- 3.1 安装nova-compute组件
- 3.2 修改nova配置文件nova.conf
- 3.3 设置自启,开启服务
- 四、控制节点配置操作
- 4.1 查看compute节点是否注册到controller上
- 4.2 扫描当前openstack中计算节点
- 4.3 修改控制端nova的主配置文件
- 4.4 验证计算节点服务
- 五、小结
一、Nova组件部署环境
- 在完成Glance组件部署的基础上进行Nova组件的部署
- 可参照https://blog.csdn.net/weixin_49104298/article/details/111462311
主机名 | 地址 | 服务 |
---|
ct | 20.0.0.11 | nova-api、nova-scheduler、nova-conductor、nova-novncproxy |
c1 | 20.0.0.12 | nova-compute |
c2 | 20.0.0.13 | nova-compute |
- 控制节点ct
nova-api(nova主服务)
nova-scheduler(nova调度服务)
nova-conductor(nova数据库服务,提供数据库访问)
nova-novncproxy(nova的vnc服务,提供实例的控制台) - 计算节点c1&c2
nova-compute(nova计算服务)
二、控制节点Nova服务配置
2.1 创建nova数据库,并执行授权操作
[root@ct ~]
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
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)]> flush privileges;
MariaDB [(none)]> exit
2.2 管理Nova用户及服务
2.2.1 创建nova用户
[root@ct ~]
- 把nova用户添加到service项目,拥有admin权限
[root@ct ~]
2.2.2 创建nova服务
[root@ct ~]
2.2.3 给Nova服务关联endpoint(端点)
[root@ct ~]
[root@ct ~]
[root@ct ~]
2.2.4 安装nova组件
[root@ct ~]
2.3 修改nova配置文件nova.conf
cp -a /etc/nova/nova.conf{,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /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 20.0.0.11
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.conf
cat /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
my_ip = 20.0.0.11
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver
transport_url = rabbit://openstack:RABBIT_PASS@ct
[api]
auth_strategy = keystone
……
[keystone_authtoken]
auth_url = http://ct:5000/v3
memcached_servers = ct:11211
……
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
……
[vnc]
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip
2.4 初始化nova_api数据库
[root@ct ~]
2.5 注册cell0数据库
- nova服务内部把资源划分到不同的cell中,把计算节点划分到不同的cell中
- openstack内部基于cell把计算节点进行逻辑上的分组
[root@ct ~]
2.5.1 创建cell1单元格
[root@ct ~]
2.5.2 初始化nova数据库
- 可以通过 /var/log/nova/nova-manage.log 日志判断是否初始化成功
[root@ct ~]
2.5.3 验证cell0和cell1是否注册成功
su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
2.6 设置自启,开启Nova服务
[root@ct ~]
[root@ct ~]
2.7 检查nova服务端口
[root@ct ~]
[root@ct ~]
三、计算节点配置Nova服务
3.1 安装nova-compute组件
yum -y install openstack-nova-compute
3.2 修改nova配置文件nova.conf
- 修改为c1、c2对应节点的内部IP,openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 20.0.0.*
cp -a /etc/nova/nova.conf{,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /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 transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 20.0.0.12
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://20.0.0.11: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
- 查看nova.conf
cat /etc/nova/nova.conf
……
novncproxy_base_url = http://20.0.0.11:6080/vnc_auto.html
3.3 设置自启,开启服务
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
四、控制节点配置操作
4.1 查看compute节点是否注册到controller上
[root@ct ~]
4.2 扫描当前openstack中计算节点
- 发现后会把计算节点创建到cell中,后面就可以在cell中创建虚拟机
- 相当于openstack内部对计算节点进行分组,把计算节点分配到不同的cell中
[root@ct ~]
4.3 修改控制端nova的主配置文件
- 默认每次添加个计算节点,在控制端就需要执行一次扫描,可以修改控制端nova的主配置文件
[root@ct ~]
[scheduler]
discover_hosts_in_cells_interval = 300
[root@ct ~]
4.4 验证计算节点服务
- 检查 nova 的各个服务是否都是正常,以及 compute 服务是否注册成功
[root@ct ~]
[root@ct ~]
[root@ct ~]
- 查看cell的api和placement的api是否正常,只要其中一个有误,后期无法创建虚拟机
[root@ct ~]
五、小结
- Nova分为控制节点、计算节点
- Nova组件核心功能是调度资源,在配置文件中需要体现的部分:指向认证节点位置(URL、ENDPOINT)、调用服务、注册、提供支持等,配置文件中的所有配置参数基本都是围绕此范围进行设置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)