Hyper-V 安装 RHEL 8.10 实战笔记

目标:在 Hyper-V 虚拟机上以最小化方式安装 RHEL 8.10,作为 7 节点应用集群(Tomcat × 2 + MongoDB × 3 + Nginx × 2)的基线系统
网络方案:Internal 虚拟交换机 + 宿主机 NAT,VM 与宿主机互通、可上外网
适用系统:Windows 11 + Hyper-V + RHEL 8.10(其他 RHEL 8.x 流程相近)
更新日期:2026-07-28


目录


一、网络方案与节点规划

本文以单节点安装为示例,聚焦"系统从零装到可登录、可上网"这条主流程。
多节点集群(多台 VM 互通、共享外网、克隆复制)不在本文范围,需要时可参考另一篇独立的 Hyper-V 集群笔记。

1.1 节点 IP 规划

7 个节点分三类服务,IP 从 192.168.100.101 顺延:

🖥️ 节点 🎭 角色 🌐 固定 IP 📝 备注
宿主机网关 — 192.168.100.1 VM 的网关和 DNS 中转
RHEL8-Node1 Tomcat-1 192.168.100.101 Tomcat 应用节点
RHEL8-Node2 Tomcat-2 192.168.100.102 Tomcat 应用节点
RHEL8-Node3 MongoDB-1 192.168.100.103 MongoDB 节点
RHEL8-Node4 MongoDB-2 192.168.100.104 MongoDB 节点
RHEL8-Node5 MongoDB-3 192.168.100.105 MongoDB 节点
RHEL8-Node6 Nginx-1 192.168.100.106 Nginx 反向代理节点
RHEL8-Node7 Nginx-2 192.168.100.107 Nginx 反向代理节点

本文以 RHEL8-Node1(192.168.100.101)为基线示范完整安装流程。
其余 6 台(Node2-Node7)从 RHEL8-Node1 复制成黄金镜像后改 IP 和主机名即可。


二、准备工作

2.1 宿主机环境

🛠️ 项 📋 要求
操作系统 Windows 11 Pro / Enterprise(自带 Hyper-V)
内存 宿主机预留 ≥ 4 GB(VM 给 2 GB,宿主机日常使用还需保留)
磁盘 VM 位置所在盘预留 ≥ 50 GB(VM 40 GB + 快照/检查点冗余)
Hyper-V 角色 已启用("控制面板 → 程序 → 启用或关闭 Windows 功能"中勾选 Hyper-V)
虚拟交换机 已创建名为 InternalSwitch 的 Internal 交换机,并配置好 NAT

虚拟交换机和 NAT 的创建步骤较多,单独整理在集群笔记的"二、创建 Internal 虚拟交换机"和"三、配置宿主机 NAT"两节。
单节点测试时可临时用 Hyper-V 自带的 Default Switch(已带 NAT),跳过这部分。

2.2 注册 Red Hat 订阅账号

RHEL 8.10 官方 ISO 下载以及后续 dnf 更新都需要 Red Hat 订阅账号。

  1. 打开 https://developers.redhat.com
  2. 点击右上角 Register 注册账号(免费)
  3. 登录后进入 https://access.redhat.com/management/subscriptions
  4. 关联一个 Red Hat Developer Subscription for Individuals(免费,最多 16 台机器)
  5. 记录账号用户名和密码,安装后注册订阅时会用到

没有订阅也能下载 ISO 试用,但 dnf update / dnf install 会提示 "This system is not registered with an entitlement server"。
如果仅做测试不想注册,可以改用 RHEL 8 的 1:1 克隆版(AlmaLinux 8.10、Rocky Linux 8.10 等)替代,下载与安装流程基本一致。

2.3 下载 RHEL 8.10 ISO

下载入口:https://access.redhat.com/downloads/content/rhel

选择路径:

  1. Red Hat Enterprise Linux 8
  2. x86_64
  3. 版本选 8.10
  4. 推荐下载 DVD ISO(约 9-10 GB,含完整软件包,离线也能装)
📁 文件类型 📦 大小 📝 说明
DVD ISO ~13 GB 推荐:完整安装介质,离线可用
Boot ISO ~1021 MB(约 1 GB) 仅引导启动,安装时需联网下载软件包

ISO 类型 × 软件包组 是两个独立的维度,互不影响:

  • ISO 决定"安装包从哪来"——DVD 自带全部软件包(离线),Boot 需联网下载
  • 软件包组决定"系统装成什么样"——Server 无桌面,Server with GUI 有 GNOME 桌面

