作为一名有十年Linux系统管理经验的运维工程师,我经常需要在虚拟机环境中部署各种Linux发行版进行测试和开发。今天我将详细分享在VMware Workstation Pro中安装英文版Red Hat Enterprise Linux 9(RHEL 9)的完整过程,包含你可能遇到的各种细节问题和解决方案。
虚拟机安装是学习Linux最安全便捷的方式。相比双系统,它不会影响宿主机的正常运行,可以随时创建快照和回滚。VMware Workstation Pro提供了接近原生性能的虚拟化环境,特别适合以下场景:
提示:虽然本文以RHEL 9为例,但方法同样适用于CentOS、Fedora等其他Red Hat系发行版
在开始前,请确保准备好以下资源:
VMware Workstation Pro:
RHEL 9 ISO镜像:
主机资源要求:
启用BIOS虚拟化支持:
检查系统兼容性:
bash复制# Windows系统查看虚拟化是否启用
systeminfo | find "Hyper-V Requirements"
应看到"虚拟化已在固件中启用:是"
bash复制# 下载后务必校验SHA256
certutil -hashfile rhel-9.0-x86_64-dvd.iso SHA256
对比官网提供的校验值,确保文件完整
选择配置类型:
硬件兼容性选择:
客户机操作系统:
处理器设置:
内存分配:
磁盘配置:
网络适配器:
挂载ISO镜像:
启动选项:
安装模式选择:
语言选择:
时间和区域设置:
安装目标(关键步骤):
软件选择:
root密码:
用户创建:
安全策略:
oscap进行合规扫描许可证接受:
终端初始化:
sudo subscription-manager register注册bash复制sudo dnf config-manager --add-repo=file:///path/to/repo
bash复制sudo dnf update -y
sudo reboot
bash复制ip a # 查看IP分配
ping 8.8.8.8 # 测试网络连通性
bash复制nmcli con mod "Wired connection 1" ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 8.8.8.8
nmcli con up "Wired connection 1"
bash复制sudo systemctl enable --now sshd
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
无法检测到安装介质:
图形安装界面卡死:
inst.text参数分区失败错误:
inst.nompath参数禁用多路径系统启动卡在dracut:
bash复制dracut:/# cd /dev
dracut:/# ls sd* # 确认磁盘设备
dracut:/# reboot
bash复制sudo dracut -f
网络连接异常:
bash复制sudo nmcli con down "Wired connection 1"
sudo nmcli con modify "Wired connection 1" cloned-mac-address permanent
sudo nmcli con up "Wired connection 1"
性能优化技巧:
bash复制sudo dnf install open-vm-tools
systemctl enable --now vmtoolsd
bash复制echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
bash复制sudo systemctl enable --now firewalld
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --remove-service=dhcpv6-client --permanent
sudo firewall-cmd --reload
SELinux策略:
bash复制sestatus
bash复制sudo ausearch -m avc -ts recent
定期更新策略:
bash复制sudo dnf install dnf-automatic
sudo sed -i 's/apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic.timer
bash复制sudo dnf groupinstall "Development Tools"
sudo dnf install git vim-enhanced
bash复制sudo dnf install python3-pip python3-devel
python3 -m pip install --user pipx
python3 -m pipx ensurepath
bash复制sudo dnf install podman buildah skopeo
sudo systemctl enable --now podman.socket
podman version
bash复制# 实时系统监控
sudo dnf install htop
htop
# 磁盘IO分析
sudo dnf install iotop
sudo iotop -o
# 网络流量监控
sudo dnf install nethogs
sudo nethogs
bash复制# 查看系统日志
journalctl -xe
# 查看特定服务日志
journalctl -u sshd --since "1 hour ago"
# 安装日志分析工具
sudo dnf install logwatch
创建一致性快照:
bash复制sudo sync
克隆虚拟机:
bash复制vmrun clone /path/to/original.vmx /path/to/clone.vmx full
快照回滚策略:
在线增加CPU:
bash复制echo 1 > /sys/devices/system/cpu/cpuX/online
内存热添加:
code复制mem.hotadd = "TRUE"
bash复制grep -i memory /sys/devices/system/memory/*/state
磁盘扩容:
bash复制sudo growpart /dev/sda 1
sudo xfs_growfs /
OVF导出标准格式:
物理机迁移准备:
bash复制sudo dnf install kernel-devel gcc make
bash复制sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
云平台迁移:
bash复制qemu-img convert -f vmdk -O qcow2 disk.vmdk disk.qcow2
bash复制sudo dnf install cloud-init
对于需要长期运行的虚拟机,我有以下经验建议:
资源预留策略:
code复制mem.reservationsize = "4096MB"
定期维护计划:
bash复制sudo dnf update -y
sudo reboot
bash复制sudo smartctl -a /dev/sda
备份方案设计:
rsync增量备份关键数据:bash复制rsync -avz --delete /path/to/data backup-server:/backup/
监控告警配置:
bash复制sudo dnf install golang-github-prometheus-node-exporter
sudo systemctl enable --now node_exporter
掌握基础安装后,建议继续深入学习:
命令行精通:
man文档系统系统管理认证:
自动化运维工具:
性能调优方向:
安全加固领域:
我个人的经验是,虚拟机环境是学习这些高级主题的理想沙盒。你可以随时创建干净的环境进行实验,而不用担心影响生产系统。建议为每个学习主题创建专用虚拟机,并做好文档记录。