OpenStack Yoga 双节点部署实战:CentOS 7.2 环境 10 步脚本自动化搭建
2026/7/11 21:20:42 网站建设 项目流程

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/24
    • Controller: 192.168.100.10
    • Compute: 192.168.100.20
  • 数据网络:192.168.200.0/24 (用于实例间通信)
# 示例网络配置(controller节点) TYPE=Ethernet BOOTPROTO=static DEVICE=ens33 ONBOOT=yes IPADDR=192.168.100.10 NETMASK=255.255.255.0 GATEWAY=192.168.100.1 # 第二网卡配置(compute节点) TYPE=Ethernet BOOTPROTO=static DEVICE=ens34 ONBOOT=yes IPADDR=192.168.200.20 NETMASK=255.255.255.0

1.3 系统基础配置

在所有节点上执行以下基础配置:

  1. 设置主机名并配置hosts解析
  2. 关闭SELinux和防火墙
  3. 配置时间同步(建议使用chrony)
  4. 创建部署专用账户并配置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/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2. 自动化部署脚本开发

2.1 控制节点部署脚本

控制节点脚本需要完成以下核心功能:

  • 基础依赖安装
  • 数据库服务配置
  • 认证服务(Keystone)部署
  • 镜像服务(Glance)配置
  • 计算管理服务(Nova)安装
  • 网络服务(Neutron)部署
  • 仪表盘(Dashboard)安装
#!/bin/bash # controller_deploy.sh # 定义环境变量 CTRL_IP=192.168.100.10 COMPUTE_IP=192.168.100.20 RABBIT_PASS=SecureRabbitPass MYSQL_PASS=SecureMySQLPass ADMIN_PASS=000000 DEMO_PASS=000000 # 安装基础服务 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_IP=192.168.100.10 COMPUTE_IP=192.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 list

3.2 常见问题解决方案

在部署过程中可能会遇到以下典型问题:

  1. 数据库连接失败

    • 检查MySQL绑定地址
    • 验证防火墙规则
    • 确认用户名密码正确
  2. 消息队列不可达

    • 验证RabbitMQ服务状态
    • 检查SELinux上下文
    • 测试端口5672是否开放
  3. 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-id=test-net test-instance

4.2 Dashboard功能验证

访问Dashboard(http://controller-ip/dashboard)并验证:

  1. 使用admin/000000登录
  2. 检查各服务状态
  3. 尝试通过界面创建实例
  4. 验证网络拓扑展示

5. 进阶配置与扩展

5.1 集成Cinder块存储

为平台添加持久化存储能力:

# 控制节点安装 yum install -y openstack-cinder # 计算节点配置 yum install -y lvm2 pvcreate /dev/sdb vgcreate cinder-volumes /dev/sdb

5.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/sdc

5.3 多计算节点扩展

添加额外计算节点到集群:

  1. 在新节点上执行compute_deploy.sh
  2. 在控制节点上验证新计算节点注册
  3. 配置资源聚合(aggregates)实现节点分组
openstack aggregate create high-mem-group openstack aggregate add host high-mem-group compute02

构建稳定可靠的云平台

通过本文的自动化部署方案,您已经建立起一个功能完整的OpenStack Yoga环境。这个基础平台可以进一步扩展为:

  • 开发测试云环境
  • 企业内部私有云
  • 云计算教学实验平台
  • 混合云架构的私有部分

实际部署中发现,自动化脚本虽然能解决90%的配置问题,但仍需注意不同硬件环境下的适配性。特别是在网络配置部分,不同网卡命名规则可能导致脚本需要相应调整。建议首次部署时保持终端会话开启,随时观察部署日志输出。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询