Windows宿主机实战:基于VMware与CentOS7构建OpenStack私有云实验环境
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 镜像获取的三种姿势
官方镜像下载慢得像蜗牛?试试这些方法:
- 阿里云镜像站:
https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/下载CentOS-7-x86_64-DVD-2009.iso - 清华大学镜像源:替换URL中的
aliyun为tuna.tsinghua.edu.cn速度更快 - 离线传输:用手机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 系统优化四件套
-
关闭SELinux:
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config -
防火墙策略:
systemctl stop firewalld systemctl disable firewalld -
时间同步:
yum install chrony -y systemctl start chronyd systemctl enable chronyd -
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无法访问:
- 检查
httpd服务状态:systemctl status httpd - 查看防火墙规则:
iptables -L -n - 验证SELinux状态:
getenforce
虚拟机启动失败:
# 查看nova日志
tail -f /var/log/nova/nova-compute.log
# 检查libvirt状态
systemctl status libvirtd
5.2 性能优化方案
-
QEMU加速:
yum install qemu-kvm-ev -y -
内存气球技术: 在VMware虚拟机设置中启用"内存气球驱动程序"
-
磁盘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的情况,通常重启对应服务即可恢复。
更多推荐
所有评论(0)