常见组合:

📦 组合 💿 介质 🖥️ 软件包组 🎯 适合场景
① DVD ISO Server(最小化) 推荐:一次下载,离线可用,资源占用最少
② DVD ISO Server with GUI 离线装带桌面的环境
③ Boot ISO Server(最小化) 磁盘紧张、网络通畅
④ Boot ISO Server with GUI 想要桌面又不想下 13 GB ISO

文档后续所有步骤都以组合 ①(DVD ISO + Server)为基础——也是 7 节点基线的推荐选择。
真正的"软件包组"选择在安装程序的 4.5 节 "软件选择"中做。

实际文件名以 Red Hat 官网为准。如果官网链接路径有变动,可以登录后从 "Downloads → Product Downloads" 进入。

下载完成后把 ISO 放到一个稳定路径(例如 D:\ISOs\Linux\RHEL\rhel-8.10-x86_64-dvd.iso),后续 Hyper-V 装载时要用。


三、创建 Hyper-V 虚拟机

3.1 图形界面方式

Hyper-V 管理器 → 右侧"操作"面板 → 新建 → 虚拟机

📋 步骤 🔧 配置项 ✅ 值
1 名称 RHEL8-Node1
1 位置 D:\Hyper-V\Virtual Machines\(Hyper-V 默认)
2 代数 第 2 代(UEFI 启动,RHEL 8 推荐)
3 内存 2048 MB(2 GB)
3 动态内存 ✅ 勾选
4 网络 InternalSwitch(尚未配置时可临时选 Default Switch)
5 硬盘 路径 D:\Virtual Hard Disks\RHEL8-Node1\RHEL8-Node1.vhdx(先建子目录),大小 40 GB
6 安装选项 以后安装操作系统(先不挂 ISO,建好 VM 再进设置装载)
6 摘要核对 确认无误后点 完成

关于"默认路径":D:\Hyper-V\Virtual Machines\ 是 Hyper-V 安装时的默认位置,可在 Hyper-V 管理器 → 右侧"操作"面板 → Hyper-V 设置 → 虚拟机 中改成其他路径(如 D:\VMs-Config\)。改完后 3.1 向导的"位置"步骤会默认填新路径,3.2 节的 New-VM(不指定 -Path)也会用新位置。

3.2 PowerShell 方式(推荐,更精确)

前置检查(避免后面报错):

# 确认虚拟交换机存在(首次创建时如果 InternalSwitch 不存在,需先按集群笔记创建)
Get-VMSwitch -Name "InternalSwitch" -ErrorAction SilentlyContinue

# 确认 VHDX 目标路径不冲突(首次创建时该文件不应存在)
Test-Path "D:\Virtual Hard Disks\RHEL8-Node1\RHEL8-Node1.vhdx"   # 期望返回 False

前置检查不通过时 New-VM 会失败:

  • 交换机不存在 → 报 "Virtual switch not found",见集群笔记
  • VHDX 已存在 → 报 "File already exists",换个名字(如 RHEL8-Node1-test.vhdx)或先删旧文件
  • VHDX 父目录不存在 → 报 "Path not found",先执行 New-Item -ItemType Directory -Path "D:\Virtual Hard Disks\RHEL8-Node1" -Force

VM 配置文件由 Hyper-V 自动管理到默认位置(D:\Hyper-V\Virtual Machines\),无需手动建目录。

在宿主机以管理员身份打开 PowerShell,执行:

# 先建节点子目录(New-VM 不会自动创建父目录)
New-Item -ItemType Directory -Path "D:\Virtual Hard Disks\RHEL8-Node1" -Force

# 角色:Tomcat-1(见 [1.1 节](#sec11) 节点 IP 规划表)
# 创建 VM(第 2 代、2 GB 内存、40 GB 磁盘、InternalSwitch 网络)
# 不指定 -Path:VM 配置存到 Hyper-V 默认位置 D:\Hyper-V\Virtual Machines\<UUID>\
New-VM -Name "RHEL8-Node1" `
  -MemoryStartupBytes 2GB `
  -Generation 2 `
  -NewVHDPath "D:\Virtual Hard Disks\RHEL8-Node1\RHEL8-Node1.vhdx" `
  -NewVHDSizeBytes 40GB `
  -SwitchName "InternalSwitch"

# 装载安装 ISO 到 DVD 驱动器
Add-VMDvdDrive -VMName "RHEL8-Node1" `
  -Path "D:\ISOs\Linux\RHEL\rhel-8.10-x86_64-dvd.iso"

