ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

VMware下CentOS虚拟机搭建指南:版本选型、网络与磁盘扩容

VMware下CentOS虚拟机搭建指南:版本选型、网络与磁盘扩容 1. 动手之前先把版本和镜像定下来最近在帮几个朋友和环境搭 CentOS 虚拟机发现大部分人卡住的地方其实不在安装本身而是前面“选哪个版本、下哪个镜像、配多少资源”这些看起来不起眼的环节。等你把这些理顺了后面的每一步基本都是下一步、下一步的节奏。这篇就把我用 VMware Workstation 创建 CentOS 虚拟机从零到能干活的全过程拆开讲包括版本选型、硬件分配、系统安装、VMware Tools、网络配置、磁盘扩容和常见坑照着走一遍基本不会出大问题。先说清楚这篇适合谁刚接触 Linux 想装个环境练手的学生、需要在 Windows 主机上跑 CentOS 做开发或测试的工程师、还有准备用 CentOS 当服务器系统但不敢直接上物理机的朋友。VMware 加 CentOS 的组合在学习和中小型项目里非常主流一是 VMware 的兼容性稳二是 CentOS 的生态老、资料多遇到问题基本都能搜到答案。1.1 VMware 版本怎么选目前个人电脑上用得最多的是 VMware Workstation Pro2024 年 5 月之后博通把个人用户许可证放开了非商业用途可以免费使用这对学习来说非常友好。新版本像 Workstation Pro 17 对 Windows 11、较新的 Linux 内核支持都不错安装界面也正常建议直接用新版。如果你手头是老的 16 或者 15不是不能用但遇到虚拟化平台冲突、内核兼容这类问题旧版本往往需要额外折腾搞不定的时候先升级版本往往就解决了。装的时候有一点要特别注意如果电脑上已经装过 VirtualBox建议先把 VirtualBox 卸载干净再装 VMware或者至少保证两者不同时运行虚拟机。两个虚拟化软件同时存在Hyper-V 相关的 Windows 功能又被你开过的话很容易触发后面会讲的“无法启用虚拟机平台”和启动蓝屏问题。这个坑我踩过不止一次后面专门说。1.2 CentOS 版本怎么定CentOS 的版本选择是另一个容易犹豫的点。CentOS 7.9 是经典生产版本生命周期到 2024 年 6 月结束但大量教程、老项目和软件包都基于它稳定、资料全新手学起来最舒服。CentOS Stream 更像滚动预览版介于 Fedora 和 RHEL 之间如果你想体验较新的内核和工具链可以选 Stream 9。对绝大多数人来说我建议先装 CentOS 7.9 x86_64等顺手了再考虑 Stream。别小看这个选择它直接关系到你后面用 yum 装软件顺不顺。7.9 用的是 yum默认仓库源如果失效要换镜像源网上搜 centos 7 yum 源替换操作很简单Stream 9 默认是 dnf虽然命令兼容但老教程里很多路径和包名对不上新手容易懵。所以学的时候选 7.9干活选什么版本看项目要求这是最省事的策略。1.3 ISO 下载与校验镜像建议从官方源或国内镜像站下载别在第三方站点随便下避免文件被改过。CentOS 7.9 的典型文件是 CentOS-7-x86_64-Minimal-2009.isoMini 版只有几百 MB没有图形界面适合服务器用途也适合把基础打牢想要图形界面的下 DVD 版体积大不少安装时软件包更全。下载之后强烈建议做一次 SHA256 校验。我用 PowerShell 里执行 Get-FileHash 命令把算出来的哈希值和官网公布的值比对一致才继续用。这一步很多人跳过但镜像文件在传输过程中损坏是真实存在的一旦坏了安装时会出现各种诡异报错排查半天最后发现是镜像问题非常浪费时间。2. 新建虚拟机硬件参数是关键打开 VMware Workstation新建虚拟机的入口在“文件”菜单下的“新建虚拟机”或者主页上的“创建新的虚拟机”。这一步看似简单但硬件参数的分配直接决定虚拟机用起来顺不顺。2.1 CPU、内存、磁盘怎么分配先说 CPU。别盲目给多核虚拟机的 vCPU 数量建议不超过物理机逻辑核心数的一半否则调度开销反而变大。比如物理机是 8 核 16 线程给虚拟机 2 到 4 核就够了CentOS 跑编译、跑数据库测试4 核已经比较舒服。内存方面CentOS 7 最小化安装 1 GB 能跑但真要干活建议 2 GB 起步4 GB 是舒服线。如果同时开多个虚拟机要把总量控制在物理内存减去主机系统占用之后的剩余量不然主机开始疯狂换页整个机器都会卡。磁盘分配也是个常见纠结点。默认虚拟磁盘是一块文件随着使用增长。创建时我一般直接给 40 GB 到 60 GB不要给 20 GB 然后等以后扩容虽然可以扩但折腾分区总归麻烦。40 GB 足够装系统加一堆软件跑完整个学习周期都不慌。虚拟磁盘类型选默认的 SCSI 就行性能好兼容性也没问题UEFI 和 BIOS 选择上CentOS 7.9 装的时候建议用 BIOS 引导省得 Secure Boot 相关的幺蛾子CentOS Stream 9 用 UEFI 也没事看系统要求。2.2 向导式创建还是自定义创建VMware 新建向导有两种路径典型推荐和自定义。典型安装省事但它会自动套用一堆默认值磁盘大小、硬件兼容性版本、虚拟机名称它都替你定了。我建议选“自定义”模式虽然多点几步但每一步都在你掌控里。自定义创建里值得关注的几个选项固件类型按上面说的选处理器配置里的“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”默认勾上这个在虚拟机里再装虚拟机嵌套虚拟化时会用到网络类型选 NAT这是默认推荐I/O 控制器和磁盘类型保持默认。把这几项确定好比装到一半再回头改省太多事。2.3 挂载 ISO 与引导顺序虚拟机创建完之后在“CD/DVD”设置里把下载好的 ISO 挂上去记得勾选“启动时连接”。引导顺序不用特别改默认会先找 CD-ROM 再找硬盘只要光驱里挂的是可引导的安装镜像开机就能进安装界面。这里有个新手常犯的错误装完系统后忘记卸载 ISO导致下次开机又进安装界面或者在系统里看到异常的分区。我习惯在安装完成并且确认系统能正常启动之后就把光驱里的镜像断开连接或者改成“使用物理驱动器”免得误触重新安装。这个小动作能避免很多后续困惑。3. 安装 CentOS 的完整实操虚拟机开机后进入安装引导界面CentOS 7 的 Install 选项直接回车就是从默认配置开始安装按 Esc 可以进安装选项设置。如果你看不懂那些内核参数直接回车就行真用得上高级参数的人不会看这篇。3.1 进入安装界面后的第一件事安装程序起来之后第一件事是检查左下角“安装源”是否识别到本地 ISO再检查“软件选择”的默认配置。这里很多人会忽略Minimal 版默认是最小安装只有基本的命令行工具连 man 手册都不完整。如果你不想装完连个文本编辑器都费劲可以在软件选择里勾选“开发工具”组它会带上 gcc、make、git 这些常用的开发工具对后面编译安装软件帮助很大。时区设置选 Asia/Shanghai确保系统时间和宿主机对得上。键盘布局默认是 English (US)如果你习惯中文输入法可以添加到输入源但装机阶段不急后面系统里再配也来得及。3.2 分区方案与网络配置安装目标位置点进去选“我要配置分区”新手可以直接用“自动创建分区”让系统自己分然后在左侧磁盘列表里确认选中的是虚拟机那块虚拟盘千万别把宿主机磁盘列出来还选上。为什么建议自动分区而不是手动对于学习用途系统自动生成的 /boot、swap、/ 足够合理手动划分 /home、/data 反而要心里有数给少了后面扩容更麻烦。网络配置这块安装界面里把以太网开关打开DHCP 自动获取 IP这样装完就能直接上网。如果你已经规划好要固定 IP也可以在这里手动填。我建议安装阶段用 DHCP装好后进入系统再改成静态 IP因为这时候你还能用复制粘贴命令的方式去配置比在安装界面里手敲稳妥。3.3 安装完成后的首次配置安装过程通常五到十分钟看磁盘速度和硬件配置。装好后重启用 root 登录root 密码在安装时设置。首次登录后我必做几件事第一检查 IP 通不通ping 一下网关和外网地址第二更新 yum 缓存CentOS 7 的默认源经常失效先备份 /etc/yum.repos.d/CentOS-Base.repo再从镜像站替换然后 yum clean all yum makecache第三用 hostnamectl 设置主机名。还有个容易被忽略的细节用 root 直接 ssh 登录虚拟机需要改 /etc/ssh/sshd_config 里的 PermitRootLogin 为 yes或者干脆创建一个普通用户并用 sudo。安全习惯上推荐建普通用户但学习和测试环境里用 root 图省事的人也不少自己取舍。4. VMware Tools装不好就白装了VMware Tools 是虚拟机的“驱动包”和“增强包”。没装它的虚拟机也能跑但你会遇到分辨率只能用 800x600、剪贴板不能和宿主机互贴、文件拖不进去、不能用共享文件夹、时钟同步不准这些问题。这些体验问题加起来会让人觉得虚拟机“很卡很别扭”其实大半都是 Tools 没装好的锅。4.1 open-vm-tools 和官方 Tools 的取舍在 CentOS 7 及以上我强烈推荐用发行版自带的 open-vm-tools而不是 VMware 菜单里的“安装 VMware Tools”。open-vm-tools 是 VMware Tools 的开源版本直接通过 yum 安装会随系统更新自动升级不用每次换内核都手动重装。三条命令搞定yum install -y open-vm-tools systemctl enable --now vmtoolsd systemctl status vmtoolsd传统方式需要从 VMware 菜单挂载虚拟光驱解压 VMwareTools-x.x.x.tar.gz然后运行 perl vmware-install.pl一路回车麻烦不说内核升级之后还容易失效。除非你的系统很老或者有特殊需求否则直接 open-vm-tools 是更省心的选择。装完后重启一次虚拟机分辨率就能跟着窗口自适应了剪贴板共享和拖拽功能也自动生效。4.2 剪贴板共享与拖拽文件失效排查“宿主机的内容复制不到虚拟机里”是高频问题很多人第一反应是重装 Tools其实大多数时候是先检查虚拟机设置里的“客户机隔离”选项。在 VM 设置里找到“选项 - 客户机隔离”确保“启用复制粘贴”和“启用拖放”都是勾选状态。然后再看 Tools 服务有没有跑起来。我实际排查过的一个案例是open-vm-tools 装好了复制粘贴还是不行后来发现是系统里同时装了桌面环境和精简组件剪贴板相关的 daemon 没启动。在 GNOME 环境里执行 systemctl restart vmware-tools.service再配合 reboot 虚拟机就恢复了。还有一个小技巧如果用 root 登录桌面环境剪贴板有时会抽风改成普通用户登录再试往往就好了。4.3 分辨率自适应与性能优化Tools 装好后VMware 窗口在“查看 - 自动调整大小”里选择“自动适应客户机”或“拉伸客户机”。如果是 Minimal 系统没有图形界面分辨率无所谓直接用 ssh 连进去操作更顺手。有桌面环境的把“自动适应客户机”打开窗口怎么拉分辨率就怎么变体验和宿主动态分辨率差不多。性能优化方面不建议在虚拟机设置里把“加速 3D 图形”开很高CentOS 主要跑的是服务端任务虚拟显卡加速对普通操作没什么收益还可能增加不稳定因素。内存尽量给够比调各种参数都有效毕竟 swap 的代价是数量级的性能差距。5. 网络模式与联网排查虚拟机网络是最容易让人头疼的一块因为 VMware 提供了三种模式很多人搞不清选哪个。其实核心就一句话NAT 是虚拟机共享宿主机的 IP 上网桥接是虚拟机跟宿主机处在同一个局域网里拥有独立 IP仅主机是只能跟宿主机互通的封闭网络。5.1 NAT、桥接、仅主机各用在哪NAT 适合大多数学习和开发场景。虚拟机通过宿主机访问外网宿主机断网虚拟机也断网虚拟机对外不暴露独立 IP。优点是省事、安全、不占局域网 IP 资源。桥接模式适合把虚拟机当真正的服务器用比如局域网内其他设备要直接访问虚拟机上的服务这时候需要手动配置静态 IP并保证和宿主机在同一网段。仅主机模式适合做隔离测试比如模拟一个断网环境验证离线安装流程。如果你只是自己装个系统练命令、跑服务NAT 就够了。如果你的目的是让手机或另一台电脑访问虚拟机里的网站那就用桥接。这个判断标准简单明确。5.2 静态 IP 配置实操NAT 模式下 DHCP 够用但 IP 会变ssh 连接要老改地址。想固定 IP先在 VMware“编辑 - 虚拟网络编辑器”里找到 VMnet8NAT 模式的网段默认一般是 192.168.x.0/24记住网关 IP通常 x.2。然后改虚拟机里的网卡配置vi /etc/sysconfig/network-scripts/ifcfg-ens33关键项改成BOOTPROTOstatic ONBOOTyes IPADDR192.168.x.100 NETMASK255.255.255.0 GATEWAY192.168.x.2 DNS18.8.8.8 DNS2114.114.114.114改完执行 systemctl restart network 让配置生效。这里有个坑CentOS 7 里网卡名是 ens33 这类CentOS 6 是 eth0别照搬别人的命令网卡名写错了。可以用 ip addr 看一下自己的网卡名再改。5.3 常见联网故障排查虚拟机上不了网时按顺序查先 ip addr 看网卡有没有 IP没有就用 dhclient 手动获取试试然后 ip route 看默认路由对不对网关能 ping 通说明宿主机网络层 OK再用 ping 试域名DNS 解析不了就先查 /etc/resolv.conf。火墙也要考虑CentOS 7 默认开了 firewalld如果宿主机访问不了虚拟机的服务记得放行端口firewall-cmd --permanent --add-port80/tcp firewall-cmd --reload另外提醒一个环境变量问题如果你用的是公司电脑宿主机本身有代理设置虚拟机的 yum 不走代理会超时。这时候要去 /etc/yum.conf 或系统代理设置里配置代理变量别一上来就怀疑网络配置。6. 磁盘扩容实战当初创建虚拟机时磁盘给小了这是很多人绕不过去的坎。好消息是 VMware 的虚拟磁盘可以动态扩大而且 CentOS 的 LVM 分区结构做在线扩容很方便。下面这套流程我实测过多次只要照着做基本不会丢数据。6.1 虚拟磁盘扩大的两种方式第一种简单粗暴直接改虚拟机设置里的硬盘大小。在 VM 设置里选中硬盘把磁盘大小从 40 GB 改到 60 GB点确定就行。这一步是在虚拟层面对磁盘扩容系统里的分区还没变但虚拟机能看到整个更大的磁盘了。第二种是用第三方工具比如 GParted Live 启动虚拟机图形化调整分区。这种方式适合非 LVM 的旧结构操作直观但要多下载一个 ISO 并且重启进 Live 环境步骤繁琐一些。CentOS 7 默认就是 LVM所以优先用第一种加命令行的方式不需要额外工具。6.2 fdisk 分区扩容流程先把虚拟磁盘从 40 GB 扩到 60 GB然后进系统查看现有分区结构fdisk -l lsblk正常情况下你会看到 /dev/sda 已经是 60 GB但分区 /dev/sda2 还是原来的大小。这时用 fdisk /dev/sda执行 p 看分区表记下 sda2 的起始扇区然后执行 d 删除该分区注意是删分区而不是删数据数据还在再用 n 重建分区起始扇区保持原值结束位置用默认即磁盘末尾最后 w 写回。关键点在于重建分区时起始扇区必须和原来完全一致否则数据全废。有顾虑就先备份或执行 p 反复确认。6.3 扩容之后的检查分区扩展后让内核重新识别分区表最保险的办法是重启虚拟机。然后执行pvresize /dev/sda2 lvextend -l 100%FREE /dev/mapper/centos-root xfs_growfs /dev/mapper/centos-rootCentOS 7 默认根文件系统是 xfsxfs 只能在线扩大不能缩小所以上面这套流程对根分区扩容非常顺。执行完用 df -h 看一眼/ 的大小已经变成新容量。整个过程只要起始扇区没搞错数据是安全的但我仍然建议动手前对重要数据做个快照或备份尤其是第一次操作的时候。7. 常见问题与排查技巧速查最后把我在实际使用中遇到的典型问题整理成表方便你直接对照排查。这些问题的共同特点是报错信息看着吓人原因往往很简单。症状常见原因处理办法虚拟机开机蓝屏虚拟化平台冲突、Hyper-V 干扰Windows 里关闭 Hyper-V 和虚拟机监控程序相关功能重启后重试提示“无法启用虚拟机平台”BIOS 里虚拟化被关闭重启进 BIOS开启 Intel VT-x 或 AMD-V宿主机内容不能复制到虚拟机客户机隔离设置或 Tools 异常检查 VM 设置里“启用复制粘贴”重装 open-vm-tools 并重启安装系统时黑屏卡住镜像损坏或 UEFI/BIOS 不对校验 ISO尝试改用 BIOS 引导或换一个虚拟机兼容性版本虚拟机里 yum 超时宿主机代理影响在 yum.conf 里配置代理或临时关闭系统代理装完系统开机又进安装界面ISO 未卸载在 VM 设置里断开光驱连接重新启动7.1 虚拟机启动蓝屏这个在 Windows 宿主机上非常常见。很多人的机器开启了 Hyper-V 或内核隔离等 Windows 虚拟化功能VMware 和它们抢虚拟化层就蓝屏。解决办法是关闭 Hyper-V 功能运行里输入 optionalfeatures 打开 Windows 功能窗口取消勾选 Hyper-V同时在“设置 - 隐私和安全性 - Windows 安全中心 - 设备安全性”里关闭内核隔离。改完必须重启宿主机重启后 VMware 就能正常跑 CentOS 了。7.2 无法启用虚拟机平台和蓝屏问题经常一起出现。如果 Windows 提示“无法启用虚拟机平台”先检查 BIOS 里 CPU 虚拟化开关是否打开。AMD 平台叫 SVM ModeIntel 平台叫 VT-x不同品牌 BIOS 的菜单位置不一样但关键词基本类似。确认开启后如果还不行在 Windows 功能里确保“虚拟机平台”和“Windows 虚拟机监控程序平台”状态正常或者干脆按上文禁用 Hyper-V 后重试。7.3 虚拟机里不能复制粘贴主机内容这个问题我基本每次都遇到。排查看 VM 设置里的客户机隔离再看 Tools 服务状态。open-vm-tools 装好后通常自动解决。极少数情况下还要检查虚拟机的桌面环境剪贴板服务和宿主机之间的交互限制。用普通用户而非 root 登录系统也是解决剪贴板抽风的常见办法。7.4 安装时黑屏或卡在引导换个镜像源重新下载 ISO 是最快的验证手段。如果镜像没问题试着手动在引导界面按一下 Esc输入 nomodeset 参数禁用内核显卡驱动这个参数对很多显卡兼容性问题有奇效。再不行就把虚拟机的硬件兼容性版本调低一个版本比如从 Workstation 17 改成 16.x有些老系统镜像对新硬件兼容层反而敏感。我个人实际操作下来的最大体会是VMware 创建 CentOS 虚拟机不算难但它是一个“链路式”的过程版本选型、硬件分配、网络模式、Tools 安装、资源扩容环环相扣任何一环没理顺都会影响后面的体验。与其出问题再搜单点解决方案不如在创建阶段就把该定的都定好。如果你第一次照着流程走最后发现哪几个环节和我的不一样大概率是你用了不同版本的系统或不同的网络环境先对照版本和配置项再回头查细节会比一个个试命令高效得多。
返回列表