news 2026/9/19 5:06:29

VMware 安装 CentOS 7 虚拟机:配置、网络、快照与排错完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VMware 安装 CentOS 7 虚拟机:配置、网络、快照与排错完整教程

CentOS 7 这个系统现在算得上是名副其实的"老将"了,但在我接触过的很多内网项目、教学实验环境以及老系统维护现场,它出现的频率依然不低。原因很实在:大量存量业务跑在上面,不少教材和认证实验是照着它设计的,一些第三方商业软件的部署文档也只针对 RHEL 7 / CentOS 7 这一代写。所以哪怕这个版本早就走完了常规维护周期,把"在 VMware 里干净地装出一台 CentOS 7"这件事练熟,仍然是不少运维、开发、测试岗位的刚需。顺便提一句,我自己第一次搜资料时把 CentOS 7 敲成了 CentIOS7,这种拼写错误在中文圈子里挺常见,两种写法搜出来的内容基本是同一批,不影响找到答案。

这篇内容我打算把整条链路从头走一遍:VMware 这边的准备工作、虚拟机参数怎么定、系统安装时的分区与网络配置、装完之后的收尾动作,最后把常见报错和排查思路整理成表。适合零基础想搭个 Linux 练手环境的朋友,也适合手上有老项目要复现、结果当年的笔记早就丢了的同行。全程按我自己的实际操作习惯讲,参数会给出推导过程,不搞"照着填个数字就行"那一套,方便你后面遇到不同配置时自己调整。

1. 动手之前先想清楚的事

1.1 现在还装 CentOS 7 的人都在干什么

先说说场景,因为这个决定了你后面要分配多少资源、要不要装图形界面。我见过最多的一类需求是复现老项目的运行环境:某套 Java 单体应用、某个早期版本的数据库、某些只提供 rpm 包的工具,在 CentOS 7 上跑起来最省心,硬要挪到新系统上反而要花大量时间去解决依赖冲突。第二类是学习与实验:Linux 命令、shell 脚本、Nginx、防火墙规则、用户与权限管理这些内容,在 CentOS 7 上有一大堆现成的教程可以对上,学习成本最低。第三类是内部验证环境:比如测试一个自动化脚本、验证一份配置文件、模拟两三台机器做集群试验,用虚拟机开几台比申请真机快得多。

这三类需求对系统的要求差别很大。第一类通常要命令行足够用、能联网装包就行,最小化安装完全够;第二类如果要做桌面相关的练习,得装带 GUI 的版本;第三类往往需要开好几台虚拟机,那单台的资源就必须压下来,否则宿主机扛不住。所以在创建虚拟机之前,先花两分钟想清楚"我要用它干什么",比事后加内存、扩磁盘要轻松太多。我个人的习惯是:先建一台"基础机"装好系统、配好网络、打好快照,之后所有实验都从这个基础机克隆,这样能省掉反复装机的时间。

1.2 为什么选虚拟机而不是装双系统

这是新手问得最多的问题。直接说结论:除非你要做与硬件强相关的事情,否则一律建议用虚拟机。理由有三个层面。

第一是成本与风险。虚拟机的本质是宿主机上的几个大文件,装崩了、改坏了、想重来,删掉重装就行,宿主机本身毫发无损。双系统就不一样了,分区表一旦动过,装系统时的引导配置出问题,可能导致本来能用的 Windows 也进不去,那种半夜对着黑屏敲引导修复命令的体验,经历过一次就不想有第二次。第二是快照能力。做过一次正确的快照,之后无论怎么折腾都能一键回到那个时间点,做实验的时候这个功能简直是救命稻草,我经常在装完某个服务之前打一个快照,装完发现有坑就直接回滚,不用一点点卸载。第三是并行与隔离。虚拟机可以和宿主机同时开着,复制粘贴、共享文件都方便,还能一次开好几台组网测试。

虚拟机的代价是性能有损耗,大概百分之几到十几个百分点不等,取决于配置。做编译、跑数据库这类吃 I/O 的活儿确实能感觉到差距,但对学习、测试、验证配置这些用途,这点损耗完全可以接受。真正需要接近物理机性能的时候,再考虑把服务挪到真机或者更专业的虚拟化平台上。

1.3 开工前的软硬件盘点

