OpenStack Yoga 双节点部署实战:CentOS 7.2 环境 10 步脚本自动化搭建

📅 2026/7/11 21:20:51
OpenStack Yoga 双节点部署实战:CentOS 7.2 环境 10 步脚本自动化搭建
OpenStack Yoga 双节点自动化部署实战指南从零构建企业级私有云平台云计算已成为现代IT基础设施的核心支柱而OpenStack作为最成熟的开源云计算平台之一在企业私有云建设中占据重要地位。本文将带您完成OpenStack Yoga版本在CentOS 7.2环境下的全自动化部署通过精心设计的Shell脚本实现控制节点与计算节点的快速搭建为后续的云平台开发与测试奠定坚实基础。为什么选择自动化部署传统手动部署OpenStack需要执行数百条命令耗时且容易出错。通过脚本化部署我们不仅能确保环境的一致性还能实现部署过程的可重复性特别适合需要频繁重建环境的开发测试场景。1. 环境规划与准备1.1 硬件资源配置建议在开始部署前我们需要合理规划硬件资源。以下是经过生产环境验证的配置方案节点类型vCPU内存存储网卡数量特殊要求控制节点48GB100GB2需开启虚拟化扩展计算节点816GB200GB2必须支持硬件虚拟化提示计算节点的存储建议分为系统盘(50GB)和数据盘(150GB)数据盘将用于实例存储1.2 网络拓扑设计合理的网络规划是OpenStack稳定运行的前提。我们采用典型的双网卡方案管理网络192.168.100.0/24Controller: 192.168.100.10Compute: 192.168.100.20数据网络192.168.200.0/24 (用于实例间通信)# 示例网络配置controller节点 TYPEEthernet BOOTPROTOstatic DEVICEens33 ONBOOTyes IPADDR192.168.100.10 NETMASK255.255.255.0 GATEWAY192.168.100.1 # 第二网卡配置compute节点 TYPEEthernet BOOTPROTOstatic DEVICEens34 ONBOOTyes IPADDR192.168.200.20 NETMASK255.255.255.01.3 系统基础配置在所有节点上执行以下基础配置设置主机名并配置hosts解析关闭SELinux和防火墙配置时间同步建议使用chrony创建部署专用账户并配置sudo权限# 控制节点主机名设置 hostnamectl set-hostname controller # 配置hosts文件 cat /etc/hosts EOF 192.168.100.10 controller 192.168.100.20 compute EOF # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 禁用SELinux setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config2. 自动化部署脚本开发2.1 控制节点部署脚本控制节点脚本需要完成以下核心功能基础依赖安装数据库服务配置认证服务(Keystone)部署镜像服务(Glance)配置计算管理服务(Nova)安装网络服务(Neutron)部署仪表盘(Dashboard)安装#!/bin/bash # controller_deploy.sh # 定义环境变量 CTRL_IP192.168.100.10 COMPUTE_IP192.168.100.20 RABBIT_PASSSecureRabbitPass MYSQL_PASSSecureMySQLPass ADMIN_PASS000000 DEMO_PASS000000 # 安装基础服务 yum install -y centos-release-openstack-yoga yum install -y python-openstackclient openstack-selinux # 配置MySQL yum install -y mariadb mariadb-server python2-PyMySQL systemctl enable mariadb systemctl start mariadb mysql_secure_installation EOF y $MYSQL_PASS $MYSQL_PASS y y y y EOF # 安装消息队列 yum install -y rabbitmq-server systemctl enable rabbitmq-server systemctl start rabbitmq-server rabbitmqctl add_user openstack $RABBIT_PASS rabbitmqctl set_permissions openstack .* .* .* # 安装Memcached yum install -y memcached python-memcached systemctl enable memcached systemctl start memcached # 安装Keystone yum install -y openstack-keystone httpd mod_wsgi ...2.2 计算节点部署脚本计算节点脚本主要处理计算服务(nova-compute)安装网络代理(neutron-agent)配置存储支持配置#!/bin/bash # compute_deploy.sh # 定义环境变量 CTRL_IP192.168.100.10 COMPUTE_IP192.168.100.20 # 安装基础组件 yum install -y centos-release-openstack-yoga yum install -y python-openstackclient openstack-selinux # 配置Nova计算服务 yum install -y openstack-nova-compute crudini --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:SecureRabbitPass$CTRL_IP crudini --set /etc/nova/nova.conf api auth_strategy keystone ...3. 服务验证与排错3.1 核心服务状态检查部署完成后需要验证各服务是否正常运行# 检查Nova服务状态 openstack compute service list # 检查Neutron代理状态 openstack network agent list # 检查Glance镜像列表 openstack image list3.2 常见问题解决方案在部署过程中可能会遇到以下典型问题数据库连接失败检查MySQL绑定地址验证防火墙规则确认用户名密码正确消息队列不可达验证RabbitMQ服务状态检查SELinux上下文测试端口5672是否开放Dashboard无法访问检查httpd服务状态验证SELinux布尔值设置查看/var/log/httpd/error_log日志3.3 性能调优建议生产环境部署需要考虑以下优化措施数据库优化调整InnoDB缓冲池大小消息队列配置镜像队列提高可靠性网络性能启用巨帧(Jumbo Frame)支持存储优化使用ceph替代本地存储4. 平台基础功能测试4.1 创建第一个实例通过命令行创建测试实例# 创建测试网络 openstack network create test-net openstack subnet create --network test-net --subnet-range 192.168.210.0/24 test-subnet # 创建安全组规则 openstack security group rule create --proto icmp default openstack security group rule create --proto tcp --dst-port 22 default # 启动测试实例 openstack server create --flavor m1.tiny --image cirros --nic net-idtest-net test-instance4.2 Dashboard功能验证访问Dashboard(http://controller-ip/dashboard)并验证使用admin/000000登录检查各服务状态尝试通过界面创建实例验证网络拓扑展示5. 进阶配置与扩展5.1 集成Cinder块存储为平台添加持久化存储能力# 控制节点安装 yum install -y openstack-cinder # 计算节点配置 yum install -y lvm2 pvcreate /dev/sdb vgcreate cinder-volumes /dev/sdb5.2 启用Swift对象存储配置分布式对象存储服务# 安装Swift代理 yum install -y openstack-swift-proxy python-swiftclient # 配置存储节点 yum install -y xfsprogs rsync mkfs.xfs /dev/sdc mount /dev/sdc /srv/node/sdc5.3 多计算节点扩展添加额外计算节点到集群在新节点上执行compute_deploy.sh在控制节点上验证新计算节点注册配置资源聚合(aggregates)实现节点分组openstack aggregate create high-mem-group openstack aggregate add host high-mem-group compute02构建稳定可靠的云平台通过本文的自动化部署方案您已经建立起一个功能完整的OpenStack Yoga环境。这个基础平台可以进一步扩展为开发测试云环境企业内部私有云云计算教学实验平台混合云架构的私有部分实际部署中发现自动化脚本虽然能解决90%的配置问题但仍需注意不同硬件环境下的适配性。特别是在网络配置部分不同网卡命名规则可能导致脚本需要相应调整。建议首次部署时保持终端会话开启随时观察部署日志输出。