验证创建成功:

Get-VM -Name "RHEL8-Node1" | Select Name, Generation, State, MemoryStartup

预期输出:

Name         Generation State MemoryStartup
----         ---------- ----- -------------
RHEL8-Node1              2 Off    2147483648

3.3 关闭安全启动

Linux 发行版通常没有微软签名的安全启动密钥,开启安全启动会导致无法引导。
集群场景下 Node2/Node3 复制 VM 后同样需要关闭。

图形界面:

  1. 右键 RHEL8-Node1 → 设置
  2. 左侧选 安全
  3. 取消勾选 启用安全启动
  4. 点击 应用 → 确定

PowerShell 方式(更可靠):

Set-VMFirmware -VMName "RHEL8-Node1" -EnableSecureBoot Off

验证:

Get-VMFirmware -VMName "RHEL8-Node1" | Select SecureBoot

应显示:

SecureBoot
----------
       Off

四、安装 RHEL 8.10

4.1 启动安装程序

  1. Hyper-V 管理器 → 选中 RHEL8-Node1 → 右侧 启动
  2. 右侧 连接 进入控制台
  3. 等待 ISO 引导,出现 RHEL 安装菜单:
Install Red Hat Enterprise Linux 8.10
Test this media & install Red Hat Enterprise Linux 8.10
Troubleshooting -->
  1. 直接按 回车 选第一项(默认安装)

如果出现 "Start PXE over IPv4" 错误并回到引导菜单,说明安全启动没关好,回到 3.3 节 检查。
控制台鼠标如果不灵敏,可以在 查看 菜单中调整缩放比例;最小化安装的鼠标问题影响较小。

4.2 本地化设置

进入安装主界面后,左侧依次点击以下项完成配置:

🔧 配置项 ✅ 建议值 📝 说明
语言 English (United States) 装中文包后切中文更稳,避免安装阶段乱码
键盘 English (US) 默认即可
语言支持 仅 English 装完系统后想用中文再装 glibc-langpack-zh

装系统时选 简体中文 也能装,但部分步骤(特别是含特殊符号的提示)可能显示异常。
推荐先用英文界面装完,再在系统内切语言。

4.3 安装目的地

点击 Installation Destination 进入磁盘分区:

  1. 选中那块 40 GB 的虚拟磁盘(通常自动识别,标记为 sda 或 vda)
  2. 存储配置 选 Automatic(自动分区)
  3. 点击左上角 Done 返回

单节点测试用自动分区即可。
想手动分区选 Custom,常见划分:/boot(1 GB)、/(剩余空间)、swap(内存 × 1-1.5 倍)。
集群场景通常把数据单独挂盘(如 /data),可在手动分区时添加。

4.4 网络和主机名

点击 Network & Host Name:

🔧 配置项 ✅ 建议值 📝 说明
以太网开关 ON 默认 DHCP,装完系统再改静态 IP
Host Name node1 短主机名,多节点时改为 node2、node3
Configure → General ✅ Automatically connect 开机自启网络

点击 Apply → Done 返回主界面。

主机名建议用短名(node1),不要带域名后缀;/etc/hosts 也好维护。
集群场景下每台 VM 主机名唯一,否则后续 ssh、scp 会混淆。

4.5 软件选择

点击 Software Selection。"最小化安装"指的是选 Server 软件包组,与下载的 ISO 类型无关——DVD ISO 和 Boot ISO 都能做最小化安装。

本文和"带 GUI 安装"区别主要在这里:

🔧 配置项 ✅ 建议值 📝 说明
Base Environment Server 最小化安装,无桌面
Add-ons for Selected Environment 默认即可 Server 环境没有必选附加项

可选附加项(按需勾选):

🧩 附加项 🎯 适用场景
Development Tools 需要本地编译 C/C++、构建 RPM 包时
System Tools 常用系统工具集(tar、vim、git 等基础命令更多)
Network Servers 把本机当服务器使用时(基础服务包)

