华为鲲鹏服务器无桌面环境KVM实战:手把手用virt-install命令行创建AnolisOS虚拟机

张开发
2026/5/31 22:58:53 15 分钟阅读
华为鲲鹏服务器无桌面环境KVM实战:手把手用virt-install命令行创建AnolisOS虚拟机
华为鲲鹏服务器无桌面环境KVM实战手把手用virt-install命令行创建AnolisOS虚拟机在ARM架构逐渐成为云计算和边缘计算重要选择的今天华为鲲鹏服务器凭借其高性能和低功耗特性正在企业级市场获得越来越多的青睐。对于需要在纯命令行环境下快速部署ARM虚拟机的运维工程师来说掌握KVM虚拟化技术的高效使用方法显得尤为重要。本文将带你深入探索如何在无图形界面的华为Taishan服务器上通过virt-install命令行工具完成AnolisOS虚拟机的全流程部署。1. 环境准备与基础配置在开始创建虚拟机之前我们需要确保华为Taishan服务器的KVM环境已经正确配置。鲲鹏920处理器内置了硬件虚拟化支持这为高效运行KVM虚拟机提供了基础保障。首先检查CPU虚拟化支持情况grep -E svm|vmx /proc/cpuinfo对于ARM架构我们应该看到aarch64标志。如果输出为空可能需要在BIOS中开启虚拟化支持。接下来安装必要的KVM组件yum install -y qemu-kvm libvirt virt-install bridge-utils启动libvirtd服务并设置开机自启systemctl start libvirtd systemctl enable libvirtd验证KVM模块是否加载lsmod | grep kvm预期输出应包含kvm和kvm_arm模块。提示华为鲲鹏服务器通常使用特殊的固件配置如果遇到UEFI相关问题可能需要检查/usr/share/AAVMF/目录下的固件文件是否完整。2. 存储与网络基础配置在无桌面环境中我们需要预先规划好存储和网络配置。对于存储建议为虚拟机创建独立的qcow2镜像文件这种格式支持快照和动态扩容。创建虚拟机磁盘qemu-img create -f qcow2 /var/lib/libvirt/images/anolis-vm.qcow2 100G网络配置方面华为鲲鹏服务器通常使用桥接网络以获得最佳性能。以下是一个典型的桥接网络配置示例# 创建桥接接口 nmcli connection add type bridge con-name br0 ifname br0 # 将物理网卡加入桥接 nmcli connection add type bridge-slave con-name br0-slave ifname eth0 master br0 # 启用桥接 nmcli connection up br0验证网络配置virsh net-list --all ip addr show br03. 使用virt-install创建虚拟机virt-install是创建KVM虚拟机的强大命令行工具它提供了丰富的参数来定制虚拟机配置。下面是一个针对AnolisOS优化的完整命令示例virt-install \ --name anolis-vm \ --memory 8192,maxmemory8192 \ --vcpus 8,maxvcpus8 \ --cpu host-passthrough \ --os-variant anolis8 \ --machine virt \ --boot uefi \ --disk path/var/lib/libvirt/images/anolis-vm.qcow2,formatqcow2,busvirtio \ --disk path/path/to/AnolisOS-8.6-aarch64-minimal.iso,devicecdrom \ --network bridgebr0,modelvirtio \ --graphics none \ --console pty,target_typeserial \ --noautoconsole \ --extra-args consolettyS0,115200n8关键参数解析--cpu host-passthrough将主机CPU特性完全传递给虚拟机这对性能敏感应用特别重要--os-variant anolis8指定操作系统类型以获得最佳配置--boot uefi使用UEFI启动方式这是ARM架构的推荐选择--noautoconsole不自动连接控制台适合远程安装场景--extra-args传递内核参数确保安装过程输出到串口控制台注意AnolisOS的ISO镜像路径需要替换为实际存放位置。如果使用网络安装可以用--location参数替代ISO磁盘。4. 通过串口控制台完成安装由于我们使用了--noautoconsole参数安装过程不会自动显示。需要通过virsh命令手动连接控制台virsh console anolis-vm连接后你将看到AnolisOS的文本安装界面。安装过程中有几个关键点需要注意磁盘分区建议选择自动分区除非有特殊需求网络配置确保正确配置网络以便安装完成后可以远程访问软件包选择根据需求选择最小安装或带GUI的安装root密码设置强密码或配置SSH密钥登录安装完成后系统会自动重启。此时需要断开ISO引导virsh change-media anolis-vm hda --eject5. 虚拟机管理与高级配置虚拟机创建完成后日常管理主要通过virsh命令进行。以下是一些常用操作查看虚拟机状态virsh list --all启动/停止虚拟机virsh start anolis-vm virsh shutdown anolis-vm修改虚拟机配置virsh edit anolis-vm对于性能调优可以考虑以下配置CPU绑定将vCPU绑定到特定物理核心内存大页使用大页内存提升性能virtio驱动确保所有设备使用virtio驱动# 启用大页内存示例 virsh setmem anolis-vm 8G --live virsh setvcpus anolis-vm 8 --live6. 常见问题排查在ARM架构上使用KVM可能会遇到一些特殊问题以下是几个常见问题及解决方法问题1虚拟机无法启动提示UEFI错误解决方法# 确保安装了正确的固件 yum install AAVMF # 在虚拟机配置中添加固件路径 loader readonlyyes typepflash/usr/share/AAVMF/AAVMF_CODE.fd/loader问题2串口控制台无输出解决方法检查--extra-args参数是否正确确保内核配置了串口支持尝试不同的波特率问题3网络性能不佳解决方法使用virtio网络设备调整MTU大小考虑使用SR-IOV如果硬件支持# 检查虚拟机网络配置 virsh dumpxml anolis-vm | grep -i network7. 自动化部署与扩展对于需要批量部署的场景可以将virt-install命令封装到脚本中。下面是一个简单的自动化部署脚本框架#!/bin/bash VM_NAMEanolis-vm-$1 MEM_SIZE$2 CPU_COUNT$3 DISK_SIZE$4 ISO_PATH$5 qemu-img create -f qcow2 /var/lib/libvirt/images/${VM_NAME}.qcow2 ${DISK_SIZE}G virt-install \ --name ${VM_NAME} \ --memory ${MEM_SIZE},maxmemory${MEM_SIZE} \ --vcpus ${CPU_COUNT},maxvcpus${CPU_COUNT} \ --cpu host-passthrough \ --os-variant anolis8 \ --machine virt \ --boot uefi \ --disk path/var/lib/libvirt/images/${VM_NAME}.qcow2,formatqcow2,busvirtio \ --disk path${ISO_PATH},devicecdrom \ --network bridgebr0,modelvirtio \ --graphics none \ --console pty,target_typeserial \ --noautoconsole \ --extra-args consolettyS0,115200n8对于更复杂的场景可以考虑使用Terraform或Ansible等工具进行编排管理。

更多文章