插件窝 干货文章 KVM虚拟机安装部署全攻略分享

KVM虚拟机安装部署全攻略分享

Ubuntu bash libvirt 虚拟 660    来源:    2025-04-01

以下是一份详细的KVM虚拟机安装部署全攻略,涵盖从环境准备到虚拟机管理的完整流程:


一、环境准备

1. 硬件要求

  • CPU支持虚拟化(Intel需VT-x,AMD需AMD-Vbash grep -E '(vmx|svm)' /proc/cpuinfo # 检查CPU虚拟化支持
  • 建议内存≥4GB,存储空间≥20GB(根据虚拟机需求调整)

2. 系统要求

  • 推荐系统:Ubuntu/CentOS/RHEL/Debian等主流Linux发行版

二、安装KVM及相关组件

1. 安装KVM软件包

  • Ubuntu/Debian: bash sudo apt update sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
  • CentOS/RHEL: bash sudo yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager

2. 启动并启用服务

sudo systemctl enable --now libvirtd
sudo systemctl status libvirtd  # 检查服务状态

3. 用户权限配置

将当前用户加入libvirtkvm组:

sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)
newgrp libvirt  # 刷新组权限

三、网络配置(可选桥接网络)

1. 创建桥接网络

编辑网络配置文件(以Ubuntu为例):

sudo nano /etc/netplan/01-netcfg.yaml

添加桥接配置示例:

network:
  version: 2
  renderer: networkd
  bridges:
    br0:
      interfaces: [ens3]  # 替换为实际网卡名
      dhcp4: yes

2. 应用配置

sudo netplan apply

四、创建虚拟机

1. 使用virt-install命令行创建

sudo virt-install \
  --name=ubuntu-vm \
  --ram=2048 \
  --vcpus=2 \
  --disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20 \
  --os-type=linux \
  --os-variant=ubuntu20.04 \
  --network bridge=br0 \
  --graphics spice \
  --location=http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/ \
  --extra-args="console=ttyS0"

2. 使用图形界面(virt-manager)

sudo virt-manager  # 打开GUI工具创建虚拟机

五、虚拟机管理命令

1. 常用命令

virsh list --all           # 查看所有虚拟机
virsh start ubuntu-vm      # 启动虚拟机
virsh shutdown ubuntu-vm   # 正常关机
virsh destroy ubuntu-vm    # 强制停止
virsh edit ubuntu-vm       # 编辑配置
virsh console ubuntu-vm    # 连接控制台

2. 克隆虚拟机

virt-clone --original=ubuntu-vm --name=ubuntu-vm-clone --file=/path/to/clone.qcow2

六、高级功能

1. 快照管理

virsh snapshot-create-as ubuntu-vm --name snap1
virsh snapshot-list ubuntu-vm
virsh snapshot-revert ubuntu-vm --snapshotname snap1

2. 磁盘扩容

qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
virsh blockresize ubuntu-vm /var/lib/libvirt/images/ubuntu-vm.qcow2 30G

3. 直通设备(PCI Passthrough)

  1. 启用IOMMU(需在GRUB配置中添加intel_iommu=onamd_iommu=on
  2. 绑定设备到VFIO驱动: bash echo "options vfio-pci ids=10de:13c2" > /etc/modprobe.d/vfio.conf
  3. 在虚拟机XML配置中添加PCI设备。

七、常见问题解决

  1. 权限错误

    sudo chown -R root:libvirt /var/lib/libvirt/
    
  2. 虚拟机无法启动

    • 检查日志:virsh dumpxml vm-name | grep log
    • 查看错误:dmesg | grep kvm
  3. 网络连接失败

    • 确保防火墙放行流量: bash sudo ufw allow out on br0

八、性能优化建议

  1. 启用KSM(内存合并): bash echo 1 > /sys/kernel/mm/ksm/run
  2. 使用virtio驱动提升磁盘/网络性能。
  3. 针对CPU拓扑优化(如设置CPU亲和性)。

通过以上步骤,您可以快速部署和管理KVM虚拟机。根据实际需求调整资源配置,并利用快照、克隆等功能提高运维效率。