1. 项目概述
作为一名长期从事Linux系统运维的工程师,我经常需要在本地环境中搭建各种版本的RHEL系统进行测试和开发。最近在部署RHEL9虚拟机时,发现网上很多教程都过于简略,缺少关键细节和实战经验分享。本文将详细记录我从零开始部署RHEL9虚拟机的完整过程,包括环境准备、系统安装、基础配置、远程连接等关键环节,并分享我在实际工作中积累的实用技巧和避坑经验。
这个教程特别适合以下几类读者:
- 刚接触Linux系统的新手,想要学习如何在虚拟机中安装RHEL系统
- 需要搭建RHEL9测试环境的开发人员
- 准备Linux相关认证考试的学习者
- 需要频繁部署虚拟机的运维工程师
通过本文,你将掌握:
- 如何正确准备RHEL9安装所需的各种工具和资源
- 虚拟机创建的详细步骤和关键参数设置
- 系统安装后的基础优化和配置技巧
- 使用Xshell进行SSH远程连接的最佳实践
- yum源配置和系统快照管理等实用技能
2. 环境准备与工具选择
2.1 必备软件下载
在开始安装前,我们需要准备以下工具:
- VMware Workstation 17 Pro:这是目前最稳定的虚拟机平台之一,相比VirtualBox有更好的性能和兼容性
- Xshell 8:功能强大的SSH客户端,支持多标签和会话管理
- Xftp 8:与Xshell配套的文件传输工具
- RHEL9 ISO镜像:可以从Red Hat官网下载(需要订阅账户)或使用CentOS Stream作为替代
提示:VMware Workstation需要商业授权,个人用户可以考虑使用免费的VMware Player版本,虽然功能有所限制,但基本使用没有问题。
2.2 系统资源规划
根据我的经验,为RHEL9虚拟机分配资源时建议:
- CPU:至少2核(如果主机是4核或以上)
- 内存:最少2GB,推荐4GB以获得更好的性能
- 磁盘空间:系统分区至少20GB,如果用于开发建议50GB以上
- 网络适配器选择NAT模式即可满足大多数需求
2.3 安装前的注意事项
- 以管理员身份运行VMware:这是很多新手容易忽略的一点,不以管理员身份运行可能导致各种权限问题
- 检查BIOS虚拟化支持:确保主机的CPU虚拟化功能已启用(Intel VT-x或AMD-V)
- 关闭杀毒软件:某些杀毒软件可能会干扰虚拟机安装过程
- 准备备用镜像:下载的ISO文件最好校验MD5/SHA值,避免因文件损坏导致安装失败
3. 创建RHEL9虚拟机
3.1 新建虚拟机向导
- 打开VMware Workstation,点击"创建新的虚拟机"
- 选择"自定义(高级)"安装类型,这样可以更灵活地配置虚拟机参数
- 硬件兼容性选择"Workstation 17.x",这是最稳定的版本
- 选择"稍后安装操作系统",这样我们可以先完成所有硬件配置
3.2 关键参数配置
- 操作系统选择:选择"Linux" -> "Red Hat Enterprise Linux 9 64位"
- 虚拟机名称和位置:建议使用有意义的名称如"RHEL9-Dev",位置选择有足够空间的磁盘
- 处理器配置:根据主机CPU情况,通常2核足够
- 内存分配:建议4GB(4096MB)
- 网络类型:选择"NAT"模式,这是最简单的联网方式
- I/O控制器类型:保持默认的LSI Logic
- 磁盘类型:选择SCSI
- 磁盘容量:建议40GB,选择"将虚拟磁盘拆分成多个文件"更灵活
3.3 安装RHEL9系统
- 完成虚拟机创建后,右键虚拟机->设置->CD/DVD,选择使用ISO镜像文件
- 启动虚拟机,在引导界面选择"Install Red Hat Enterprise Linux 9"
- 语言选择"English(United States)"(中文可能会有显示问题)
- 安装目标选择我们创建的虚拟磁盘
- 网络和主机名配置中,开启网络连接
- 软件选择"Server with GUI"(如果需要图形界面)或"Minimal Install"(最小化安装)
- 设置root密码并创建普通用户
- 开始安装,这个过程大约需要15-30分钟
注意:安装过程中"Software Selection"步骤很重要,如果选错可能导致后续需要手动安装大量软件包。不确定的话可以先选择"Server with GUI",安装完成后可以随时切换到命令行模式。
4. 系统基础配置
4.1 首次启动设置
- 安装完成后重启,接受许可证协议
- 完成初始设置向导,配置时区和键盘布局
- 如果不需要图形界面,可以按Ctrl+Alt+F2切换到命令行终端
4.2 关键系统优化
4.2.1 关闭锁屏功能
图形界面下:
- 点击左下角"Activities" -> 设置 -> Privacy -> Screen Lock
- 关闭"Automatic Screen Lock"和"Lock Screen on Suspend"
- 将"Blank Screen Delay"设为"Never"
命令行方式:
bash复制gsettings set org.gnome.desktop.session idle-delay 0
gsettings set org.gnome.desktop.screensaver lock-enabled false
4.2.2 修改主机名
bash复制# 查看当前主机名
hostnamectl status
# 修改主机名(例如改为rhel9-server)
hostnamectl set-hostname rhel9-server
# 立即生效
exec bash
4.2.3 关闭防火墙(仅测试环境)
bash复制# 查看防火墙状态
systemctl status firewalld
# 临时关闭防火墙
systemctl stop firewalld
# 永久禁用防火墙
systemctl disable firewalld
注意:生产环境不建议完全关闭防火墙,应该配置适当的规则而不是直接禁用。
4.2.4 禁用SELinux
bash复制# 查看SELinux状态
getenforce
# 临时设置为Permissive模式
setenforce 0
# 永久禁用(需要重启)
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
重要:SELinux是重要的安全机制,仅建议在开发测试环境中禁用。生产环境应该学习如何正确配置SELinux策略。
5. 远程连接配置
5.1 网络配置检查
bash复制# 查看IP地址
ip a
# 测试网络连接
ping -c 4 www.redhat.com
如果网络不通,检查:
- 虚拟机网络适配器是否已连接
- VMware NAT服务是否运行
- 主机防火墙是否阻止了虚拟机网络
5.2 SSH服务配置
- 确保SSH服务已安装并运行:
bash复制systemctl status sshd
- 如果没有安装:
bash复制dnf install -y openssh-server
systemctl enable --now sshd
- 修改SSH配置(可选):
bash复制vim /etc/ssh/sshd_config
建议修改:
- Port 22 → 改为其他端口如2222(安全考虑)
- PermitRootLogin yes → 改为no(禁止root直接登录)
修改后重启服务:
bash复制systemctl restart sshd
5.3 使用Xshell连接
- 打开Xshell,点击"新建会话"
- 名称:RHEL9-Server
- 协议:SSH
- 主机:虚拟机IP地址
- 端口号:22(或你修改的端口)
- 用户身份验证:输入用户名和密码
- 点击"连接",首次连接会提示保存主机密钥
技巧:Xshell可以保存会话信息,下次直接双击即可连接。还可以使用"发送键输入到所有会话"功能同时操作多个服务器。
6. 软件管理与系统维护
6.1 yum源配置
RHEL系统需要订阅才能使用官方源,如果没有订阅可以:
- 使用本地ISO作为yum源:
bash复制# 挂载ISO文件
mount -o loop /path/to/rhel9.iso /mnt
# 创建repo文件
cat > /etc/yum.repos.d/local.repo <<EOF
[local]
name=Local RHEL9 Repository
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
EOF
# 清理并重建缓存
dnf clean all
dnf makecache
- 或者配置第三方源如EPEL:
bash复制dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
6.2 常用软件安装
bash复制# 开发工具链
dnf groupinstall "Development Tools"
# 常用工具
dnf install -y vim wget curl net-tools lsof telnet
# 图形工具(如果安装了GUI)
dnf install -y gnome-tweaks
6.3 系统快照管理
VMware快照是非常有用的功能,建议在以下时机创建快照:
- 系统初始安装完成后
- 安装重要软件前
- 进行系统配置修改前
创建快照步骤:
- 在VMware中右键虚拟机
- 选择"快照" -> "拍摄快照"
- 输入有意义的名称和描述
- 等待快照完成(查看左下角进度条)
注意:快照不是备份,不应长期依赖。建议定期导出OVA文件作为真正备份。
7. 常见问题与解决方案
7.1 安装问题
问题1:安装过程中提示"没有足够空间"
- 检查虚拟机磁盘分配是否足够
- 在分区步骤选择"自动配置分区"
问题2:图形安装界面卡死
- 尝试改用文本模式安装
- 增加虚拟机内存分配
- 检查主机资源是否充足
7.2 网络问题
问题1:无法获取IP地址
- 检查虚拟机网络适配器设置
- 重启网络服务:
nmcli networking off && nmcli networking on - 查看DHCP服务是否正常
问题2:能ping通但无法SSH连接
- 检查SSH服务是否运行:
systemctl status sshd - 检查防火墙规则:
iptables -L -n - 确认SSH端口是否正确
7.3 性能优化建议
- 安装VMware Tools增强性能:
bash复制# 在VMware菜单选择"虚拟机"->"安装VMware Tools"
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
tar -xzvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
cd /tmp/vmware-tools-distrib/
./vmware-install.pl
- 调整swappiness值减少交换分区使用:
bash复制echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -p
- 禁用不必要的服务:
bash复制systemctl disable avahi-daemon
systemctl disable cups
8. 进阶配置建议
8.1 安全加固
- 配置SSH密钥认证:
bash复制# 在客户端生成密钥
ssh-keygen -t rsa
# 将公钥复制到服务器
ssh-copy-id user@server-ip
# 禁用密码认证(确保密钥登录正常后)
sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
- 配置基本防火墙规则(如果未完全禁用):
bash复制systemctl start firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
8.2 日常维护脚本
- 系统更新检查:
bash复制#!/bin/bash
echo "=== System Update Check ==="
echo "Last check: $(date)"
echo "Available updates:"
dnf check-update
- 资源监控:
bash复制#!/bin/bash
echo "=== System Status ==="
echo "Uptime: $(uptime)"
echo "Memory: $(free -h)"
echo "Disk: $(df -h)"
8.3 备份策略
- 重要配置文件备份:
bash复制tar -czvf /backup/etc-backup-$(date +%Y%m%d).tar.gz /etc
- 定期导出虚拟机:
- 在VMware中选择"文件"->"导出为OVF"
- 存储到外部设备或云存储
- 使用rsync增量备份:
bash复制rsync -avz --delete /重要目录/ 备份服务器:/备份路径/
在实际工作中,我发现很多问题都是由于基础配置不当引起的。特别是网络和存储配置,一定要在初期就规划好,不然后期调整会很麻烦。另外,养成及时创建快照和备份的习惯,能在系统出现问题时节省大量恢复时间。