Server(最小化)安装 默认不包含桌面环境、LibreOffice、邮件客户端等;适合服务器、容器宿主机、集群节点。
想要带图形界面可以选 Server with GUI,多消耗约 1-2 GB 磁盘和 500 MB 内存。
选错环境也能补救:装完后用 dnf group install "Server with GUI" 补装桌面。

点击 Done 返回主界面。

4.6 设置 root 密码

点击 Root Password:

  1. 输入 root 密码两次
  2. 如果密码强度不足,会弹窗警告(点 Done 可强制使用弱密码)
  3. 点击 Done 返回

强密码建议:长度 ≥ 12 位、混合大小写 + 数字 + 符号。
想要禁用 root SSH 登录,安装完系统后可新建普通用户并加入 wheel 组。

4.7 开始安装

回到安装主界面,所有项前出现 ✅ 后,点击 Begin Installation:

  • 进度条显示安装进度(10-20 分钟,取决于磁盘速度)
  • 安装期间可以继续调整之前未完成的配置项
  • 安装完成后右下角出现 Reboot 按钮
  • 点击 Reboot,VM 会从虚拟硬盘启动进入登录提示符

如果重启后不进入系统而是回到安装菜单,说明 ISO 还在 DVD 驱动器里。
进入系统前先关机 → 编辑 VM 设置 → DVD 驱动器 → 选择 None,再启动。


五、安装后首次配置

5.1 配置网络(必做,先连网)

后续注册订阅、dnf update 都依赖网络——装完系统第一件事是连网。

nmcli device status

如果 CONNECTION 列是 --,说明还没有 NetworkManager 连接配置——必须先 add,再 modify,最后 up(见下方"集群节点"流程)。

情况 A:CONNECTION 列有名字(如 eth0)→ 已有连接配置,可以直接 modify + up。
情况 B:CONNECTION 列是 -- → 没有连接配置,必须先 add,再 modify,最后 up。

集群节点(推荐静态 IP)

sudo nmcli connection add type ethernet ifname eth0 con-name eth0
sudo nmcli connection modify eth0 \
  ipv4.addresses 192.168.100.101/24 \
  ipv4.gateway 192.168.100.1 \
  ipv4.dns "8.8.8.8,114.114.114.114" \
  ipv4.method manual
sudo nmcli connection up eth0

单节点测试(DHCP 更省事)

sudo nmcli connection add type ethernet ifname eth0 con-name eth0 autoconnect yes
sudo nmcli connection up eth0

如果 modify 后 up 报错

NetworkManager 状态混乱时(多见于 VM 克隆后),删除重来最干净:

sudo nmcli connection delete eth0
sudo nmcli connection add type ethernet ifname eth0 con-name eth0 \
  ipv4.addresses 192.168.100.101/24 \
  ipv4.gateway 192.168.100.1 \
  ipv4.dns "8.8.8.8,114.114.114.114" \
  ipv4.method manual
sudo nmcli connection up eth0

验证:

ip addr show eth0
ping -c 4 8.8.8.8

ping 通外网后进入 5.2 节 注册订阅。
DNS 必须用公共 DNS(8.8.8.8),不能用 192.168.100.1——宿主机网关不是 DNS 服务器,无法解析域名。
多节点场景下每台 VM 改不同 IP(101/102/103),并改不同主机名(node1/node2/node3)。

5.2 注册 Red Hat 订阅

# 注册订阅(用 2.2 节注册的账号)
subscription-manager register --username <用户名> --password <密码>

# 查看可用订阅池
subscription-manager list --available --all

# 自动绑定第一个匹配的开发者订阅
subscription-manager attach --auto

# 验证
subscription-manager identity

预期输出:

system identity: <随机 UUID>
name: node1
org name: <公司或个人名>
org ID: <组织 ID>
current type: Developer Subscription

注销命令:subscription-manager unregister && subscription-manager clean(清理本地缓存)。

5.3 更新系统

# 更新所有软件包到最新
dnf update -y

# 如果内核更新了,建议重启
reboot

首次更新可能下载 500 MB - 1 GB,取决于网络和现有软件版本。

5.4 启用 SSH

最小化安装默认包含 openssh-server 但未启动:

# 启动 SSH 服务
systemctl start sshd

# 设置开机自启
systemctl enable sshd

# 验证
systemctl status sshd

预期输出:

● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since ...

修改配置后无法连接

如果改了 /etc/ssh/sshd_config(如修改 Port、PubkeyAuthentication 等)后连不上,先排查:

# 1. 测试配置语法
sshd -t
# 无输出 = 语法 OK;有报错会指出哪行

# 2. 查看启动失败日志
journalctl -u sshd -n 30 --no-pager
❌ 报错 🔍 原因 🛠️ 解决
Bad configuration option 缩进/空格错 检查 sshd_config 缩进
Address already in use 端口被占用 换端口或停占用进程
Bad permissions 权限问题 chmod 600 /etc/ssh/ssh_host_*_key
改了端口后连接超时 SELinux 拦截 / 防火墙未放行 见下方"两个方案"

方案一:关闭 SELinux(省事但不安全)

# 临时关闭(重启失效)
sudo setenforce 0

# 永久关闭
sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
# 彻底关:SELINUX=disabled(permissive 只警告不拦截)

生产环境不推荐关闭 SELinux——它是 RHEL 的核心安全机制,关闭后会降低系统安全性。
本地测试或单节点验证可以接受;多节点集群建议用方案二。

方案二:用 semanage 放行端口(推荐)

# 1. 安装 SELinux 策略工具(如未装)
sudo dnf install -y policycoreutils-python-utils

# 2. 添加端口规则(替换 2281 为你的实际端口)
sudo semanage port -a -t ssh_port_t -p tcp 2281
# 提示端口已存在时改用 -m:
# sudo semanage port -m -t ssh_port_t -p tcp 2281

# 3. 重启 sshd
sudo systemctl restart sshd

两个方案都要做:放行防火墙

# 永久放行新端口(指定 zone,避免不同环境默认 zone 不一致)
sudo firewall-cmd --permanent --zone=public --add-port=2281/tcp
sudo firewall-cmd --reload

# 验证(带 zone 更明确)
sudo firewall-cmd --zone=public --list-ports
ss -tlnp | grep 2281

提示:firewall-cmd --add-service=ssh 默认只放行 22 端口;改了 SSH 端口后必须用 --add-port=端口/tcp 显式放行。

5.5 防火墙放行 SSH

# 永久放行 SSH 服务(指定 zone,避免不同环境默认 zone 不一致)
firewall-cmd --permanent --zone=public --add-service=ssh

# 重新加载防火墙
firewall-cmd --reload

# 验证(带 zone 更明确)
firewall-cmd --zone=public --list-all

集群场景需要在宿主机上做端口转发(如把宿主机 8081 转给 RHEL8-Node1 的 80),集群笔记的"八、宿主机防火墙放行"一节有详细命令。
单节点测试时可临时关闭防火墙:systemctl stop firewalld(重启后失效),方便排查网络问题。


六、批量克隆其他节点

完成第 5 章 "安装后首次配置"后,RHEL8-Node1 已具备克隆条件:系统装好、订阅注册、SSH 启用、防火墙放行、静态 IP 已配。

最佳时机:5.5 节 "防火墙放行 SSH"完成后立即复制。
7 台节点共用同一份基线(无 Tomcat / MongoDB / Nginx 等应用层服务),角色化部署在克隆后按需进行。

6.1 黄金镜像处理

让 RHEL8-Node1.vhdx 合并为可复制的完整状态:

# 1. 关闭 Node1
Stop-VM -Name "RHEL8-Node1"

# 2. 在 Hyper-V 管理器中删除所有检查点
#    选中 RHEL8-Node1 → 下方"检查点"面板 → 右键检查点 → 删除检查点
#    等待合并完成(底部有进度条)

# 3. 确认 .avhdx 已消失
Get-ChildItem "D:\Virtual Hard Disks\RHEL8-Node1\" | Where Name -Like "*.avhdx"
# 期望:没有输出

6.2 批量创建 Node2-Node7

# 7 节点配置(Node1 已存在)
$nodes = @(
  @{Name="RHEL8-Node2"; IP="192.168.100.102"; Role="Tomcat-2"},
  @{Name="RHEL8-Node3"; IP="192.168.100.103"; Role="MongoDB-1"},
  @{Name="RHEL8-Node4"; IP="192.168.100.104"; Role="MongoDB-2"},
  @{Name="RHEL8-Node5"; IP="192.168.100.105"; Role="MongoDB-3"},
  @{Name="RHEL8-Node6"; IP="192.168.100.106"; Role="Nginx-1"},
  @{Name="RHEL8-Node7"; IP="192.168.100.107"; Role="Nginx-2"}
)

