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-Node1192.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 的虚拟磁盘(通常自动识别,标记为 sdavda
  2. 存储配置Automatic(自动分区)
  3. 点击左上角 Done 返回

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

4.4 网络和主机名

点击 Network & Host Name

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

点击 ApplyDone 返回主界面。

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

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 常用系统工具集(tarvimgit 等基础命令更多)
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(如修改 PortPubkeyAuthentication 等)后连不上,先排查:

# 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.45.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,再 modifyup,见 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 配置网络 addmodify 最后 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-releaseping 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  阅读(11)  评论(0)    收藏  举报