别急着点"下一步",先确认这几个条件,能避免后面一半以上的麻烦。

检查项要求不满足会怎样
CPU 虚拟化BIOS 中开启 Intel VT-x 或 AMD-V创建 64 位虚拟机时报错,或能创建但启动极慢
内存宿主机至少 8GB,推荐 16GB 以上开两台虚拟机就卡到无法操作
磁盘空间系统盘留 60GB 以上,最好有独立数据盘虚拟机文件写满系统盘,宿主系统整体变慢
Windows 功能关闭 Hyper-V、内核隔离下的内存完整性VMware 启动虚拟机报错或直接蓝屏
安装镜像CentOS 7 DVD ISO,约 4.5GB用 Minimal ISO 也行,但装完缺很多常用包
VMware 版本Workstation Pro 15 以上,推荐 17 系列老版本对新的宿主机系统兼容性差

最后一行稍微展开说。VMware Workstation 目前个人使用可以通过官方渠道获取授权,商用需要按官方政策采购,这一点在官网的说明里写得很清楚,按正规渠道走就行,别去折腾来路不明的安装包。至于安装包自身,从官方下载页面拿最稳妥,第三方站点打包的版本经常捆绑一些莫名其妙的东西,清理起来比重装还麻烦。另外要注意,近几年的版本已经按"Workstation Pro"命名,网上一些老教程里的界面截图和现在的版本对不上,看到"新建虚拟机""编辑虚拟机设置"这些词不用怀疑,功能是一脉相承的。

2. VMware 本体的安装与基础设置

2.1 安装过程中容易被忽略的三个选项

VMware 的安装流程本身很简单,一路下一步基本能过,但有几个选项值得停下来看一眼。第一个是安装路径,默认在 C 盘,如果 C 盘是固态并且空间紧张,建议换到空间更大的分区,因为这个目录后续还会放日志和部分临时文件。第二个是共享虚拟机的位置,这个目录用于存放"共享虚拟机"功能相关的文件,实际用得不多,但默认位置同样在用户目录下,空间不足时会出问题,一并改掉更省心。第三个是用户体验设置里的启动时检查更新,装完之后建议关掉,否则每次开机会弹一个更新提示,打断工作节奏。

安装完成后需要重启一次系统,这一步不要跳过。虚拟机依赖底层的驱动和网络组件,没重启就急着创建虚拟机,经常会遇到网络不通、设备列表异常这类现象,白白浪费时间排查。重启之后可以先打开软件看一眼,如果提示需要输入授权信息,按官方渠道获取的方式处理即可。

2.2 虚拟网络编辑器:先搞懂再动手

网络是新手最容易翻车的地方,这里必须先建立概念。打开"编辑"菜单里的"虚拟网络编辑器",你会看到 VMnet0、VMnet1、VMnet8 这几个虚拟网卡,它们分别对应不同的网络模式。

桥接模式(VMnet0):虚拟机直接接入宿主机所在的物理网络,会从路由器拿到一个和宿主机同网段的 IP。好处是局域网内其他设备能直接访问这台虚拟机,适合模拟"这台服务器就在机房里"的场景。代价是占用一个真实的 IP 地址,而且宿主机如果有多个网卡(有线、无线、虚拟网卡一大堆),桥接到哪一块需要手动指定,指定错了就会出现"能 ping 通网关但上不了网"的怪现象。

NAT 模式(VMnet8):虚拟机躲在一个虚拟路由器后面,由 VMware 提供地址转换,默认网段通常是 192.168.x.0/24,网关通常是该网段的 .2 地址。虚拟机可以正常上网,宿主机也能访问虚拟机,但局域网里的其他机器访问不到这台虚拟机,除非额外做端口映射。这个模式最省事,也是我默认推荐给新手的模式,因为不需要动任何物理网络设置,装完就能上网。

仅主机模式(VMnet1):只能和宿主机通信,上不了外网。适合做纯隔离的测试,比如验证防火墙规则、模拟断网环境。日常用得不多,但需要的时候很好用。

我的建议是:默认用 NAT,需要给局域网其他机器访问时再切桥接。切换的方式很简单,虚拟机关机状态下在"虚拟机设置 - 网络适配器"里改就行,但要注意切换网络模式之后,虚拟机里网卡的 IP 会变,如果之前配了静态 IP,记得同步改过来,否则会出现"配置看起来都对但就是不通"的情况,这个坑我踩过不止一次。