# 源 VHDX(黄金镜像)
$sourceVhdx = "D:\Virtual Hard Disks\RHEL8-Node1\RHEL8-Node1.vhdx"

foreach ($node in $nodes) {
  $destDir  = "D:\Virtual Hard Disks\$($node.Name)"
  $destVhdx = "$destDir\$($node.Name).vhdx"

  # 建子目录 + 复制 VHDX
  New-Item -ItemType Directory -Path $destDir -Force | Out-Null
  Copy-Item $sourceVhdx $destVhdx

  # 创建 VM(指向新 VHDX)
  New-VM -Name $node.Name `
    -MemoryStartupBytes 2GB `
    -Generation 2 `
    -VHDPath $destVhdx `
    -SwitchName "InternalSwitch" | Out-Null

  # 关闭安全启动 + 让 Hyper-V 重新生成 MAC(避免和 Node1 冲突)
  Set-VMFirmware -VMName $node.Name -EnableSecureBoot Off | Out-Null
  Set-VMNetworkAdapter -VMName $node.Name -DynamicMacAddress | Out-Null

  Write-Host "完成:$($node.Name) - $($node.Role) - $($node.IP)"
}

验证:

Get-VM | Where Name -Like "RHEL8-Node*" | Select Name, State | Format-Table

期望输出 7 行(Node1 + Node2-7),全部 Off。

6.3 逐台启动 + 改 IP + 主机名 + 重新注册订阅

逐台启动(Start-VM -Name "RHEL8-Node2"),用 vmconnect 或 SSH 登录后执行(以 Node2 为例):

# 必做:改主机名
hostnamectl set-hostname node2

# 必做:改静态 IP
nmcli connection modify eth0 \
  ipv4.addresses 192.168.100.102/24 \
  ipv4.gateway 192.168.100.1 \
  ipv4.dns "8.8.8.8,114.114.114.114" \
  ipv4.method manual

nmcli connection down eth0 && nmcli connection up eth0

# 可选:重新注册订阅(见下方说明)
subscription-manager register --username <用户名> --password <密码>
subscription-manager attach --auto

Node3-Node7 同样流程,主机名/IP 改为对应值。

关于订阅:VHDX 复制会带 Node1 的订阅证书,所以 Node2-7 启动后默认已注册——subscription-manager identity 会显示和 Node1 相同的 system identity。

  • 本地测试集群:7 台共享同一个订阅账号(Developer Subscription 最多 16 台),不需要重新注册
  • 严格管理场景(如接入 Red Hat Satellite、Insights):每台 VM 重新注册一次,获得独立的 system identity

关于密码:VHDX 复制会带 root 密码哈希,所以 7 台默认 root 密码相同。
内网测试可以接受;对外服务前建议每台单独 passwd 修改。

6.4 角色化部署

基线阶段所有节点都是"空"的,按需装服务:

🖥️ 节点 🎭 角色 📦 推荐服务
RHEL8-Node1, RHEL8-Node2 Tomcat Tomcat 9/10、JDK 8(≥ 1.8.0_201)
RHEL8-Node3, RHEL8-Node4, RHEL8-Node5 MongoDB MongoDB(单机或副本集)
RHEL8-Node6, RHEL8-Node7 Nginx Nginx(反向代理 / 负载均衡)

服务层安装与配置不在本文范围。


七、验证

# 查看系统版本
cat /etc/redhat-release
# 输出示例:Red Hat Enterprise Linux release 8.10 (Ootpa)

# 查看内核
uname -r

# 验证订阅状态
subscription-manager identity

# 测试网络
ping 192.168.100.1 -c 4    # 宿主机网关
ping baidu.com -c 4         # 公网域名(验证 NAT + DNS)

从宿主机 SSH 登录测试:

ssh root@192.168.100.101

首次连接会提示确认指纹,输入 yes,再输入密码。
三步(cat /etc/redhat-release / ping 网关 / ping 域名)都通过,说明安装和网络配置都正常。


八、常见问题排查

