1. 环境准备:从零搭建实验平台

在Windows系统上构建OpenStack私有云实验环境,就像在自家后院搭建一个小型数据中心。我去年第一次尝试时,花了整整三天时间踩坑,现在把最稳妥的配置方案分享给你。这套方案在我的联想小新Pro13(i5-1135G7/16GB内存/512GB SSD)上实测流畅运行,建议你的电脑至少满足:

  • CPU:支持虚拟化的Intel VT-x/AMD-V技术(任务管理器-性能选项卡可查看)
  • 内存:16GB起步(控制器节点8GB+计算节点4GB+宿主机预留)
  • 存储:SSD剩余空间100GB以上(系统盘+镜像存储)

注意:VMware Workstation Pro 17对Windows 11的兼容性最好,如果遇到蓝屏问题,建议关闭Windows Defender的"内存完整性"功能

安装VMware时有个隐藏技巧:勾选"增强型键盘驱动程序"能显著提升虚拟机键盘响应速度。我习惯把安装路径改为D:\VMware,避免C盘空间被大量占用。安装完成后,务必在"编辑-首选项"中把"工作区"和"虚拟机"默认路径都改到非系统盘。

2. CentOS7虚拟机部署实战

2.1 镜像获取的三种姿势

官方镜像下载慢得像蜗牛?试试这些方法:

  1. 阿里云镜像站https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/下载CentOS-7-x86_64-DVD-2009.iso
  2. 清华大学镜像源:替换URL中的aliyuntuna.tsinghua.edu.cn速度更快
  3. 离线传输:用手机4G网络下载后通过数据线传输(实测比办公室WiFi快3倍)

我最近发现个宝藏工具:Motrix下载器(开源免费),搭配镜像站链接能跑满带宽。下载完成后一定要校验SHA256,曾经我就因为镜像损坏导致安装失败:

certutil -hashfile CentOS-7-x86_64-DVD-2009.iso SHA256

2.2 虚拟机创建的关键参数

点击"新建虚拟机"时,这些设置决定后续成败:

  • 硬件兼容性:选择Workstation 16.x(兼容性最广)
  • 固件类型:BIOS(避免UEFI带来的grub引导问题)
  • 磁盘配置
    • 控制器节点:系统盘40GB(精简置备)+ 100GB块存储
    • 计算节点:系统盘40GB + 200GB额外存储
  • 网络适配器:两个都选"仅主机模式"(VMnet1和VMnet2)

内存分配有个经验公式:宿主机内存 - 4GB = 虚拟机可用内存。我的16GB笔记本会给controller分配6GB,compute分配4GB,剩下6GB给Windows系统。

3. 系统配置的魔鬼细节

3.1 网络配置的坑我帮你踩过了

安装完CentOS7后,第一件事就是配置双网卡。ens33通常对应第一个网卡,但有时会变成ens37这种随机命名。用这个命令查看实际网卡名称:

nmcli device status

修改网络配置时,这几个参数必须核对:

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.187.10  # controller节点
# 或
IPADDR=192.168.187.20  # compute节点
NETMASK=255.255.255.0
GATEWAY=192.168.187.1

血泪教训:VMnet1和VMnet2的子网地址要在VMware的"虚拟网络编辑器"中确认,如果显示192.168.10.0,那么虚拟机IP就要改成192.168.10.x段

3.2 系统优化四件套

  1. 关闭SELinux

    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    
  2. 防火墙策略

    systemctl stop firewalld
    systemctl disable firewalld
    
  3. 时间同步

    yum install chrony -y
    systemctl start chronyd
    systemctl enable chronyd
    
  4. Hosts文件(两台机器都要配置):

    192.168.187.10 controller
    192.168.187.20 compute
    

4. OpenStack部署全流程解析

4.1 基础服务搭建

先配置本地yum源(比在线安装快10倍):

mkdir -p /opt/{centos,iaas}
mount -o loop CentOS-7-x86_64-DVD-2009.iso /mnt/
cp -rvf /mnt/* /opt/centos/
umount /mnt

创建本地repo文件:

cat > /etc/yum.repos.d/local.repo <<EOF
[local]
name=local
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
EOF

4.2 核心组件安装

在controller节点执行:

iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh

遇到报错Error: Package: openstack-keystone-13.0.0-1.el7.noarch时,先执行:

yum install python-openstackclient -y

compute节点需要特别注意:

# 修改nova配置文件
vi /etc/nova/nova.conf
# 找到[neutron]部分添加:
url = http://controller:9696
auth_url = http://controller:35357

5. 运维实战技巧

5.1 常见故障排查

Dashboard无法访问

  1. 检查httpd服务状态:systemctl status httpd
  2. 查看防火墙规则:iptables -L -n
  3. 验证SELinux状态:getenforce

虚拟机启动失败

# 查看nova日志
tail -f /var/log/nova/nova-compute.log
# 检查libvirt状态
systemctl status libvirtd

5.2 性能优化方案

  1. QEMU加速

    yum install qemu-kvm-ev -y
    
  2. 内存气球技术: 在VMware虚拟机设置中启用"内存气球驱动程序"

  3. 磁盘IO优化

    echo "vm.dirty_ratio = 10" >> /etc/sysctl.conf
    echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.conf
    sysctl -p
    

这套环境我反复搭建过二十多次,最稳定的组合是:VMware 17.0.2 + CentOS 7.9 + OpenStack Train版本。记得在controller节点上定期执行nova-manage service list检查服务状态,compute节点容易出现XXX down的情况,通常重启对应服务即可恢复。

更多推荐