Ubuntu KVM-QEMU-libvirt HEW
本文记录在Ubuntu系统中配置虚拟化环境的完整过程,包括libvirt、KVM、QEMU等核心组件的安装与验证。
一、方案
虚拟化方案:KVM + QEMU + libvirt
二、安装虚拟化组件
2.1 安装基础虚拟化工具
sudo apt update
sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils2.2 验证KVM支持
egrep -c '(vmx|svm)' /proc/cpuinfo输出大于0表示CPU支持硬件虚拟化。
2.3 启动libvirt服务
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
sudo systemctl status libvirtd2.4 将当前用户加入libvirt组
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
newgrp libvirt三、安装固件和BIOS支持
sudo apt install ovmf seabios qemu-efi-aarch64已安装的关键包:
- ovmf - UEFI固件支持
- seabios - 传统BIOS支持
- qemu-efi-aarch64 - ARM64 UEFI支持
四、QEMU系统模拟器
QEMU提供了多种系统架构的模拟支持:
sudo apt install qemu-system
qemu-system-x86 # x86/x64架构
qemu-system-arm # ARM架构
qemu-system-ppc # PowerPC架构
qemu-system-riscv # RISC-V架构
qemu-system-sparc # SPARC架构
qemu-system-s390x # IBM S/390架构
qemu-system-mips # MIPS架构五、网络配置
5.1 启用默认网络
sudo virsh net-list --all
sudo virsh net-start default
sudo virsh net-autostart default5.2 检查网桥配置
ip link show
virsh net-dumpxml default六、存储池配置
sudo virsh pool-list --all
sudo virsh pool-start default
sudo virsh pool-info default默认存储池路径通常位于/var/lib/libvirt/images/
七、验证安装
virsh version
qemu-img --version
libvirtd --version
sudo systemctl status libvirtd八、创建第一个虚拟机
8.1 下载测试镜像
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
mv jammy-server-cloudimg-amd64.img /var/lib/libvirt/images/8.2 使用virt-install安装
sudo virt-install --name ubuntu-test --ram 2048 --disk path=/var/lib/libvirt/images/jammy-server-cloudimg-amd64.img --vcpus 2 --os-type linux --os-variant ubuntu22.04 --network bridge=virbr0 --graphics vnc --noautoconsole8.3 管理虚拟机
virsh list --all
virsh start ubuntu-test
virsh shutdown ubuntu-test
virsh destroy ubuntu-test
virsh undefine ubuntu-test九、常用管理命令
# 列出所有虚拟机
virsh list --all
# 查看虚拟机信息
virsh dominfo ubuntu-test
# 访问虚拟机控制台
virsh console ubuntu-test
# 远程连接
virsh -c qemu:///system
virsh -c qemu+ssh://user@host/system
# 快照管理
virsh snapshot-create ubuntu-test
virsh snapshot-list ubuntu-test
virsh snapshot-revert ubuntu-test snapshot-name
# 克隆虚拟机
virt-clone --original ubuntu-test --name ubuntu-clone --auto-clone十、性能优化
10.1 启用KVM加速
qemu-system-x86_64 -enable-kvm -m 4096 -cdrom install.iso10.2 CPU pinning
virsh edit ubuntu-test
# 添加以下内容
<cputune>
<vcpupin vcpu='0' cpuset='0-1'/>
<vcpupin vcpu='1' cpuset='2-3'/>
</cputune>10.3 内存巨页
sudo sysctl vm.nr_hugepages=1024
sudo sysctl -w vm.nr_hugepages=1024十一、故障排查
# 查看libvirt日志
sudo journalctl -u libvirtd -f
# 查看虚拟机日志
sudo virsh console ubuntu-test
# 检查KVM模块状态
lsmod | grep kvm
cat /dev/kvm
# 检查网络桥接
brctl show
ip addr show virbr0
# 常见错误处理
# 错误: failed to find kernel
virt-install --location http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/
# 错误: permission denied
sudo chmod 666 /dev/kvm十二、远程管理
12.1 启用libvirt TCP连接
sudo systemctl edit libvirtd
# 添加以下内容
[Service]
ExecStart=
ExecStart=/usr/sbin/libvirtd -v --listen十三、ubuntu 26.04 新功能
切换到 Virtualization HWE stack
sudo ubuntu_virt_helper switch