在虚拟机里安装Cloud平台,核心思路就是先准备好虚拟化环境,再按官方镜像或脚本走,重点在于网络模式和存储配置,稍有不慎就会遇到IP不通或磁盘扩容的坑。
安装前需要想清楚的三个问题
很多人一上来就下载镜像开装,结果装到一半发现网卡起不来,或者磁盘分区不对,其实在动手之前,先花十分钟确认三件事,能省下后面大半天的排查时间。
选哪种虚拟化平台更省心
虚拟机安装Cloud平台,主流选择是VMware vSphere、Proxmox VE和VirtualBox,如果你只是想在本机测试,VirtualBox完全够用,但生产环境建议走前两者,业内专家指出,vSphere在资源调度和高可用方面更成熟,但Proxmox VE因为开源且支持嵌套虚拟化,近年来越来越多中小团队拿来跑轻量级云平台。
硬件资源给多少才合适
Cloud平台本身并不算重,但它的底层要跑容器编排和存储服务,建议至少分给虚拟机4核CPU、8GB内存、100GB磁盘,如果你的宿主机器只有16GB内存,那就别硬开太多服务,否则会把宿主机拖垮。
网络模式怎么选
这是最容易踩坑的地方,虚拟机装Cloud平台,通常需要桥接模式而不是NAT,因为NAT模式下,外部设备无法直接访问你创建的云主机,桥接模式下,虚拟机直接获取和宿主机同一网段的IP,这样你从浏览器访问Cloud平台的Web控制台时,才能顺畅打开。
从零到一的安装实操步骤
这里以常见的OpenStack和CloudStack为例,因为它们的部署思路最典型,无论你选哪个发行版,下面的步骤都通用。
第一步:准备虚拟机基础环境
在VMware里新建虚拟机时,操作系统类型选Linux 7.x 64位,固件类型选BIOS别选UEFI,因为部分Cloud平台的引导程序对UEFI兼容性一般,磁盘类型选SCSI,网络适配器选VMXNET3,它能提供更好的吞吐性能。
装好操作系统后,先做两件小事:
- 关闭防火墙和SELinux:
systemctl stop firewalld && systemctl disable firewalld,再改/etc/selinux/config把SELinux设为disabled。 - 配置好静态IP,确保虚拟机重启后IP不变。
第二步:安装Cloud平台初始化脚本
以CloudStack为例,官网提供了集成安装脚本,在终端里执行:
wget -O /etc/yum.repos.d/cloudstack.repo 加上官方源地址,然后安装cloudstack-management包。
如果是OpenStack,推荐用PackStack或者Kolla-Ansible,前者一条命令就能拉起All-in-One环境,适合学习,后者用Docker容器化部署,适合生产。用Kolla-Ansible时,记得先把Python环境升级到3.9以上,否则会有兼容性报错。
第三步:配置数据库和存储
Cloud平台需要一个数据库来存资源状态,以CloudStack为例,要创建cloud和cloud_usage两个库,并授权给专门账号,执行完初始化脚本后,会生成一个create_database.sql,用类似这样命令导入:
mysql -u root -p < create_database.sql
存储方面,初级环境可以用本地存储,但如果你想给云主机挂载数据盘,建议提前规划一个NFS共享目录,或者用Ceph。NFS路径千万记得授权给cloud用户可写,否则后面创建存储池的时候一直报权限错误。
第四步:启动服务并登录Web界面
启动cloudstack-management服务后,等两分钟让服务完全起来,然后在浏览器里输入:
http://你的虚拟机IP:8080/client
第一次登录会要求你设置管理员密码,之后就是填写系统VM的ISO镜像地址,这里建议直接用官网的systemvmtemplate链接,别自己编。
安装时最常见的四个坑和解决办法
坑一:系统VM起不来
Cloud平台会有几个系统虚拟机专门负责网络和存储功能,如果你发现控制台显示System VM一直处于Stopped状态,多半是系统VM的模板格式识别有问题,在VMware里,需要开启CPU的嵌套虚拟化功能,也就是在虚拟机设置中勾选“虚拟化Intel VT-x/EPT”,否则系统VM无法运行。
坑二:创建云主机后无法SSH
创建出来的云主机只有内网IP,你需要给Cloud平台配置弹性IP或NAT规则,具体操作路径是:在控制台“网络”页面里,找到你的VPC网络,添加一个“源NAT”或“静态NAT”规则,并绑定一个公网IP池,这样才能从外部SSH进去。
坑三:磁盘扩容后不生效
很多人在存储池里加了一块新磁盘,但云主机那边看不到,原因是Cloud平台不会自动刷新存储容量,你需要手动登到计算节点,执行xvdf等块设备的扫描命令,或者在控制台的“存储”页面里点击“刷新容量”,行业共识认为,这个操作在多数版本中都会引起短暂延迟,等一两分钟是正常的。
坑四:虚拟机迁移后IP冲突
当你在vCenter里对Cloud平台虚拟机做了迁移,可能会遇到MAC地址变化导致的IP冲突,解决办法是,在虚拟机配置里手动指定MAC地址的固定值,并在Cloud平台数据库里将对应物理网卡的MAC更新为相同值,如果你不想折腾数据库,就干脆在创建虚拟机时直接绑定静态MAC。
用虚拟机跑Cloud平台和物理机有什么区别
这个问题经常有人在问,尤其是在比较虚拟机安装和裸机安装的稳定性时,主要差别体现在三点:
- 性能损耗:虚拟机环境会损失5%-10%的I/O性能,如果跑高吞吐的存储服务,差距会更明显,但普通测试环境感知不强。
- 灵活性:虚拟机快照功能让你在做升级前可以一键回滚,这是物理机很难做到的,我记得有一次改网络配置把系统搞崩了,直接回滚快照五分钟解决。
- 嵌套虚拟化:如果你要在云平台上再创建云主机,虚拟机的硬件必须支持嵌套虚拟化,不是所有服务器默认都开这个,安装前需要检查CPU核数和FLAGS里有没有
vmx或svm标识。
如何校验安装是否成功
装完以后,别急着把环境扔掉,做两个小验证能帮你判断整体是否健康。
第一个是检查各个服务进程是否在跑,执行ps -ef | grep cloud,应该能看到管理进程、agent进程和若干Java子进程,如果只有管理进程没有agent,说明计算节点没注册成功。
第二个是创建一台测试云主机,用最小的系统镜像跑起来,然后从外部访问它的Web页面,如果能正常打开,就说明网络、存储和计算链路都通了。
安装成本和时间大概是多少
如果你只用一台虚拟机搭建单节点环境,从下载镜像到能创建第一台云主机,通常需要2到3个小时,主要时间消耗在下载依赖包和初始化系统模板上,如果机器配置差一点,比如只有2核4GB,时间还会翻倍。
如果是给公司做内部测试平台,建议一次性准备三台虚拟机,分别跑控制节点、计算节点和存储节点,这样更接近生产架构,费用方面,云厂商的按量付费虚拟机每小时大约在几块钱到十几块钱不等,地域不同价格差异也比较大,深圳、上海这些核心区域的资源通常比中西部地区贵一些。
常见疑问解答
虚拟机安装Cloud平台需要多大流量带宽
看你的用途,如果是个人测试,1Mbps公网带宽都够用,因为主要流量发生在虚拟机内部,如果要对外提供云主机服务,建议至少1Gbps内网带宽,公网按需购买弹性带宽,瓶颈通常不在云平台本身,而是底下宿主机的网卡处理能力。
Windows电脑上安装Cloud平台可行吗
可行,但一般不推荐直接用Windows当宿主,多数Cloud平台的管理服务是基于Linux的,你可以在Windows上装VMware Workstation,再在里面跑一台Ubuntu虚拟机,后续部署流程和Linux宿主机完全一致,但要注意Windows宿主的文件共享和防火墙规则偶尔会干扰SSH连接,建议把Windows防火墙关闭或按IP白名单放行。
安装前要不要先装Docker
看Cloud平台类型,像KubeSphere或Rancher这类基于K8s的云平台,Docker或容器运行时是前置依赖,而OpenStack和CloudStack则完全不需要Docker,它们用自己的虚拟化驱动,所以在下载安装包之前,先弄清楚你要装的Cloud平台是基于容器编排还是基于传统虚拟化,两种形态的依赖完全不同,国内不少用户习惯先装一整套Docker环境再部署,结果反而被端口冲突折腾半天。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/925140.html


评论列表(3条)
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是平台部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于平台的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是平台部分,给了我很多新的思路。感谢分享这么好的内容!