OpenStack Train 双节点部署:CentOS 7.5 环境 10 大核心服务脚本化安装实录 📅 2026/7/12 1:46:20 OpenStack Train 双节点部署CentOS 7.5 环境 10 大核心服务脚本化安装实战指南1. 环境规划与系统准备在开始部署之前我们需要明确双节点架构的基本规划。控制节点(Controller)负责管理整个云平台计算节点(Compute)提供虚拟化计算资源。以下是推荐的硬件配置节点类型CPU核心内存系统磁盘数据磁盘网络接口控制节点4核8GB100GB-2个计算节点4核8GB100GB200GB2个系统初始化步骤在两台节点上安装CentOS 7.5最小化系统确保内核版本不低于3.10uname -r关闭并禁用防火墙和SELinuxsystemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config提示生产环境中不建议完全禁用SELinux可设置为permissive模式进行调试2. 网络架构设计与配置双节点部署需要规划两个主要网络平面管理网络用于节点间内部通信192.168.100.0/24外部网络用于虚拟机访问外网192.168.200.0/24控制节点网络配置示例/etc/sysconfig/network-scripts/ifcfg-ens33TYPEEthernet BOOTPROTOstatic NAMEens33 DEVICEens33 ONBOOTyes IPADDR192.168.100.10 PREFIX24 GATEWAY192.168.100.1 DNS18.8.8.8关键网络验证命令# 检查网络连通性 ping -c 4 192.168.100.20 # 验证DNS解析 nslookup openstack.org # 查看路由表 ip route show3. 基础环境部署3.1 主机名与主机映射在所有节点上设置正确的主机名# 控制节点 hostnamectl set-hostname controller # 计算节点 hostnamectl set-hostname compute更新/etc/hosts文件192.168.100.10 controller 192.168.100.20 compute3.2 YUM源配置由于OpenStack需要大量软件包建议配置本地镜像源挂载CentOS和IAAS镜像mkdir -p /opt/{centos,iaas} mount -o loop CentOS-7-x86_64-DVD-1804.iso /opt/centos mount -o loop Chinaskill_Cloud_iaas.iso /opt/iaas创建本地repo文件cat /etc/yum.repos.d/local.repo EOF [iaas] nameiaas baseurlfile:///opt/iaas/iaas-repo gpgcheck0 enabled1 [centos] namecentos baseurlfile:///opt/centos gpgcheck0 enabled1 EOF清理并重建yum缓存yum clean all yum makecache3.3 时间同步服务确保所有节点时间同步yum install -y chrony # 控制节点配置 sed -i s/^server.*/server ntp.aliyun.com iburst/g /etc/chrony.conf echo allow 192.168.100.0/24 /etc/chrony.conf # 计算节点配置 sed -i s/^server.*/server controller iburst/g /etc/chrony.conf # 所有节点启动服务 systemctl enable chronyd systemctl start chronyd # 验证时间同步 chronyc sources -v4. 核心服务自动化部署我们使用脚本化方式部署OpenStack Train版的10大核心服务。首先需要配置全局变量文件/etc/xiandian/openrc.sh 关键配置示例HOST_IP192.168.100.10 HOST_PASS000000 HOST_NAMEcontroller HOST_IP_NODE192.168.100.20 HOST_PASS_NODE000000 HOST_NAME_NODEcompute # 服务密码配置 RABBIT_USERopenstack RABBIT_PASS000000 DB_PASS000000 DOMAIN_NAMEdemo ADMIN_PASS000000 DEMO_PASS000000 # 各组件密码 KEYSTONE_DBPASS000000 GLANCE_DBPASS000000 GLANCE_PASS000000 NOVA_DBPASS000000 NOVA_PASS000000 NEUTRON_DBPASS000000 NEUTRON_PASS0000004.1 认证服务(Keystone)部署执行自动化安装脚本iaas-install-keystone.sh验证Keystone服务source /etc/keystone/admin-openrc.sh openstack project list openstack user list4.2 镜像服务(Glance)部署安装Glance服务iaas-install-glance.sh上传测试镜像wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create cirros \ --file cirros-0.4.0-x86_64-disk.img \ --disk-format qcow2 --container-format bare \ --public4.3 计算服务(Nova)部署控制节点安装iaas-install-nova-controller.sh计算节点安装iaas-install-nova-compute.sh验证Nova服务nova service-list openstack hypervisor list4.4 网络服务(Neutron)部署控制节点安装iaas-install-neutron-controller.sh计算节点安装iaas-install-neutron-compute.sh网络配置检查neutron agent-list ip netns list5. 存储服务部署5.1 块存储服务(Cinder)控制节点安装iaas-install-cinder-controller.sh计算节点安装iaas-install-cinder-compute.sh创建并测试块存储openstack volume create --size 1 test-volume openstack volume list5.2 对象存储服务(Swift)配置Swift需要额外的存储设备iaas-install-swift-controller.sh iaas-install-swift-compute.sh6. 高级服务部署6.1 仪表盘服务(Horizon)安装Dashboard服务iaas-install-dashboard.sh访问控制台http://controller/dashboard6.2 编排服务(Heat)安装Heat编排服务iaas-install-heat.sh7. 服务验证与测试创建测试网络openstack network create test-net openstack subnet create --network test-net \ --subnet-range 192.168.300.0/24 \ --gateway 192.168.300.1 \ --dns-nameserver 8.8.8.8 test-subnet启动测试实例openstack server create --flavor m1.tiny \ --image cirros \ --nic net-id$(openstack network show test-net -c id -f value) \ test-instance8. 常见问题排查网络问题排查# 检查Neutron服务状态 neutron agent-list # 查看网络命名空间 ip netns list # 检查DHCP服务 ip netns exec qdhcp-$(openstack network show test-net -c id -f value) ip a计算节点问题# 检查Nova计算服务日志 tail -f /var/log/nova/nova-compute.log # 验证虚拟化支持 egrep -c (vmx|svm) /proc/cpuinfo9. 性能优化建议Nova配置优化[DEFAULT] # 增加工作线程数 osapi_compute_workers4 metadata_workers4 # 启用CPU超配 cpu_allocation_ratio16.0 ram_allocation_ratio1.5Neutron配置优化[OVS] # 启用多队列减少CPU争用 datapath_typesystem vhostuser_socket_dir/var/run/openvswitch10. 安全加固措施服务通信加密# 生成SSL证书 openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodesAPI访问控制# 限制管理API访问 iptables -A INPUT -p tcp --dport 35357 -s 192.168.100.10 -j ACCEPT iptables -A INPUT -p tcp --dport 35357 -j DROP定期备份关键数据# 备份数据库 mysqldump -u root -p --all-databases openstack-backup-$(date %F).sql