2.3 首选项里的几处实用调整

"编辑 - 首选项"这个面板很多人装完就没打开过,其实里面有几项很值得调。内存页里可以设置"为所有虚拟机保留的内存",如果你的宿主机内存比较紧张,不勾选"预留全部客户机内存"能让宿主机更灵活地调度;但如果虚拟机经常在跑重要任务,勾上可以避免宿主机内存吃紧时把虚拟机内存换到磁盘上导致卡顿。优先级页可以给虚拟机进程设置较高的 CPU 优先级,编译大项目时能感觉到差别。

还有一处是虚拟磁盘的默认存储位置。建议在安装完 ISO 之后就去"编辑 - 首选项 - 工作区"或者创建虚拟机时单独指定,把虚拟机文件统一放到一个专门目录,比如D:\VMs或者 Linux 下的/data/vms。放在默认的"文档"目录下有几个坏处:路径里有中文和空格,后续用命令行操作虚拟机文件时很别扭;备份的时候容易漏掉;系统盘爆满时最先遭殃的就是它。

3. 创建虚拟机的参数怎么定

3.1 典型配置还是自定义配置

新建虚拟机向导第一步会让你选"典型"或"自定义"。很多教程直接让你选"典型",因为步骤少。但我的建议是选自定义,原因是典型模式会自动决定磁盘类型、网络模式、控制器类型这些参数,而这些恰恰是后面出问题的高发点。自定义模式多花两三分钟,但每一步你都知道自己选了什么,出问题时排查范围小得多。

具体来说,自定义模式下你会经过这些关键选择:硬件兼容性(选和你 VMware 版本匹配的即可,不需要为了兼容老版本刻意降级)、安装来源(选"稍后安装操作系统",这样不会触发简易安装流程)、客户机操作系统类型(选 Linux,版本选 CentOS 7 64 位)、虚拟机名称与位置、固件类型(BIOS 或 UEFI,CentOS 7 两者都支持,选 BIOS 最省事)、处理器数量、内存大小、网络类型、I/O 控制器类型、磁盘类型、磁盘容量与存储方式。

3.2 CPU 与内存的取舍逻辑

这里给出一个基于实际使用感受的对照表,你可以按用途直接对号入座。

用途vCPU内存磁盘说明
命令行练习、Shell 脚本11GB20GB最小化安装,能跑但略紧
日常学习、跑 Nginx/MySQL22GB30GB大多数教程的舒适配置
带桌面环境、要看浏览器24GB40GB图形界面本身就吃掉 1GB 以上
跑 Elasticsearch 等吃内存组件48GB 起60GB这类组件对内存极敏感
模拟多机集群(单台)11GB20GB开 3 台以上记得先算总量

关于处理器数量,有个细节值得说:VMware 里"处理器数量"和"每个处理器的核心数量"相乘才是总核心数。比如 1 个处理器 × 2 核,和 2 个处理器 × 1 核,总数都是 2,但对某些软件的授权计算方式有影响。对于 CentOS 7 来说,两种填法的实际性能差别很小,随便选一种即可。真正需要注意的是不要超过宿主机物理核心数,否则多个虚拟机互相抢 CPU,整体反而更慢。

内存的分配原则也很朴素:所有虚拟机内存之和不要超过宿主机物理内存的七成左右,剩下的留给宿主系统。比如宿主机 16GB,那同时开 2 台各 2GB 的虚拟机毫无压力,开 4 台 8GB 的就等着系统疯狂使用交换分区吧,那体验比什么都难受。

3.3 磁盘:容量、类型和存储方式

磁盘容量按上表选,但建议比表格里的数字再宽裕 20%。原因是 CentOS 7 装完之后,日志、缓存、后续安装的软件包会持续占空间,一开始卡着 20GB 建,没多久就要面对"无法安装,磁盘空间不足"的提示。虚拟磁盘有个好处是可以随时扩容,但扩容之后还要在系统里扩展分区和文件系统,LVM 的管理操作对新手来说不算友好,不如一开始就给够。而且虚拟磁盘实际占用的是"用多少占多少",给 60GB 不等于立刻吃掉 60GB,所以没必要省这点。

