目录

一、实验背景与目标

二、实验环境与参数规划

1. 硬件与软件环境

2. 节点参数规划

三、VMware 虚拟机创建与配置

1. 创建 CentOS7 虚拟机(通用步骤)

2. 关键硬件配置(双网卡 + 多硬盘)

(1)添加第二块网卡 ens33

(2)添加两块 20GB 硬盘

四、CentOS7 系统安装与初始化配置

1. 系统安装

2. 修改主机名

controller 节点

compute 节点

3. 配置网卡 IP 地址

(1)controller 节点配置

(2)compute 节点配置

4. 网络连通性测试

(1)物理机与虚拟机互通

(2)节点间互通

五、OpenStack 部署前系统环境优化

1. 关闭防火墙与 SELinux

2. 配置主机名解析

3. 配置 YUM 源(可选,推荐阿里云源)

4. 挂载额外的 20GB 硬盘(可选)

六、实验常见问题与避坑指南

1. 网卡无法 ping 通物理机

2. 双网卡路由冲突

3. 虚拟机内存不足

七、后续 OpenStack 组件安装规划

八、总结


一、实验背景与目标

在云计算学习中,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(控制节点)controllerIP: 192.168.137.241/24网关: 192.168.137.1/24DNS: 192.168.137.1IP: 20.0.0.10/2440GB + 20GB + 20GB4GB / 2 核
compute(计算节点)computeIP: 192.168.137.242/24网关: 192.168.137.1/24DNS: 192.168.137.1IP: 20.0.0.20/2440GB + 20GB + 20GB4GB / 2 核

关键说明:

  • ens32 网卡连接物理机的 VMnet8(NAT 模式),用于 SSH 登录和物理机互通,网段需与 VMnet8 一致(默认 192.168.137.0/24)。
  • ens33 网卡用于 OpenStack 组件间通信,后续安装 OpenStack 时使用,无需配置网关和 DNS。

三、VMware 虚拟机创建与配置

1. 创建 CentOS7 虚拟机(通用步骤)

  1. 打开 VMware Workstation Pro,点击「创建新的虚拟机」,选择「典型(推荐)」模式。
  2. 选择「稍后安装操作系统」,系统类型选择 Linux → CentOS 7 64位
  3. 自定义虚拟机名称,分别命名为 controllercompute,并设置虚拟机存储位置。
  4. 配置硬件参数:
    • 处理器:2 核
    • 内存:4GB
    • 硬盘:首次创建时添加一块 40GB 硬盘,后续再添加两块 20GB 硬盘。
  5. 完成基础创建后,进入「编辑虚拟机设置」,进行硬件补充配置。

2. 关键硬件配置(双网卡 + 多硬盘)

(1)添加第二块网卡 ens33
  1. 在虚拟机设置中,点击「添加 → 网络适配器」。
  2. 第一块网卡(ens32)设置为 NAT 模式(VMnet8),用于物理机互通。
  3. 第二块网卡(ens33)设置为 仅主机模式(VMnet1)自定义(VMnet2),确保两块网卡网段隔离,用于 OpenStack 内部通信。
(2)添加两块 20GB 硬盘
  1. 点击「添加 → 硬盘 → SCSI → 创建新虚拟磁盘」。
  2. 磁盘大小设置为 20GB,选择「将虚拟磁盘存储为单个文件」,重复操作添加第二块 20GB 硬盘。
  3. 最终虚拟机硬件配置应包含:2 块网卡 + 3 块硬盘(40GB + 20GB + 20GB)。

四、CentOS7 系统安装与初始化配置

1. 系统安装

  1. 启动虚拟机,加载 CentOS7 镜像文件,进入安装界面。
  2. 语言选择「中文(简体)」,设置时区为「上海」。
  3. 磁盘分区:选择「自动分区」即可,后续可手动对额外的 20GB 硬盘进行分区挂载。
  4. 网络配置:安装界面中可先不配置 IP,安装完成后再手动修改网卡配置文件。
  5. 设置 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-ens32
    

    ini

    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-ens33
    

    ini

    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 双节点的基础环境部署,后续可按以下顺序安装核心组件:

  1. 基础服务:MariaDB、RabbitMQ、Memcached
  2. 身份服务 Keystone:用户、租户、角色管理
  3. 镜像服务 Glance:虚拟机镜像存储与管理
  4. 计算服务 Nova:虚拟机生命周期管理
  5. 网络服务 Neutron:虚拟网络管理
  6. 块存储服务 Cinder:虚拟机块设备管理
  7. 面板服务 Horizon:Web 管理界面

八、总结

本次实验我们完成了 OpenStack 私有云平台的基础环境部署,包括双节点虚拟机创建、双网卡与多硬盘配置、IP 规划与网络连通性测试,以及 OpenStack 部署前的系统环境优化。

这一步是 OpenStack 部署的基石,稳定的网络环境和干净的系统配置,能避免后续组件安装中 80% 的问题。接下来就可以按照 OpenStack 官方文档,逐步安装各个核心组件,搭建完整的私有云平台了。

如果你需要,我可以帮你整理一份OpenStack 双节点完整安装命令清单,从 Keystone 到 Horizon 一步到位,让你直接照着执行就能完成部署。

更多推荐