【版本】
当前版本号v20230701
版本 | 修改说明 |
---|
v20230701 | 文档基于 RockyLinux8 和 Openstack Yoga 开发 |
任务10 - 增加一个计算节点(选做)
【任务目的】
- 掌握配置Openstack计算节点,让计算节点组成集群。
【任务环境】
- 内存:至少4G
- 硬盘:至少空余40G
- 操作系统: 64位 Windows系统。
【任务资源】
- FinalShell
- RockyLinux 8 系统镜像
- VirtualBox
【任务说明】
项目 | 值 |
---|
主机名(hostname) | computerB999 |
IP地址 | 10.0.0.32 |
虚拟机内存建议 | 2G |
虚拟CPU核心数建议 | 2 |
【任务步骤】
从模板机克隆出一台新的虚拟机作为新的计算节点。命令可参考之前步骤。以下步骤如果没有特别说明,都在新的计算节点上执行。
把虚拟机 Hostname 命名为computerB999
。命令可参考之前步骤。
设置新的计算节点的IP为10.0.0.32
。命令可参考之前Part 2 步骤6。
控制节点和2个计算节点的hosts
统一配置为如下文本。命令可参考之前Part 2 步骤8。
| 10.0.0.11 controller999 |
| 10.0.0.31 computer999 |
| 10.0.0.32 computerB999 |
复制
- 配置 chrony 和控制节点同步。命令可参考之前Part 2 步骤9。
安装nova-compute
- 安装 nova-compute 和 Openstack-utils。
| dnf install /opt/repo/openstack-yoga/python3-sqlalchemy-1.4.31-1.el8.x86_64.rpm -y |
| dnf install openstack-nova-compute openstack-utils -y |
复制
nova.conf配置
- 备份 Nova 的配置文件。
| cp /etc/nova/nova.conf{,.bak} |
| grep '^[a-Z\[]' /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@controller+你的学号后3位 |
| openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.0.0.32 |
| openstack-config --set /etc/nova/nova.conf DEFAULT compute_driver libvirt.LibvirtDriver |
| openstack-config --set /etc/nova/nova.conf DEFAULT verbose True |
| openstack-config --set /etc/nova/nova.conf DEFAULT debug True |
| openstack-config --set /etc/nova/nova.conf DEFAULT log_dir /var/log/nova |
| openstack-config --set /etc/nova/nova.conf DEFAULT instances_path /var/lib/nova/instances |
| openstack-config --set /etc/nova/nova.conf api auth_strategy keystone |
| openstack-config --set /etc/nova/nova.conf keystone_authtoken www_authenticate_uri http://controller+你的学号后3位:5000/ |
| openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://controller+你的学号后3位:5000/ |
| openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers controller+你的学号后3位: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 service_user send_service_user_token true |
| openstack-config --set /etc/nova/nova.conf service_user auth_url http://controller+你的学号后3位:5000/identity |
| openstack-config --set /etc/nova/nova.conf service_user auth_strategy keystone |
| openstack-config --set /etc/nova/nova.conf service_user auth_type password |
| openstack-config --set /etc/nova/nova.conf service_user project_domain_name Default |
| openstack-config --set /etc/nova/nova.conf service_user project_name service |
| openstack-config --set /etc/nova/nova.conf service_user user_domain_name Default |
| openstack-config --set /etc/nova/nova.conf service_user username nova |
| openstack-config --set /etc/nova/nova.conf service_user 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://10.0.0.11:6080/vnc_auto.html |
| openstack-config --set /etc/nova/nova.conf glance api_servers http://controller+你的学号后3位: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://controller+你的学号后3位: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 |
| openstack-config --set /etc/nova/nova.conf libvirt cpu_mode none |
复制
启动 Nova 相关服务
- 启动 libvirtd 服务,并设置为开机启动。此处需要启动你的控制节点,否则无法正常启动
openstack-nova-compute
。
| systemctl enable libvirtd openstack-nova-compute |
| systemctl start libvirtd openstack-nova-compute |
复制
安装 Neutron 相关组件
- 安装相关网络工具和驱动。
| dnf install openstack-neutron-linuxbridge ebtables ipset -y |
复制
neutron.conf配置
- 备份
neutron.conf
配置。
| cp /etc/neutron/neutron.conf{,.bak} |
| grep '^[a-Z\[]' /etc/neutron/neutron.conf.bak >/etc/neutron/neutron.conf |
复制
- 修改
neutron.conf
,注意替换你的学号。
| openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@controller+你的学号后3位 |
| openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://controller+你的学号后3位:5000 |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller+你的学号后3位:5000 |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers controller:11211 |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron |
| openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password NEUTRON_PASS |
| openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp |
复制
- 查看你的主机 IP 对应的网口编号。VirtualBox 未修改过一般为
enp0s3
。
复制

- 修改
linuxbridge_agent.ini
配置,注意替换网口编号
| openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings provider:替换为你的网口编号 |
| openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan false |
| openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group true |
| openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver |
复制
- 修改 nova 配置,增加 neutron 相关配置,注意替换你的学号。
| openstack-config --set /etc/nova/nova.conf neutron url http://controller+你的学号后3位:9696 |
| openstack-config --set /etc/nova/nova.conf neutron auth_url http://controller+你的学号后3位:5000 |
| openstack-config --set /etc/nova/nova.conf neutron auth_type password |
| openstack-config --set /etc/nova/nova.conf neutron project_domain_name default |
| openstack-config --set /etc/nova/nova.conf neutron user_domain_name default |
| openstack-config --set /etc/nova/nova.conf neutron region_name RegionOne |
| openstack-config --set /etc/nova/nova.conf neutron project_name service |
| openstack-config --set /etc/nova/nova.conf neutron username neutron |
| openstack-config --set /etc/nova/nova.conf neutron password NEUTRON_PASS |
复制
br_netfilter 模块
br_netfilter 是一个核心模块用于实现 Linux 系统内网桥的支持。
- 开启
br_netfilter
模块。
复制
- 设置随开机启动。
| echo 'net.bridge.bridge-nf-call-iptables = 1' >> /etc/sysctl.conf |
| echo 'net.bridge.bridge-nf-call-ip6tables = 1' >> /etc/sysctl.conf |
| echo 'modprobe br_netfilter' > /etc/sysconfig/modules/br_netfilter.modules |
复制
- 设置权限
| chmod 755 /etc/sysconfig/modules/br_netfilter.modules |
复制
- 查看模块是否已经启用。
复制
| br_netfilter 24576 0 |
| bridge 290816 1 br_netfilter |
复制
启动 Neutron 服务
- 启动服务
| systemctl restart openstack-nova-compute |
| systemctl enable neutron-linuxbridge-agent |
| systemctl start neutron-linuxbridge-agent |
复制
- 在控制节点上运行此命令,把新的计算节点映射到单元(Cell)。
| nova-manage cell_v2 discover_hosts |
复制
在 Dashboard 查看是否有新的计算节点加入。

请搜索参考网上资料,实现在指定的新的计算节点上创建一个名为cirros+你学号后3位
的实例。
注意新的实例需要通过命令方式指定运行在新的计算节点上。

- 登录新的实例,输出系统 hostname 和 IP。
【常见问题FAQ】
常见问题FAQ