磁盘类型选 SCSI 就好,这是默认值,性能也合适。存储方式有两个选项:拆分成多个文件存储为单个文件。前者把一个虚拟磁盘切成 2GB 左右的小文件,便于跨文件系统拷贝和移动;后者是一个大文件,拷贝到移动硬盘时更省事。两者性能差别在现代硬盘上可以忽略。我的习惯是本地长期使用选单个文件,需要频繁往移动硬盘搬就选拆分

还有一个容易被忽略的选项是"将虚拟磁盘存储为单个文件"旁边的"立即分配所有磁盘空间"。除非你对磁盘性能有极端要求,否则不要勾选,因为勾了之后会立刻把 60GB 全部吃掉,而虚拟机实际可能只用 5GB。不勾选的话就是按需增长,代价是随着使用磁盘文件会越来越大,且可能出现碎片,但对大多数用途完全无所谓。

3.4 装好硬件之后的必要调整

向导走完之后先别急着开机,进"编辑虚拟机设置"再看一眼。第一步是确认 ISO 已经挂载到 CD/DVD 设备,并且勾选了"启动时连接",否则开机就是一行"Operating System not found"。第二步是移除用不上的设备,比如声卡、打印机、USB 控制器中的部分项。这些东西平时不用,留着反而可能在某些系统上触发驱动相关的告警,也让虚拟机的配置文件更臃肿。第三步是确认网络适配器的模式和前面规划的一致

如果 CPU 是较新的型号,可以在"处理器"里看一下"虚拟化引擎"下的两个选项:虚拟化 Intel VT-x/EPT 或 AMD-V/RVI。这两个选项用于在虚拟机里再跑虚拟机(嵌套虚拟化)。如果你只是装个 CentOS 7 做普通实验,不需要勾选,勾了反而可能因为宿主机 Hyper-V 冲突导致启动失败。

4. CentOS 7 安装过程的完整记录

4.1 引导菜单与介质检查

开机之后会看到黑色的引导界面,列出了三个选项:直接安装、测试介质并安装、以及故障排查。直接选第一项安装就行。如果你下载 ISO 的时候网络不太稳定,建议跑一次介质检查,避免装到一半报"无法读取软件包",那种情况只能从头再来。检查大概需要一两分钟,比起中途失败重装要划算。

接下来会出现语言选择界面,选"中文(简体)"或者英文都行,这只是安装界面的语言,对系统本身没有影响。我一般选英文,因为很多报错信息是英文的,界面语言和报错语言一致时,搜索关键词更精准。

4.2 安装信息摘要:六个必须处理的项目

进入安装主界面后,会看到一个"安装信息摘要"页面,上面有一堆带感叹号的条目。这些感叹号的意思是"你还没做选择"。下面按重要顺序说。

第一是软件选择。点进去,默认可能是"最小安装"。这个选项装出来的系统没有任何图形界面,只有命令行,占用最小、速度最快,适合前面说的第一类和第三类场景。如果你要做桌面练习,选"GNOME 桌面"或者"开发及生成工作站"。这里有个经验:不要一上来就装图形界面,因为装完发现用不上,想清理掉那些桌面包非常麻烦,而反过来需要的时候再装,一条yum groupinstall命令就够了。

第二是安装位置。也就是分区。点进去默认是"自动配置分区",我强烈建议改成"我要配置分区",自己手工规划。原因不是自动分区不能用,而是自动分区在这类小磁盘上的分配往往不太合你意,而且手工分区能让你对磁盘布局有清晰认识,后续扩容、挂载新盘时不容易懵。

第三是网络和主机名。这个环节最容易被跳过,导致装完系统发现没网,又要进系统改配置文件。建议在这里就把网卡打开,右上角的开关拨到"开",然后设置主机名,比如centos7-lab-01。主机名有命名规范的话最好遵守,别用默认的localhost.localdomain,后面对多台机器做区分时很有用。

第四是 KDUMP。这是内核崩溃转储功能,会预留一部分内存。作为实验环境用处不大,建议关掉,能省下一两百 MB 内存。

第五是安全策略。默认的安全策略配置可能会给一些服务带来额外的限制,实验环境里我一般不启用,等真正需要时再单独配置。