❌ 问题 🔍 原因 🛠️ 解决
启动后回到安装菜单 DVD 驱动器里还有 ISO 编辑 VM 设置 → DVD 驱动器 → 选 None
报 "Start PXE over IPv4" 安全启动没关 VM 设置 → 安全 → 取消勾选"启用安全启动"
dnf update 报 "This system is not registered" 没注册 Red Hat 订阅 见 5.2 节,或换 AlmaLinux 8 / Rocky 8 替代
控制台鼠标点击不灵敏 Hyper-V 集成服务未生效 安装完成后重启一次会自动激活;最小化安装无桌面影响较小
SSH 连接被拒绝 sshd 未启动 / 防火墙未放行 见 5.4、5.5 节
注册订阅失败 "Username or password is incorrect" 账号密码错,或账号未激活开发者订阅 重新登录 developers.redhat.com 检查订阅状态
装中文界面部分步骤乱码 字符集未配置 改用英文界面;或装 glibc-langpack-zh 并设置 LANG=zh_CN.UTF-8
VM 能 ping 宿主机但 ping 不通外网 NAT 规则未创建 宿主机 PowerShell 执行 Get-NetNat 验证 InternalSwitch 是否存在
配置静态 IP 报 "eth0 不是活动的连接" modify 前没 add 连接配置 先 sudo nmcli connection add type ethernet ifname eth0 con-name eth0,再 modify 和 up,见 5.1 节

九、命令速查

9.1 宿主机 PowerShell

# 创建 VM
New-Item -ItemType Directory -Path "D:\Virtual Hard Disks\RHEL8-Node1" -Force
New-VM -Name "RHEL8-Node1" -MemoryStartupBytes 2GB -Generation 2 `
  -NewVHDPath "D:\Virtual Hard Disks\RHEL8-Node1\RHEL8-Node1.vhdx" -NewVHDSizeBytes 40GB `
  -SwitchName "InternalSwitch"

# 关闭安全启动
Set-VMFirmware -VMName "RHEL8-Node1" -EnableSecureBoot Off

# 装载 ISO
Add-VMDvdDrive -VMName "RHEL8-Node1" -Path "D:\ISOs\Linux\RHEL\rhel-8.10-x86_64-dvd.iso"

# 启动 / 关闭 / 连接
Start-VM -Name "RHEL8-Node1"
Stop-VM -Name "RHEL8-Node1" -Force
vmconnect localhost "RHEL8-Node1"

9.2 虚拟机内命令

# 网络(5.1 节)
nmcli device status
sudo nmcli connection add type ethernet ifname eth0 con-name eth0
sudo nmcli connection modify eth0 ipv4.addresses 192.168.100.101/24 \
  ipv4.gateway 192.168.100.1 ipv4.dns "8.8.8.8,114.114.114.114" ipv4.method manual
sudo nmcli connection up eth0

# 订阅(5.2 节)
subscription-manager register --username <user> --password <pass>
subscription-manager attach --auto
subscription-manager identity

# 包管理(5.3 节)
dnf update -y
dnf install -y <包名>
dnf search <关键词>
dnf group install "Server with GUI"   # 补救:补装桌面

# 服务管理(5.4 节)
systemctl start sshd
systemctl enable sshd
systemctl status sshd

# 防火墙(5.5 节)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
firewall-cmd --list-all

# 主机名(6.3 节)
hostnamectl set-hostname node2

总结

🔢 步骤 🛠️ 操作 📌 关键点
1 准备工作 启用 Hyper-V、注册 Red Hat 订阅、下载 ISO
2 创建 VM 第 2 代 + 关闭安全启动 + 网络选 InternalSwitch
3 启动安装 选 Server 最小化、自动分区、设主机名
4 配置网络 先 add 再 modify 最后 up,ping 通外网
5 注册订阅 subscription-manager register + attach --auto
6 更新系统 dnf update -y
7 启用 SSH systemctl enable --now sshd + 放行防火墙
8 克隆剩余 6 台 删除检查点后复制 VHDX,逐台改 IP/主机名/MAC
9 验证 cat /etc/redhat-release、ping baidu.com、宿主机 SSH 登录

核心要点:RHEL 8 安装本身不复杂,四处易踩坑的是订阅账号、安全启动关闭、网络配置顺序(先 add 再 modify)、装完注册订阅。
7 节点全部用同一台基线克隆:先装好 RHEL8-Node1 作为黄金镜像,剩下 6 台复制后改 IP/主机名即可。
节点配置、克隆方式、SSH 互通等内容不在本文范围,可参考另一篇独立的 Hyper-V 集群笔记。


更新时间:2026-07-28
适用环境:Windows 11 + Hyper-V + RHEL 8.10

posted @ 2026-08-18 10:49  RK5123153  阅读(34)  评论(0)    收藏  举报