1. 环境准备与镜像获取
在VMware中安装openEuler-24.03-LTS-SP3之前,需要先准备好必要的环境和安装镜像。这个环节看似简单,但实际操作中很多新手容易在镜像选择和虚拟机配置上踩坑。
1.1 获取官方镜像
openEuler官网提供了多个版本的下载选项,我们需要特别关注24.03 LTS SP3这个特定版本。访问openEuler官网的下载中心(https://www.openeuler.org/zh/download/),找到"Community Releases"部分。
这里有个重要细节:openEuler的LTS版本分为基础版和SP(Service Pack)更新版。24.03 LTS SP3是基于Linux Kernel 6.6的增强版本,专为服务器、云计算和AI工作负载设计,生命周期支持到2027年12月。相比基础版,SP3包含了关键的安全补丁和性能优化。
下载时注意选择正确的架构:
- x86_64:适用于大多数Intel/AMD处理器的PC和服务器
- AArch64:适用于华为鲲鹏等ARM架构服务器
- 其他架构如RISC-V等根据实际需求选择
1.2 VMware环境准备
推荐使用VMware Workstation Pro 17或更新版本,ESXi也可以但配置略有不同。安装VMware时需要注意:
确保主机系统满足硬件要求:
- 至少4核CPU(推荐8核以上)
- 8GB内存(推荐16GB以上)
- 50GB可用磁盘空间
- 开启VT-x/AMD-V虚拟化支持(需在BIOS中设置)
安装VMware Tools: 虽然openEuler自带open-vm-tools,但建议在VMware中先安装完整版的VMware Tools以获得更好的兼容性。
网络配置建议:
- 初次安装建议使用NAT模式
- 需要固定IP的话可后续改为桥接模式
- 避免使用"仅主机"模式,除非有特殊需求
提示:如果主机是Windows 11系统,需要在"启用或关闭Windows功能"中开启Hyper-V相关选项,否则VMware可能无法正常运行。
2. 创建虚拟机与基础配置
2.1 新建虚拟机关键参数
在VMware中点击"创建新的虚拟机",选择"自定义(高级)"配置,以下参数需要特别注意:
硬件兼容性选择:
- 新安装选择"Workstation 17.x"
- 如果需要兼容旧版VMware则选择更低版本
操作系统选择:
- 客户机操作系统选择"Linux"
- 版本选择"CentOS 8 64位"(openEuler基于CentOS,此选项兼容性最好)
处理器配置:
- 处理器数量:2 - 每个处理器的核心数量:2(总4核) - 勾选"虚拟化Intel VT-x/EPT或AMD-V/RVI"内存分配:
- 最少4GB(运行桌面环境建议8GB)
- 不要超过主机物理内存的50%
网络类型:
- 初次安装选择"NAT"
- 高级选项中勾选"复制物理网络连接状态"
磁盘配置:
- 创建新虚拟磁盘
- 磁盘大小至少40GB
- 选择"将虚拟磁盘拆分成多个文件"
- 磁盘类型选择SCSI(兼容性更好)
2.2 虚拟机高级设置
在完成基础创建后,还需要对一些高级参数进行调整:
显示设置:
- 显存设置为128MB(运行图形界面需要)
- 开启3D图形加速
硬件加速:
- 在处理器选项中勾选"启用虚拟化CPU性能计数器"
- 内存选项中开启"预留所有客户机内存"
USB控制器:
- 建议移除USB控制器(除非需要连接外部设备)
- 可以减少资源占用和提高稳定性
声卡和打印机:
- 服务器环境建议移除这些不必要设备
- 可以节省系统资源
注意:这些设置完成后先不要启动虚拟机,我们需要先挂载安装镜像。
3. 系统安装过程详解
3.1 启动安装程序
将下载好的openEuler-24.03-LTS-SP3镜像挂载到虚拟机的CD/DVD驱动器:
- 右键虚拟机 → 设置 → CD/DVD
- 选择"使用ISO映像文件"并浏览到下载的镜像
- 勾选"启动时连接"
启动虚拟机,你会看到openEuler的安装引导界面。这里有三个选项:
- Install openEuler 24.03-LTS-SP3
- Test this media & install openEuler
- Troubleshooting
建议先选择第二项进行介质验证,确保下载的镜像没有损坏。验证通过后会自动进入安装界面。
3.2 安装配置关键步骤
安装程序会依次要求配置以下内容:
语言选择:
- 建议选择English(安装完成后再设置中文)
- 避免选择中文安装,某些情况下会出现乱码
安装信息摘要:
- 这里需要配置所有安装选项
- 主要包含以下几个部分:
DATE & TIME:
- 时区选择"Asia/Shanghai"
- 开启NTP同步,添加国内NTP服务器如:
ntp.aliyun.com ntp.tuna.tsinghua.edu.cn
SOFTWARE SELECTION:
基础环境选择:
- Minimal Install(最小化安装,适合服务器)
- Server with GUI(带图形界面)
- Virtualization Host(虚拟化主机)
附加选项:
- 开发工具(GCC、make等)
- 系统管理工具
- 兼容性库(如果需要运行老旧软件)
INSTALLATION DESTINATION:
自动分区方案:
- 新手建议选择"Automatic"
- 高级用户可以选择"I will configure partitioning"
手动分区示例(适用于生产环境):
/boot 1GB 标准分区 / 20GB LVM /var 10GB LVM /home 剩余空间 LVM swap 内存大小的1.5倍(不超过8GB)
NETWORK & HOSTNAME:
- 主机名设置(可后续修改)
- 开启以太网连接
- 建议配置静态IP(生产环境必须)
SECURITY POLICY:
- 选择"Standard System Security Profile"
- 可以后续通过
oscap工具调整
3.3 用户账户配置
在安装即将完成前,需要设置root密码和创建普通用户:
ROOT PASSWORD:
- 设置强密码(12位以上,包含大小写字母、数字和特殊字符)
- 可以勾选"允许root用户SSH登录"(生产环境不建议)
USER CREATION:
- 创建至少一个普通用户
- 勾选"将此用户设为管理员"
- 建议用户名不要包含大写字母和特殊字符
重要提示:安装完成后不要立即重启,先点击"Finish Configuration"完成所有配置。
4. 安装后优化与配置
4.1 首次启动设置
系统首次启动会进行一些初始化配置,需要关注以下几点:
许可证接受:
- 阅读并接受openEuler许可协议
初始设置:
- 可以跳过订阅注册(社区版不需要)
- 配置Kdump内存保留(建议256MB)
- 开启或关闭SELinux(建议先保持Enforcing模式)
登录验证:
- 使用创建的用户登录
- 通过
su -切换到root用户测试
4.2 基础系统优化
更新系统:
dnf makecache dnf update -y更换国内源(大幅提升软件下载速度):
sudo sed -e 's|^metalink=|#metalink=|g' \ -e 's|^#baseurl=http://download.openeuler.org|baseurl=https://mirrors.huaweicloud.com/openeuler|g' \ -i.bak /etc/yum.repos.d/openEuler.repo安装常用工具:
dnf install -y vim wget curl net-tools tar gzip open-vm-tools时间同步优化:
cat <<EOF | sudo tee /etc/chrony.conf server ntp.aliyun.com iburst server ntp.tuna.tsinghua.edu.cn iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync keyfile /etc/chrony.keys leapsectz right/UTC logdir /var/log/chrony EOF systemctl restart chronyd
4.3 VMware工具集成
虽然openEuler自带open-vm-tools,但完整集成VMware工具能获得更好的体验:
- 在VMware菜单选择:虚拟机 → 安装VMware Tools
- 挂载VMware Tools镜像:
mkdir -p /mnt/cdrom mount /dev/cdrom /mnt/cdrom - 安装依赖:
dnf install -y perl kernel-devel gcc make - 编译安装:
cd /mnt/cdrom tar zxvf VMwareTools-*.tar.gz cd vmware-tools-distrib/ ./vmware-install.pl -d - 重启生效:
reboot
安装完成后,你应该能使用VMware的拖放、共享文件夹等高级功能了。
5. 常见问题与解决方案
5.1 安装阶段问题
问题1:安装程序无法识别磁盘
解决方案:
- 检查虚拟机设置中磁盘控制器类型(建议使用SCSI)
- 在安装界面按"e"编辑启动参数,添加
nodmraid选项 - 或者尝试在VMware设置中将磁盘从SCSI改为SATA
问题2:图形安装界面卡死
解决方案:
- 改用文本模式安装:在启动菜单添加
inst.text参数 - 调整虚拟机显存大小(至少64MB)
- 关闭3D加速功能
问题3:安装后无法启动
解决方案:
- 检查是否启用了UEFI但未创建ESP分区
- 在VMware设置中尝试切换BIOS/UEFI模式
- 使用安装介质进入救援模式修复引导
5.2 网络配置问题
问题1:无法获取IP地址
排查步骤:
ip a # 检查网卡是否识别 journalctl -u NetworkManager # 查看网络服务日志 nmcli device show # 检查网络设备状态解决方案:
- 检查VMware网络设置(NAT/桥接)
- 重启NetworkManager服务:
systemctl restart NetworkManager - 手动配置网络:
nmcli con add con-name "static-eth0" ifname eth0 type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1 nmcli con mod "static-eth0" ipv4.dns "8.8.8.8 114.114.114.114" nmcli con up "static-eth0"
问题2:主机与虚拟机无法互通
解决方案:
- 检查防火墙设置:
firewall-cmd --list-all - 临时关闭防火墙测试:
systemctl stop firewalld - 永久开放端口(如SSH):
firewall-cmd --permanent --add-service=ssh firewall-cmd --reload
5.3 性能优化建议
内存气球驱动:
dnf install -y open-vm-tools systemctl enable --now vmtoolsd磁盘I/O优化:
- 在VMware设置中将磁盘类型改为"NVMe"(需关机操作)
- 调整I/O调度器:
echo 'none' > /sys/block/sda/queue/scheduler
CPU性能调节:
dnf install -y tuned tuned-adm profile virtual-guest定期清理缓存:
echo 3 > /proc/sys/vm/drop_caches
6. 进阶配置与应用部署
6.1 图形界面安装(可选)
如果安装时选择了最小化安装,后续可以通过以下步骤安装图形界面:
安装GNOME桌面环境:
dnf groupinstall -y "GNOME Desktop"设置默认启动目标:
systemctl set-default graphical.target安装必要组件:
dnf install -y gdm xorg-x11-server-Xorg xorg-x11-drivers启动显示管理器:
systemctl enable --now gdm重启系统:
reboot
注意:图形界面会显著增加系统资源占用,服务器环境不建议安装。
6.2 开发环境配置
安装开发工具链:
dnf groupinstall -y "Development Tools" dnf install -y git gcc-c++ cmake python3-devel配置Python环境:
dnf install -y python3-pip pip3 install --upgrade pip pip3 install virtualenv安装容器运行时:
dnf install -y podman docker-compose systemctl enable --now podman配置IDE(以VSCode为例):
rpm --import https://packages.microsoft.com/keys/microsoft.asc sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' dnf install -y code
6.3 服务器应用部署示例
部署Nginx Web服务器:
安装Nginx:
dnf install -y nginx配置防火墙:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload启动并启用Nginx:
systemctl enable --now nginx验证安装:
curl http://localhost
部署MySQL数据库:
安装MySQL 8.0:
dnf install -y mysql-server安全初始化:
systemctl start mysqld mysql_secure_installation配置开机启动:
systemctl enable mysqld验证安装:
mysql -u root -p
部署Docker环境:
安装依赖:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo dnf install -y docker-ce docker-ce-cli containerd.io配置镜像加速:
mkdir -p /etc/docker cat <<EOF | tee /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"] } EOF启动服务:
systemctl enable --now docker验证安装:
docker run hello-world
7. 系统监控与维护
7.1 基础监控设置
安装sysstat工具:
dnf install -y sysstat systemctl enable --now sysstat配置日志轮转:
dnf install -y logrotate设置系统审计:
dnf install -y audit systemctl enable --now auditd内存监控:
dnf install -y htop
7.2 性能分析工具
安装perf工具:
dnf install -y perf使用示例:
perf top # 实时监控系统性能 perf stat ls # 统计命令执行情况 perf record -a sleep 10 # 记录10秒系统状态 perf report # 分析记录结果系统基准测试:
dnf install -y sysbench sysbench cpu --threads=4 run sysbench memory run
7.3 定期维护任务
设置自动更新:
cat <<EOF | tee /etc/cron.weekly/autoupdate #!/bin/bash dnf makecache && dnf update -y EOF chmod +x /etc/cron.weekly/autoupdate日志清理脚本:
cat <<EOF | tee /usr/local/bin/cleanlogs #!/bin/bash find /var/log -type f -name "*.log" -mtime +30 -delete journalctl --vacuum-time=30d EOF chmod +x /usr/local/bin/cleanlogs备份脚本示例:
cat <<EOF | tee /usr/local/bin/backup-system #!/bin/bash BACKUP_DIR="/backup" [ -d "$BACKUP_DIR" ] || mkdir -p "$BACKUP_DIR" tar -czf "$BACKUP_DIR/backup-$(date +%Y%m%d).tar.gz" \ --exclude=/backup \ --exclude=/proc \ --exclude=/tmp \ --exclude=/mnt \ --exclude=/dev \ --exclude=/sys \ --exclude=/run \ --exclude=/media \ --exclude=/var/log \ --exclude=/var/cache \ / EOF chmod +x /usr/local/bin/backup-system
8. 安全加固指南
8.1 基础安全配置
更新所有软件包:
dnf update -y配置SSH安全:
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config systemctl restart sshd安装fail2ban:
dnf install -y fail2ban systemctl enable --now fail2ban配置防火墙:
firewall-cmd --permanent --remove-service=dhcpv6-client firewall-cmd --permanent --remove-service=cockpit firewall-cmd --reload
8.2 高级安全措施
启用SELinux:
dnf install -y selinux-policy-targeted setenforce 1 sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config安装安全审计工具:
dnf install -y lynis rkhunter运行安全扫描:
lynis audit system rkhunter --check配置系统审计:
cat <<EOF | tee /etc/audit/rules.d/my.rules -a always,exit -F arch=b64 -S execve -k exec -a always,exit -F arch=b32 -S execve -k exec -w /etc/passwd -p wa -k passwd -w /etc/group -p wa -k group -w /etc/shadow -p wa -k shadow EOF augenrules --load
8.3 定期安全检查
检查异常用户:
awk -F: '($3 == 0) {print}' /etc/passwd检查SUID文件:
find / -perm -4000 -type f -exec ls -la {} \; 2>/dev/null检查开放端口:
ss -tulnp检查计划任务:
ls -la /etc/cron* crontab -l检查登录记录:
last journalctl _SYSTEMD_UNIT=sshd.service
9. 虚拟化高级功能
9.1 快照管理
VMware的快照功能对openEuler同样有效,但需要注意:
创建快照前:
sync dnf clean all最佳实践:
- 重要操作前创建快照
- 单个虚拟机快照不超过3个
- 定期删除旧快照
命令行操作(需在主机执行):
vmrun -T ws snapshot "[VMX文件路径]" "[快照名称]" vmrun -T ws revertToSnapshot "[VMX文件路径]" "[快照名称]"
9.2 克隆虚拟机
完整克隆(推荐):
- 在VMware界面右键虚拟机 → 管理 → 克隆
- 选择"完整克隆"
- 修改新虚拟机的MAC地址和主机名
链接克隆(节省空间):
- 适用于短期测试环境
- 依赖父虚拟机,不能独立运行
命令行克隆:
vmrun -T ws clone "[源VMX路径]" "[目标VMX路径]" full
9.3 性能监控与优化
安装VMware性能工具:
dnf install -y vmware-tools-vmstats监控关键指标:
vmware-toolbox-cmd stat [选项] # 可用选项: # memsize - 内存大小 # memres - 预留内存 # cpures - CPU预留 # balloon - 气球内存 # swap - 交换分区调整资源分配:
- 动态内存:在VMware设置中启用"内存热添加"
- CPU热插拔:启用"处理器热添加"
- 虚拟磁盘:定期压缩磁盘
9.4 与物理机交互
共享文件夹配置:
- 在VMware设置中添加共享文件夹
- 在openEuler中挂载:
vmhgfs-fuse .host:/共享名 /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
USB设备直通:
- 在VMware设置中连接USB设备
- 在openEuler中查看:
lsusb dmesg | grep usb
剪贴板共享:
- 确保VMware Tools安装正确
- 在VMware设置中启用"复制和粘贴"
10. 故障排查与日志分析
10.1 系统启动问题
问题现象:系统卡在启动界面
排查步骤:
- 在启动菜单按"e"编辑启动参数
- 在linux行末尾添加:
systemd.unit=rescue.target - 按Ctrl+X启动进入救援模式
- 检查日志:
journalctl -xb dmesg | grep error
常见解决方案:
- 文件系统损坏:
xfs_repair /dev/sda1 - 驱动问题:添加
nomodeset启动参数 - 内存不足:调整VMware内存分配
10.2 性能问题排查
CPU瓶颈检查:
top vmstat 1 sar -u 1 5内存瓶颈检查:
free -h cat /proc/meminfo sar -r 1 5I/O瓶颈检查:
iostat -x 1 iotop sar -d 1 5网络瓶颈检查:
iftop nload sar -n DEV 1 5
10.3 日志分析技巧
关键日志文件位置:
/var/log/messages # 系统主日志 /var/log/secure # 安全相关日志 /var/log/dnf.log # 软件包管理日志 /var/log/audit/audit.log # 审计日志常用日志分析命令:
journalctl -u sshd --since "1 hour ago" # 查看SSH服务日志 grep -i error /var/log/messages # 查找错误信息 tail -f /var/log/nginx/access.log # 实时查看Nginx访问日志日志分析工具安装:
dnf install -y logwatch logwatch --detail High --range yesterday --mailto root
10.4 内核问题处理
查看当前内核:
uname -r安装调试符号:
dnf debuginfo-install kernel内核崩溃分析:
dnf install -y crash crash /usr/lib/debug/lib/modules/$(uname -r)/vmlinux /var/crash/xxx/vmcore内核参数调整:
# 临时修改 sysctl -w vm.swappiness=10 # 永久修改 echo "vm.swappiness = 10" >> /etc/sysctl.conf sysctl -p
11. 备份与迁移策略
11.1 虚拟机备份方法
VMware快照备份:
- 短期备份方案
- 不适合长期保留
完整虚拟机备份:
- 关闭虚拟机
- 复制整个虚拟机目录
- 使用压缩工具打包
命令行备份示例:
vmrun -T ws stop "[VMX路径]" tar -czvf backup.tar.gz "/path/to/vm" vmrun -T ws start "[VMX路径]"
11.2 系统数据备份
配置文件备份:
tar -czvf etc-backup.tar.gz /etc用户数据备份:
tar -czvf home-backup.tar.gz /home数据库备份:
mysqldump -u root -p --all-databases > all-databases.sql定期备份脚本:
cat <<EOF | tee /usr/local/bin/full-backup #!/bin/bash BACKUP_DIR="/backup/$(date +%Y%m%d)" mkdir -p "$BACKUP_DIR" # 备份配置文件 tar -czvf "$BACKUP_DIR/etc.tar.gz" /etc # 备份用户数据 tar -czvf "$BACKUP_DIR/home.tar.gz" /home # 备份数据库 mysqldump -u root -pPASSWORD --all-databases > "$BACKUP_DIR/all-databases.sql" # 备份软件列表 rpm -qa > "$BACKUP_DIR/packages.list" dnf repolist > "$BACKUP_DIR/repos.list" EOF chmod +x /usr/local/bin/full-backup
11.3 虚拟机迁移指南
迁移到其他VMware主机:
- 使用OVF工具导出
- 复制虚拟机文件到新主机
迁移到物理机:
# 创建系统镜像 dd if=/dev/sda | gzip > system.img.gz # 恢复到物理机 gzip -dc system.img.gz | dd of=/dev/sdX迁移到云平台:
- 使用qemu-img转换磁盘格式
- 上传到云平台并创建实例
跨平台迁移工具:
dnf install -y qemu-img qemu-img convert -f vmdk -O qcow2 disk.vmdk disk.qcow2
12. 资源扩展与升级
12.1 动态资源调整
增加CPU核心(需关机):
- 在VMware设置中增加处理器数量
- 启动后验证:
lscpu
增加内存(支持热添加):
- 在VMware设置中增加内存
- 在系统中查看:
free -h
扩展磁盘空间:
- 在VMware设置中扩展虚拟磁盘
- 在系统中扩展分区:
lsblk growpart /dev/sda 1 xfs_growfs /
12.2 系统升级策略
小版本升级(如SP3→SP4):
dnf makecache dnf update -y大版本升级(如23.03→24.03):
- 建议使用全新安装
- 或者使用
dnf system-upgrade:dnf install -y dnf-plugin-system-upgrade dnf system-upgrade download --releasever=24.03 dnf system-upgrade reboot
内核升级:
dnf install -y kernel grub2-mkconfig -o /boot/grub2/grub.cfg reboot
12.3 集群与高可用
安装Pacemaker集群:
dnf install -y pacemaker pcs systemctl enable --now pcsd passwd hacluster配置集群:
pcs cluster auth node1 node2 pcs cluster setup --name my_cluster node1 node2 pcs cluster start --all添加资源:
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s配置约束:
pcs constraint colocation add VirtualIP with WebServer INFINITY pcs constraint order WebServer then VirtualIP
13. 图形界面优化
13.1 GNOME桌面调优
安装优化工具:
dnf install -y gnome-tweaks禁用不必要的服务:
systemctl disable abrtd systemctl disable cups调整视觉效果:
gsettings set org.gnome.desktop.interface enable-animations false gsettings set org.gnome.desktop.background show-desktop-icons false安装扩展:
dnf install -y gnome-shell-extension*
13.2 远程桌面配置
安装XRDP:
dnf install -y xrdp systemctl enable --now xrdp配置防火墙:
firewall-cmd --permanent --add-port=3389/tcp firewall-cmd --reload优化显示设置:
cat <<EOF | tee /etc/xrdp/xrdp.ini [globals] bitmap_cache=yes bitmap_compression=yes max_bpp=24 EOF使用Windows远程桌面连接:
- 输入虚拟机IP地址
- 使用GNOME会话类型
13.3 3D加速配置
检查3D支持:
glxinfo | grep "OpenGL renderer"安装驱动:
dnf install -y mesa-dri-drivers配置VMware 3D:
- 在VMware设置中启用3D加速
- 显存设置为256MB以上
测试性能:
glxgears
14. 容器化部署
14.1 Podman基础
安装Podman:
dnf install -y podman podman-docker配置镜像加速:
mkdir -p /etc/containers cat <<EOF | tee /etc/containers/registries.conf.d/mirror.conf unqualified-search-registries = ["docker.io"] [[registry]] prefix = "docker.io" location = "docker.mirrors.ustc.edu.cn" EOF基本使用:
podman pull nginx podman run -d -p 80:80 --name web nginx
14.2 Kubernetes集群
安装minikube:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm dnf install -y minikube-latest.x86_64.rpm启动集群:
minikube start --driver=podman安装kubectl:
cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 g