第六是 ROOT 密码和创建用户。这里有个细节:如果你设置的 root 密码太简单,安装程序会让你点两次"完成"来确认,这不是报错,是提示强度不足。实验环境里可以用简单密码,但如果这台机器有任何对外暴露的可能,务必换成复杂密码。同时建议创建一个普通用户并勾选"将此用户设为管理员",日常操作尽量用普通用户加sudo,这是个应该从第一天就养成的好习惯。

4.3 手工分区的具体数值

这是全文最值得抄作业的部分。以 30GB 磁盘、2GB 内存为例:

  • /boot:标准分区,ext4,1GB。放内核和引导文件,不需要大,但给 200MB 是历史遗留的坏习惯,现在内核文件越来越大,1GB 稳妥。
  • swap:2GB。经验法则是内存的 1 到 2 倍,但当内存超过 8GB 之后,swap 给 4GB 到 8GB 就够了,给太多纯属浪费磁盘。这里内存 2GB,给 2GB 合理。
  • /:剩余空间,LVM 逻辑卷,xfs 文件系统。LVM 的好处是后续可以比较方便地扩容,而且创建快照、迁移都更灵活。xfs 是 CentOS 7 的默认文件系统,性能不错,缺点是只能扩不能缩,所以分区时宁可给大不给小。

如果你对各类服务的日志量有概念,还可以细分:/var单独给 10GB(日志、数据库数据默认在这里),/home单独给一部分(用户数据),/usr单独给一部分(安装的软件)。这样某个目录被写满时不会影响整个系统。但对练手环境来说,/boot+swap+/三件套足够了,先跑起来比什么都重要。

注意:分区时不要把整个磁盘都给/boot,也不要忘记创建 swap。前者会导致系统装不进去,后者在内存吃紧时会出现 OOM 把进程杀掉的现象。

4.4 开始安装与收尾

确认所有带感叹号的条目都处理完之后,右下角的"开始安装"按钮才会亮起。点击之后就进入复制文件的阶段,这个过程根据磁盘性能大概五到十五分钟。期间可以继续做前面提到的创建用户、设置密码等操作,不用干等着。

装完之后点"重启",机器会重新引导。第一次启动会进入一个许可协议页面,勾选同意,然后可以选择"完成配置"进入系统。到此为止,一台干净的 CentOS 7 就装好了。这个时候先别急着折腾,第一件事是打快照,路径是"虚拟机 - 快照 - 拍摄快照",名字就叫base-clean,描述写清楚"刚装完系统的干净状态"。这个快照是整个环境的地基,后面无论怎么玩崩,回到这里就是几分钟的事。

5. 装完之后必须做的三件事

5.1 网络配置:从 DHCP 到静态 IP

刚装好时网卡如果开了自动获取,会从 VMware 的 DHCP 服务拿到一个地址。这个地址能用,但重启后可能变,做实验时刚记下的 IP 下次开机就对不上了,非常影响体验。所以配静态 IP 是必做项。

先确认网卡名称,执行ip addrnmcli device status,通常会看到ens33或者ens160这样的名字。然后编辑配置文件/etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.100.10 PREFIX=24 GATEWAY=192.168.100.2 DNS1=192.168.100.2 DNS2=114.114.114.114

这里的 IP 段不是随便写。必须和虚拟机所在网络的网段一致。如果是 NAT 模式,打开"虚拟网络编辑器",选中 VMnet8,看下面的"子网 IP"和"NAT 设置"里的网关地址。默认子网一般是 192.168.100.0,网关是 192.168.100.2。如果你的机器上是别的网段,就把上面的地址跟着改。乱填一个不相干的网段,结果就是"看起来配置全对,但 ping 什么都是不通"。

改完之后重启网络服务:

systemctl restart network

或者用 nmcli 命令改,效果一样,命令更短:

nmcli con mod ens33 ipv4.method manual ipv4.addresses 192.168.100.10/24 nmcli con mod ens33 ipv4.gateway 192.168.100.2 ipv4.dns 192.168.100.2 nmcli con up ens33

验证顺序很重要:先ping 网关,通了说明二层网络没问题;再ping 114.114.114.114,通了说明路由和出口正常;最后ping www.baidu.com,通了说明 DNS 正常。这三步能快速定位问题出在哪一层,比盲目重启服务高效得多。

