私有云平台环境部署:OpenStack 双节点 CentOS7 实验全流程
目录
一、实验背景与目标
在云计算学习中,OpenStack 作为主流的开源私有云平台,其基础环境搭建是入门的关键环节。本次实验我们将在一台物理机中,通过 VMware Workstation Pro 配置两台 CentOS7 虚拟机,分别模拟 控制节点(controller) 和 计算节点(compute),完成 OpenStack 部署前的基础环境准备。
通过本次实验,你将掌握:
- 双网卡、多硬盘的 CentOS7 虚拟机配置方法
- 控制节点与计算节点的网络规划与 IP 配置
- OpenStack 部署前的系统环境初始化技巧
- 为后续 OpenStack 核心组件(Keystone、Glance、Nova 等)安装打好基础
二、实验环境与参数规划
1. 硬件与软件环境
表格
| 环境 | 说明 |
|---|---|
| 物理机系统 | Windows /macOS(支持 VMware 虚拟机) |
| 虚拟化软件 | VMware Workstation Pro 15/16/17 |
| 虚拟机系统 | CentOS 7.9 x86_64(推荐使用 Minimal 最小化安装) |
| 虚拟机数量 | 2 台(controller + compute) |
2. 节点参数规划
根据实验要求,两台虚拟机的参数如下表所示:
表格
| 节点角色 | hostname | 网卡 ens32(内网) | 网卡 ens33(外网) | 硬盘配置 | 内存 / CPU |
|---|---|---|---|---|---|
| controller(控制节点) | controller | IP: 192.168.137.241/24网关: 192.168.137.1/24DNS: 192.168.137.1 | IP: 20.0.0.10/24 | 40GB + 20GB + 20GB | 4GB / 2 核 |
| compute(计算节点) | compute | IP: 192.168.137.242/24网关: 192.168.137.1/24DNS: 192.168.137.1 | IP: 20.0.0.20/24 | 40GB + 20GB + 20GB | 4GB / 2 核 |
关键说明:
ens32网卡连接物理机的 VMnet8(NAT 模式),用于 SSH 登录和物理机互通,网段需与 VMnet8 一致(默认 192.168.137.0/24)。ens33网卡用于 OpenStack 组件间通信,后续安装 OpenStack 时使用,无需配置网关和 DNS。
三、VMware 虚拟机创建与配置
1. 创建 CentOS7 虚拟机(通用步骤)
- 打开 VMware Workstation Pro,点击「创建新的虚拟机」,选择「典型(推荐)」模式。
- 选择「稍后安装操作系统」,系统类型选择
Linux → CentOS 7 64位。 - 自定义虚拟机名称,分别命名为
controller和compute,并设置虚拟机存储位置。 - 配置硬件参数:
- 处理器:2 核
- 内存:4GB
- 硬盘:首次创建时添加一块 40GB 硬盘,后续再添加两块 20GB 硬盘。
- 完成基础创建后,进入「编辑虚拟机设置」,进行硬件补充配置。
2. 关键硬件配置(双网卡 + 多硬盘)
(1)添加第二块网卡 ens33
- 在虚拟机设置中,点击「添加 → 网络适配器」。
- 第一块网卡(ens32)设置为
NAT 模式(VMnet8),用于物理机互通。 - 第二块网卡(ens33)设置为
仅主机模式(VMnet1)或自定义(VMnet2),确保两块网卡网段隔离,用于 OpenStack 内部通信。
(2)添加两块 20GB 硬盘
- 点击「添加 → 硬盘 → SCSI → 创建新虚拟磁盘」。
- 磁盘大小设置为 20GB,选择「将虚拟磁盘存储为单个文件」,重复操作添加第二块 20GB 硬盘。
- 最终虚拟机硬件配置应包含:2 块网卡 + 3 块硬盘(40GB + 20GB + 20GB)。
四、CentOS7 系统安装与初始化配置
1. 系统安装
- 启动虚拟机,加载 CentOS7 镜像文件,进入安装界面。
- 语言选择「中文(简体)」,设置时区为「上海」。
- 磁盘分区:选择「自动分区」即可,后续可手动对额外的 20GB 硬盘进行分区挂载。
- 网络配置:安装界面中可先不配置 IP,安装完成后再手动修改网卡配置文件。
- 设置 root 密码,完成安装并重启虚拟机。
2. 修改主机名
controller 节点
bash
运行
hostnamectl set-hostname controller
bash # 刷新终端主机名
compute 节点
bash
运行
hostnamectl set-hostname compute
bash # 刷新终端主机名
3. 配置网卡 IP 地址
(1)controller 节点配置
-
配置 ens32(内网网卡):编辑
/etc/sysconfig/network-scripts/ifcfg-ens32文件:bash
运行
vi /etc/sysconfig/network-scripts/ifcfg-ens32修改关键参数:
ini
TYPE=Ethernet BOOTPROTO=static # 改为静态IP NAME=ens32 DEVICE=ens32 ONBOOT=yes # 开机自启 IPADDR=192.168.137.241 NETMASK=255.255.255.0 GATEWAY=192.168.137.1 DNS1=192.168.137.1 -
配置 ens33(OpenStack 网卡):编辑
/etc/sysconfig/network-scripts/ifcfg-ens33文件:bash
运行
vi /etc/sysconfig/network-scripts/ifcfg-ens33修改关键参数:
ini
TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=20.0.0.10 NETMASK=255.255.255.0 # 不设置 GATEWAY 和 DNS,避免路由冲突 -
重启网络服务:
bash
运行
systemctl restart network
(2)compute 节点配置
-
配置 ens32(内网网卡):
bash
运行
vi /etc/sysconfig/network-scripts/ifcfg-ens32ini
TYPE=Ethernet BOOTPROTO=static NAME=ens32 DEVICE=ens32 ONBOOT=yes IPADDR=192.168.137.242 NETMASK=255.255.255.0 GATEWAY=192.168.137.1 DNS1=192.168.137.1 -
配置 ens33(OpenStack 网卡):
bash
运行
vi /etc/sysconfig/network-scripts/ifcfg-ens33ini
TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=20.0.0.20 NETMASK=255.255.255.0 -
重启网络服务:
bash
运行
systemctl restart network
4. 网络连通性测试
(1)物理机与虚拟机互通
在物理机中 ping controller 节点的 ens32 IP:
cmd
ping 192.168.137.241
能 ping 通则说明内网网卡配置正常,可使用 Xshell/SecureCRT 登录虚拟机。
(2)节点间互通
在 controller 节点 ping compute 节点的 ens32 和 ens33 IP:
bash
运行
ping 192.168.137.242
ping 20.0.0.20
双向 ping 通说明双节点网络配置完成。
五、OpenStack 部署前系统环境优化
1. 关闭防火墙与 SELinux
bash
运行
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2. 配置主机名解析
在两台节点的 /etc/hosts 文件中添加节点映射:
bash
运行
vi /etc/hosts
添加以下内容:
plaintext
192.168.137.241 controller
192.168.137.242 compute
20.0.0.10 controller
20.0.0.20 compute
3. 配置 YUM 源(可选,推荐阿里云源)
bash
运行
# 备份原有源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载阿里云 CentOS7 源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 安装 OpenStack 源(以 Queens 版本为例)
yum install -y centos-release-openstack-queens
yum clean all && yum makecache
4. 挂载额外的 20GB 硬盘(可选)
后续 OpenStack 的 Cinder 块存储组件会用到额外硬盘,可提前分区挂载:
bash
运行
# 查看新增硬盘(如 /dev/sdb、/dev/sdc)
fdisk -l
# 分区示例(以 /dev/sdb 为例)
fdisk /dev/sdb
# 依次输入:n → p → 1 → 回车 → 回车 → w
# 格式化分区
mkfs.xfs /dev/sdb1
# 临时挂载
mkdir /var/lib/cinder
mount /dev/sdb1 /var/lib/cinder
# 永久挂载(写入 /etc/fstab)
echo "/dev/sdb1 /var/lib/cinder xfs defaults 0 0" >> /etc/fstab
六、实验常见问题与避坑指南
1. 网卡无法 ping 通物理机
- 检查 VMware 的 VMnet8 网段是否与配置的
192.168.137.0/24一致。 - 确认网卡配置文件中
ONBOOT=yes,且重启了网络服务。 - 关闭物理机的防火墙,避免拦截虚拟机 ICMP 请求。
2. 双网卡路由冲突
- ens33 网卡不要配置网关,否则会导致默认路由被覆盖,无法访问外网。
- 可通过
ip route命令查看路由表,确保默认路由指向 ens32 网卡的网关192.168.137.1。
3. 虚拟机内存不足
- 物理机内存至少预留 8GB 以上,两台虚拟机各分配 4GB,避免运行时卡顿。
- 若物理机内存不足,可临时调整为 3GB / 台,不影响基础环境搭建。
七、后续 OpenStack 组件安装规划
本次实验完成了 OpenStack 双节点的基础环境部署,后续可按以下顺序安装核心组件:
- 基础服务:MariaDB、RabbitMQ、Memcached
- 身份服务 Keystone:用户、租户、角色管理
- 镜像服务 Glance:虚拟机镜像存储与管理
- 计算服务 Nova:虚拟机生命周期管理
- 网络服务 Neutron:虚拟网络管理
- 块存储服务 Cinder:虚拟机块设备管理
- 面板服务 Horizon:Web 管理界面
八、总结
本次实验我们完成了 OpenStack 私有云平台的基础环境部署,包括双节点虚拟机创建、双网卡与多硬盘配置、IP 规划与网络连通性测试,以及 OpenStack 部署前的系统环境优化。
这一步是 OpenStack 部署的基石,稳定的网络环境和干净的系统配置,能避免后续组件安装中 80% 的问题。接下来就可以按照 OpenStack 官方文档,逐步安装各个核心组件,搭建完整的私有云平台了。
如果你需要,我可以帮你整理一份OpenStack 双节点完整安装命令清单,从 Keystone 到 Horizon 一步到位,让你直接照着执行就能完成部署。
更多推荐
所有评论(0)