最近在搭一套RHEL9.6的测试环境,正好把VMware里安装RHEL9.6虚拟机的整个过程重新走了一遍。从下载ISO到系统装完、网络配通、基础环境整理好,前后折腾了一下午,中间踩了不少坑,也沉淀了一些比较稳的操作习惯。
这篇东西主要讲三件事:怎么用VMware Workstation创建一台适合跑RHEL9.6的虚拟机,安装过程中哪些选项值得注意,以及系统装完之后必须做的几项收尾配置。适合刚接触Linux虚拟化的新手,也适合那些之前装过CentOS 7、RHEL 8、想快速过渡到RHEL 9系列的老手。
1. 动手之前,先把这些准备工作做好
装虚拟机这件事,很多人上来就直接新建虚拟机,结果装到一半发现ISO文件不对、磁盘空间不足、虚拟化没开,各种返工。实际上花十分钟把前面的准备工作做扎实,后面能省下一个小时。
1.1 RHEL9.6镜像从哪里下载
RHEL的ISO镜像和Ubuntu那种直接下载不一样,Red Hat官方是把它放在客户门户里,需要有订阅账号才能拉。不过对于个人学习和测试,Red Hat提供了一个开发者订阅(Developer Subscription for Individuals),注册一个账号就能免费使用,这个方案我实测过,可以正常下载ISO,也能激活仓库更新,适合个人折腾。
下载的时候建议选择DVD ISO这个版本,文件大概5GB左右,它包含了完整的软件包集合。还有个Boot ISO版本只有几百MB,只负责引导,真正安装的时候还要通过网络去拉取软件包,配置起来麻烦,不适合离线安装。如果你在虚拟机里装,直接选DVD ISO最稳。
有一个细节提醒一下:下载完ISO之后,最好顺手校验一下SHA256校验值。Red Hat官网会给出每个ISO的校验值,用sha256sum命令核对一下,免得下载过程中文件损坏导致安装到一半报错。
1.2 宿主机和VMware版本的考量
RHEL9.6本身对硬件的门槛不高,2核CPU、4GB内存、40GB磁盘就能装个最小化系统跑起来,但如果要用图形界面,建议给到4核和8GB内存,这样打开GNOME桌面和应用时不会有明显的卡顿感。
我用的VMware Workstation Pro 17,它对新版Linux内核的支持已经很成熟。如果你用的是旧版本,比如15或16,也建议先升级再装RHEL9.6,因为RHEL9系列的内核比较新,VMware旧版提供的虚拟硬件版本太低,会导致显卡、网卡驱动识别不全,装完之后分辨率只能卡在800x600,很影响使用体验。
这里顺带说一下VMware Workstation和VirtualBox的选择问题。VirtualBox免费开源,功能也在持续进步,但对于RHEL这种企业级系统,VMware在硬件兼容性和VMware Tools的整合程度上确实更省心。特别是共享文件夹、拖拽文件、动态屏幕分辨率这些功能,VMware的实现更稳定,几乎不需要手动干预。所以我个人的建议是,直接在VMware Workstation上跑RHEL9.6。
1.3 安装前先确认虚拟化是否启用
虚拟化技术是虚拟机运行的基础,但你不需要在虚拟机里面再开启嵌套虚拟化,只需要确认宿主机CPU的虚拟化功能(Intel VT-x或AMD-V)已在BIOS中启用。绝大多数较新的电脑默认是开启的,但如果前一台虚拟机运行报“此主机支持Intel VT-x,但Intel VT-x处于禁用状态”之类的提示,就需要进BIOS里打开。
当你在VMware里装RHEL9.6时,如果后面要启用KVM或者Docker嵌套,还应该在虚拟机设置里勾选“虚拟化Intel VT-x/EPT或AMD-V/RVI”,不过这是后话,刚开始安装的时候不急着配。
2. 用VMware创建RHEL9.6虚拟机,分步走
准备工作做完后,打开VMware Workstation,开始正式创建虚拟机。整个过程里,我比较推荐使用“自定义”配置方式,因为它能让你对每项参数都有控制权,而不是被向导的默认值牵着鼻子走。
2.1 新建虚机和选择硬件兼容性
点击“创建新的虚拟机”,在向导第一页选择“自定义(高级)”,下一步进入硬件兼容性界面。这里默认会选当前VMware版本对应的Workstation版本,比如17.x,不用去改动它。如果你之后的虚拟机文件需要在其他电脑上打开,而那边VMware版本可能更低,可以考虑选一个低一点的硬件兼容版本,但大多数场景保持默认就行。
接下来要指定ISO镜像文件,这里的“安装程序光盘映像文件”就填你下载好的RHEL9.6 DVD ISO路径。你可能会注意到,填好ISO之后,VMware下一秒可能就会自动识别出系统类型是“Red Hat Enterprise Linux 9 64-bit”,这是好事,说明虚拟硬件配置会按照RHEL9的要求来适配。
2.2 处理器和内存参数怎么给
CPU和内存的分配是新建虚拟机时最需要斟酌的地方。原则是“够用且留余量”,不要把宿主机的全部资源都给虚拟机。对RHEL9.6的桌面安装,我建议至少给2个处理器、每个处理器2核,总计4核;内存至少给4GB,推荐8GB。
如果你打算安装时用图形化界面,内存低于4GB会明显感觉卡顿,安装器容易频繁读取交换分区。如果你只装最小化系统,内存2GB也可以跑,但编译或跑容器就吃力了。还有一个容易忽略的点:内存分配后就不要在系统运行中随意改小了,容易造成客户机内核崩溃。
2.3 磁盘类型、容量和存储方式
虚拟磁盘类型推荐NVMe,因为RHEL9.6自带nvme驱动,而且NVMe磁盘在虚拟机里的读写性能比SATA要好一些。早期的Linux版本可能需要额外加载驱动,RHEL9完全不需要担心。
磁盘容量建议设置60GB以上。RHEL9.6完整安装(带图形界面)占用的磁盘空间大约在15GB到25GB之间,但后续你还要装依赖包、做实验、跑容器,磁盘很容易就膨胀起来。有一个技巧:如果你希望虚拟磁盘文件(vmdk)占用的宿主机空间随着使用逐步增长,就选择“将虚拟磁盘存储为单个文件”并让它“立即分配所有空间”保持默认不勾选,这样初始文件就只有几百MB,用多少占多少,更适合普通笔记本环境。
3. 安装RHEL9.6系统,哪些选项别乱点
虚拟机创建完之后,开机进入安装引导,这一步的信息量最大,问题也最多。很多人习惯一路NEXT,结果装完发现分区不对、网卡没开、软件包选错,后面再改非常麻烦。这块我会花点篇幅,把每一步的关键选项拆开讲清楚。
3.1 引导菜单和语言选择
从ISO启动后,会看到RHEL的GRUB引导菜单。第一项是“Install Red Hat Enterprise Linux 9.6”,直接回车或者等它倒计时自动启动。这里建议按一下Tab或者编辑启动参数,不是必须的操作,只是如果你想在安装时手动配置网络或Kickstart,可以从这里入手。
进入图形安装器后第一步是选语言,我一般选English,因为RHEL的官方文档和报错信息都以英文为主,后续排错时搜资料对得上。如果你确实不习惯英文界面,选简体中文也没问题,安装器本身中文化做得很完整,但建议至少系统内部地区格式保持美国英语,避免文件日期格式上的小麻烦。
3.2 软件包选择:带图形界面还是最小化
安装源和软件选择在同一个界面里。安装源确认指向本地ISO即可,Software Selection则是决定你装的是“带GUI的服务器”还是“最小化安装”。
我的建议是:如果是个人学习、要体验桌面环境,选“带图形界面的服务器(Server with GUI)”,附加软件里勾选“开发工具(Development Tools)”,后面编译安装软件时会省事很多。如果只是当作服务器跑服务、练命令操作,那就选“最小安装(Minimal Install)”,更干净也更节省资源。
这个选择目前还能反悔,在安装器里可以随意切换,但如果装完再换,就得用groupinstall命令手动去补软件包组,麻烦不少,所以这里想清楚。
3.3 磁盘分区:自动分区的取舍
进入“安装目的地”,默认会看到系统自动检测到那块NVMe虚拟磁盘。这里我建议直接采用自动分区,让安装器自己生成LVM方案。RHEL默认会创建/boot、/home、/根分区和swap,采用LVM管理,扩展性很好。你后续觉得某个分区不够用,可以直接通过lvresize命令在线扩充,分区方案本身不需要调整。
如果你有特殊需求,比如要单独挂载/data,可以点“自动配置分区”后手动修改,具体步骤是:选中磁盘,选择自定义分区,然后按“+”号添加挂载点。但对于大多数场景,我实测自动分区完全够用,没必要在一开始就人为制造复杂度。有一点必须注意:不要在这里把所有空间都分给根分区,因为RHEL9的自动分区方案里给/和/home的占比是有讲究的,如果你发现根分区只给了50GB,而磁盘是120GB,也别急,LVM剩余空间可以之后动态分配。
3.4 网络和主机名:现在配好真的能省事
网络和主机名设置是安装时最容易被忽视的一步,因为安装界面里不配网络也能继续。但如果你在安装时不启用网卡,装完系统后会发现网卡没拿到IP,还要回头手动配置,显得很被动。
在这里我建议直接打开网卡开关,并把主机名改成方便识别的名字,比如rhel9-test。如果你使用VMware默认的NAT网络,安装界面里一般可以直接通过DHCP获取IP,装完就能连通外网。如果你希望固定IP,则可以在安装器里手动填入IP、网关、DNS,避免系统装完再折腾。手动配置的方法是在网络界面里选择你要使用的网卡,点“配置”,切到IPv4设置,方法选“手动”,然后填入地址、掩码、网关和DNS,DNS我习惯用223.5.5.5搭配8.8.8.8。
3.5 root密码和用户创建:别偷懒用弱密码
root密码这个环节真没有什么技术含量,但我要提醒的是,如果你之后打算在这台虚拟机里做实验、部署服务,就不要设一个“123456”之类的弱密码,至少组合大小写字母和数字。系统安装器对弱密码会弹警告,选择“完成”两次可以强制通过,但我不建议这么干。安全习惯是从第一天养成的,即使虚拟机内部网络环境相对安全,也要当作生产环境对待。
接着创建用户,别忘了把“此用户设为管理员”这个选项勾上,这样普通用户也有sudo权限。RHEL9默认对sudo组有完整授权,你建的用户加入wheel组之后就能用sudo执行特权命令。
4. 系统装完以后,别急着关窗口
安装进度走完,重启进入系统。到这里,虚拟机算是“装出来了”,但离“能好好用”还有一段距离。登录之后,我建议按顺序做下面几件事,每一件都会在后续使用中给你节省时间。
4.1 确认网络状态并固定IP
如果你在安装时已经配置好了网络,这里只需要确认状态。直接执行nmcli或在设置里查看网卡是否处于连接状态。如果还没配置,用nmcli命令可以快速搞定,比如给ens160这个网卡配置静态IP:
nmcli con mod ens160 ipv4.addresses 192.168.88.100/24 nmcli con mod ens160 ipv4.gateway 192.168.88.2 nmcli con mod ens160 ipv4.dns "223.5.5.5 8.8.8.8" nmcli con mod ens160 ipv4.method manual nmcli con up ens160再说明一下,RHEL9默认的网络管理工具是NetworkManager,配置文件在/etc/NetworkManager/system-connections/目录下,不像CentOS 7那样可以直接编辑/etc/sysconfig/network-scripts/ifcfg-ens160,如果你手动改配置文件,请记得要么用nmcli重新加载,要么重启NetworkManager服务,不然配置不会自动生效。
4.2 配置本地ISO或在线DNF源
RHEL9的软件包管理使用dnf。如果你用的是开发者订阅且有网络,系统默认的源就能正常使用,只需要用你的Red Hat账号订阅一下:
subscription-manager register --username 你的账号 --password 你的密码 subscription-manager attach --auto如果你暂时不想注册,也可以挂载ISO作为本地软件源,这在离线环境下是非常实用的方案。操作思路是:在VMware的虚拟机设置里把光驱指向当前的RHEL9.6 ISO文件并勾选启动时连接,然后进入系统后挂载并创建repo文件:
mkdir -p /mnt/cdrom mount /dev/sr0 /mnt/cdrom cat > /etc/yum.repos.d/local.repo <<EOF [BaseOS] name=BaseOS baseurl=file:///mnt/cdrom/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/cdrom/AppStream enabled=1 gpgcheck=0 EOF dnf clean all && dnf makecache这里有个小坑:RHEL9的ISO镜像里面分成BaseOS和AppStream两个仓库路径,一定都要写上,不然很多常用软件包会找不到。还要注意gpgcheck设成0是因为本地ISO没有导入GPG密钥,这样比导入密钥省事,适合离线环境。
4.3 安装open-vm-tools并开启增强功能
这一步是提升虚拟机使用体验的关键。很多人装完Linux虚拟机会在VMware菜单里点“安装VMware Tools”,然后弹出一个挂在光驱里的tar包,手动解压编译安装。但在RHEL9里,VMware更推荐使用Linux发行版自带的open-vm-tools套件,效果完全一致,而且通过dnf直接安装,省去了编译的烦恼:
dnf install -y open-vm-tools systemctl enable --now vmtoolsd安装完成后,重启一次系统,Windows宿主机和Linux虚拟机之间的拖拽复制文件、共享文件夹、屏幕分辨率自适应等功能基本都能正常工作。如果你发现还是不能拖拽文件,检查一下VMware菜单“虚拟机-设置-选项-客户机隔离”里两个“启用拖拽”和“启用复制粘贴”选项是否勾选,我遇到过几次装完服务开了、选项没勾的情况。
4.4 创建第一个快照:装完系统的黄金状态
我想特别强调一下快照的价值。刚装完系统、完成基础配置的这个时间点,是整个虚拟机生命周期里最干净的“黄金状态”,务必在这里打一个快照,之后你装任何软件、做任何实验,都不用担心把系统搞坏。
快照操作很简单:VMware菜单里选择“虚拟机-快照-拍摄快照”,给它取个名字,比如rhel9.6-base,加上简短的描述方便区分。快照会记录当前磁盘、内存和虚拟硬件状态,后续系统崩溃或不满意,随时可以回滚到当前这个状态,比起重装系统省太多了。
4.5 防火墙和SELinux的基本处理策略
RHEL9默认开启firewalld和SELinux,这对生产服务器来说是好事,但在虚拟机里做实验时容易成为“拦路虎”,导致服务端口外部访问不了。我的策略是:先不要直接关闭SELinux,正如装上先理解它,再决定是否要调整。如果后续跑的服务与SELinux冲突,再针对具体问题去配置。
防火墙方面,如果你只是在本机访问虚拟机里的服务,可以先查看当前开了哪些服务:
systemctl status firewalld firewall-cmd --list-all如果要把端口开出去,比如放行80端口,执行:
firewall-cmd --permanent --add-service=http firewall-cmd --reload这样比直接停掉防火墙更可控,也避免了你把规则忘了,后续排查问题浪费时间。
5. 装好后最容易踩的几个坑
虽然VMware和RHEL9.6的兼容性已经很成熟,但在实际使用中,我还是踩到过一些坑,这里挑几个值得说的,给大家一个排查思路。
5.1 开机黑屏或停留在GRUB引导
这是一类出现频率比较高的故障,原因可能是ISO下载不完整或虚拟硬件配置问题。排查思路:先确认ISO校验值对不对;再看一下虚拟机设置里的固件类型是UEFI还是BIOS,RHEL9默认使用UEFI引导,如果你手动把固件改成了BIOS,或者用了一个比较旧的虚拟硬件版本,引导过程有可能异常。
如果系统能启动到GRUB菜单但选择启动项后黑屏,尝试在启动项上按e进入编辑,在内核命令行末尾加上nomodeset参数,然后按Ctrl+x引导,这个参数会让内核使用基础显示驱动,绕开显卡驱动导致的启动崩溃,这是我排查这类问题时最常用的一招。
5.2 屏幕分辨率固定无法调节
装完RHEL9.6图形界面后,如果显示设置里分辨率只有800x600或者1024x768,大多数原因是没装驱动。RHEL9使用的图形栈是GNOME加Wayland,VMware的虚拟显卡驱动是open-vm-tools提供的,所以执行上一节那个dnf install open-vm-tools命令,重启后分辨率一般就能自适应窗口大小了。如果还是不生效,检查一下登录界面选择的是不是“GNOME”,而不是“GNOME Classic”或其他桌面,某些旧会话模式在调整分辨率上确实存在限制。
5.3 网卡设备未被NetworkManager托管
有几次我进入系统后发现网卡存在但一直显示未托管或连接失败,用nmcli device status查看会看到状态是unmanaged。原因大多是NetworkManager的配置文件里把该设备排除在外了。排查方法是编辑/etc/NetworkManager/NetworkManager.conf,检查[main]段的plugins是否包含keyfile,或者看/etc/sysconfig/network-scripts/下是否有遗留的ifcfg文件干扰。最省事的处理方式是:
systemctl restart NetworkManager nmcli device set ens160 managed yes然后重新激活连接即可。
5.4 dnf安装包时提示找不到仓库
如果你没有订阅,也没有配置本地源,直接执行dnf install,很可能报“There are no enabled repositories”。这时候就需要返回4.2节看看是订阅注册,还是配置本地ISO源。很多人会在这里卡住,说“RHEL怎么连个软件都装不了”,其实不是系统的问题,是企业版系统的仓库订阅机制决定的,理解了这一点就能明白为什么RHEL用起来比CentOS多一步注册操作。
5.5 VMware Tools灰色无法安装
如果你的VMware界面里“安装VMware Tools”菜单是灰色的,不要慌,原因可能是VMware检测到已经安装了open-vm-tools,也可能是当前光驱被占用了,卸掉ISO之后菜单就会恢复可用。RHEL9里基本上不需要手动装VMware Tools,open-vm-tools足以满足需求。
6. 装完虚拟机之后,还能往哪走
虚拟机不是终点,它只是个载体。RHEL9.6虚拟机搭建好之后,你可以在这个平台上面布置很多常用的服务和开发环境,这也是测试环境一机多用的价值所在。
6.1 部署常见的开发工具链
既然基础系统已经装好,接下来可以顺手装一些常见的开发组件。比如数据库,RHEL9的AppStream源里自带MySQL 8.0和PostgreSQL,装起来很简单:
dnf install -y mysql-server systemctl enable --now mysqld装完后通过grep临时密码或直接设置root密码。再比如Git、Node.js这些,RHEL9的AppStream仓库里也都有对应的模块版本,一个dnf命令就能装好,不需要自己折腾源码编译。如果之后有Java开发需求,用dnf安装OpenJDK 17也很方便。装这些东西的具体配置细节我就不展开讲了,但思路是一样的:优先用dnf装软件源里有的版本,既能自动处理依赖,也方便卸载,省心省力。
6.2 尝试利用快照做实验而不担心把系统弄坏
虚拟机一个特别实用的场景是做“有风险”的实验。比如你想练一下KVM嵌套虚拟化,或者测试某个服务升级,都可以直接在当前虚拟机里操作,出问题就用快照回滚。我建议的快照策略是:打完基础状态快照之后,每到一个稳定的里程碑(比如装好数据库、配置好Web环境)再打一个快照。快照太多也不建议,因为每个快照都会占用一定的磁盘空间,而且快照越多,虚拟磁盘文件越大,管理起来越乱。
6.3 把虚拟机当作本地的微服务运行环境
如果你在学微服务或云原生,这台RHEL9.6虚拟机完全可以作为本地测试节点。装Docker或者Podman之后,可以在里面跑MySQL、Redis、Nginx这些容器,模拟一套小型的服务链路。RHEL9默认集成了Podman,它天然支持无守护进程的容器方案。如果你更熟悉Docker,也可以用dnf安装docker-ce,但需要额外配置Docker官方的仓库地址,这个步骤比Podman多几步。
有了虚拟机这个隔离环境,你在里面怎么折腾都不影响宿主机系统,尤其适合需要同时验证多套配置的场景。比如我常做的一件事就是在这台虚拟机里布置多套不同版本的开发环境,然后通过快照切换状态,比多台物理机方便太多。
根据我实际用下来的感受,VMware加RHEL9.6这个组合,稳定性确实没得挑,稍微花点心思把基础部分配好,后面所有实验都会非常顺畅。装完系统马上去配open-vm-tools和快照,这是我最想让你记住的两件事,能少走不少弯路。
如果你在安装过程中也遇到什么奇怪的报错或者卡住的情况,不妨看看是不是ISO校验值的问题或者虚拟硬件版本不匹配。虚拟机这个东西,多装几次就有感觉了,配置项就那么几个,理清楚了基本不会再翻车。之后有空,我再把RHEL9.6上部署Web环境和数据库的过程整理一篇出来,希望能继续帮到你。