5.2 VMware Tools 与 open-vm-tools 的取舍

很多人还在按老教程挂载 ISO 安装 VMware Tools,结果卡在编译环节,报出类似"继续运行脚本未能在虚拟机中成功运行"的提示。这个问题在新版本的 CentOS 7 上很常见,原因通常是编译依赖不齐或者脚本兼容性问题。

事实上,CentOS 7 的官方源里已经提供了 open-vm-tools,直接用包管理器安装是官方推荐的做法,不需要挂载任何 ISO:

yum install -y open-vm-tools systemctl enable --now vmtoolsd

如果你装了图形界面,再补一个:

yum install -y open-vm-tools-desktop

装好之后,虚拟机支持自适应分辨率、宿主机与虚拟机之间复制粘贴文本、时间同步等功能。判断是否生效,用systemctl status vmtoolsd看服务是否 active 即可。

顺带说一个相关的坑:CentOS 7 的默认软件源地址在官方结束维护之后已经不能用了,直接yum install会报"无法找到该主机"或者 404 错误。解决办法是把源指向归档地址,编辑/etc/yum.repos.d/CentOS-Base.repo,把mirrorlist行注释掉,把baseurl改成http://vault.centos.org/7.9.2009/os/x86_64/这种形式,updates 和 extras 仓库同理。改完之后执行yum clean allyum makecache。这个操作是让老系统继续能装包的关键,不知道这一点的话,会以为系统坏掉了。

5.3 快照策略与克隆规划

系统装好、网络配通、常用工具装齐之后,再打一个快照,命名为base-ready。这个快照里包含了所有你需要的环境准备,之后每做一次大的变更(装数据库、改内核参数、部署应用)之前都先打一个,命名带上日期或者功能,比如before-mysql-install。快照不是备份,它占用的是磁盘增量空间,堆太多会拖慢性能,所以我的习惯是:保留一个base-ready长期不动,其余的做完实验就删掉。

需要多台机器的时候用克隆。完整克隆是独立复制一份,占用空间大但互不影响;链接克隆基于父机快照,占用小但父机不能删。做集群实验时,我一般先用完整克隆做一台,改好主机名和 IP,再以它为模板继续克隆,这样每台机器的配置差异可控。克隆完成后务必第一时间改主机名和 IP,否则两台机器配置完全一样,会出现 SSH 连错机器、集群节点互相冲突的问题,排查起来非常费劲。

6. 常见问题与排查记录

6.1 启动与安装阶段的问题

现象可能原因处理方式
开机提示 Operating System not foundISO 未挂载或未勾选"启动时连接"检查虚拟机设置的 CD/DVD 项
提示需要开启虚拟化BIOS 中 VT-x/AMD-V 未启用重启进 BIOS 开启,或确认宿主机未占用
启动时卡在某个界面无响应与宿主机虚拟化平台冲突关闭 Hyper-V 和内存完整性后重启
安装中途报无法读取软件包ISO 下载不完整重新下载并做介质检查
装完无法进入图形界面安装时未选 GUI 或显卡驱动问题确认软件选择,或改用命令行
虚拟机启动极慢磁盘碎片多、快照堆叠过多清理快照,整理磁盘

关于第二行和第三行,需要展开说明一下。Windows 宿主机上如果启用了 Hyper-V、WSL2、沙盒或者"内核隔离"里的内存完整性,VMware 就可能拿不到硬件虚拟化能力,表现是启动虚拟机时报错或者性能极差。判断方法是在宿主机上执行systeminfo,看最后几行"Hyper-V 要求"的信息。处理方式是在"启用或关闭 Windows 功能"里取消相关项,重启后再试。这个改动会影响依赖 Hyper-V 的其他功能,动手前想清楚。

6.2 网络类问题的排查顺序

网络问题看着五花八门,其实排查路径是固定的。第一步看链路ip addr确认网卡是否 UP、是否有 IP。如果网卡是 DOWN 的,先nmcli con up ens33第二步看配置:确认 IP、掩码、网关和虚拟网络编辑器里的网段一致。第三步分层 ping:网关、外部 IP、域名,三步走下来基本能定位。第四步看服务systemctl status networksystemctl status NetworkManager,看有没有报错信息。

几个高频的具体原因:网关写错(把 .2 写成 .1 或者 .254);DNS 没配导致能 ping 通 IP 但解析不了域名;NAT 模式下虚拟机网段和宿主机所在局域网网段撞了,这种情况需要在虚拟网络编辑器里把子网改成别的网段;防火墙规则拦了出站请求,实验环境可以先systemctl stop firewalld验证一下是不是它的锅。SELinux 也可能导致某些网络服务异常,用getenforce看状态,临时用setenforce 0测试,确认是它的问题再改配置文件永久生效。

6.3 卸载与残留清理的注意事项

如果哪天要把 VMware 从宿主机上彻底移除,直接用控制面板卸载往往不够,会残留虚拟网卡、驱动和注册表项,导致重装时报出各种奇怪的错误,比如提示缺少某个 DLL、或者更新服务找不到组件。比较稳妥的顺序是:先卸载所有虚拟机(删掉文件目录)、再用官方提供的清理工具跑一遍、最后手动检查"设备管理器"里是否有残留的虚拟网卡和"网络连接"面板里是否有 VMnet 开头的适配器。确认干净之后再重启,这样重装基本不会出问题。

7. 用久了才总结出来的几条经验

第一条是关于资源预留。如果你经常在虚拟机里跑编译或者数据库压测,宿主机又同时开着一堆浏览器标签,那虚拟机的性能会忽高忽低。这时候可以在虚拟机设置里把内存改为"预留全部客户机内存",代价是宿主机不能用这部分内存,但换来的是稳定的响应速度,做性能相关的实验时这个稳定性很重要。

第二条是关于目录命名。我给每台虚拟机起的目录名都带角色和序号,比如centos7-db-01centos7-web-01centos7-base,快照名字也统一格式,比如2024xxxx-before-upgrade。看起来是小事,但当你有十几台虚拟机、几十个快照的时候,没有命名规范根本分不清哪个是哪个,删错快照或者改错机器的情况一定会发生。

第三条是关于不要在线扩磁盘。虽然有些情况下可以在开机状态调整磁盘容量,但涉及分区表操作时有风险,我自己的习惯是一律先关机、打快照、再改配置,改完开机进系统用fdisk或者parted扩分区,最后用xfs_growfs扩展文件系统。三步做完确认无误,再删掉临时快照。这套流程多花五分钟,但避免了一次误操作把整个系统搞坏的风险。

第四条是关于时间同步。虚拟机长时间挂起再恢复之后,系统时间经常会和真实时间差出一截,这对依赖时间戳的操作(日志排序、证书校验、数据库事务)影响不小。装好系统之后顺手把chronyd服务配上,systemctl enable --now chronyd,然后chronyc sources看同步状态确认一下,两分钟的事,能省掉后面一堆莫名其妙的"验证失败"。

第五条是关于不要把虚拟机放在系统盘。这一点我在前面提过,但值得再说一遍,因为它是最容易后悔的操作。系统盘一旦满了,宿主系统的表现会非常糟糕,而且清理起来需要挨个目录找大文件。把它放在独立的数据盘上,不仅安全,读写性能通常也更好,尤其是数据盘是固态的时候,虚拟机的响应速度会有明显提升。

这套流程我前前后后在不同机器上走过几十遍,从最早的 15 版本到现在的 17 系列,界面细节在变,但核心逻辑没变:先想用途、再定参数、然后配网络、最后打快照。真正容易出问题的从来不是安装本身,而是安装完成之后的那几步收尾。把网络配通、把源修好、把快照打好,这三件事做扎实,后面无论学什么、测什么,都会顺畅很多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 5:17:14

3D角色资源制作规范全解析:从网格拓扑到导出验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 5:06:43

汇川InoProShop定时器指令TON/TOF/TP工程实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 5:21:12

PyTorch MNIST下载404与DataLoader读取实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 5:24:14

基于全卷积网络的船舶检测与船牌识别方案

简介:这份PDF文档为《基于全卷积神经网络的船舶检测和船牌识别系统》原文,面向深度学习、计算机视觉研究者及港口智能监控相关从业者。文档针对船舶轮廓复杂、船牌位置不固定、船牌文本多样等挑战,系统阐述SDR-FCN方案:利用SDNet完…

作者头像 李华