插件窝 干货文章 如何配置和管理Linux上的虚拟化环境

如何配置和管理Linux上的虚拟化环境

bash virsh 虚拟化 Libvirt 785    来源:    2025-04-10

在Linux上配置和管理虚拟化环境主要涉及KVM、QEMU、Libvirt等工具。以下是详细指南:


一、环境准备

  1. 硬件检查

    egrep -c '(vmx|svm)' /proc/cpuinfo  # 大于0表示支持虚拟化
    lsmod | grep kvm                    # 检查KVM模块
    
  2. 安装软件包

    • Debian/Ubuntu: bash sudo apt update && sudo apt install -y qemu-kvm libvirt-daemon-system virt-manager bridge-utils
    • RHEL/CentOS: bash sudo yum install -y qemu-kvm libvirt virt-install virt-manager bridge-utils
  3. 启动服务

    sudo systemctl enable --now libvirtd
    

二、网络配置

  1. 默认NAT网络

    virsh net-list --all              # 查看网络
    virsh net-start default           # 启动默认网络
    
  2. 创建桥接网络
    编辑 /etc/netplan/01-netcfg.yaml (Ubuntu) 或 /etc/sysconfig/network-scripts/ifcfg-* (RHEL):

    # Ubuntu示例
    network:
     version: 2
     renderer: networkd
     bridges:
       br0:
         interfaces: [eth0]
         dhcp4: yes
    

    应用配置:

    sudo netplan apply
    

三、虚拟机管理

  1. 创建虚拟机

    virt-install \
     --name vm1 \
     --ram 2048 \
     --vcpus 2 \
     --disk path=/var/lib/libvirt/images/vm1.qcow2,size=20 \
     --os-type linux \
     --os-variant ubuntu20.04 \
     --network bridge=br0 \
     --graphics spice \
     --cdrom ~/Downloads/ubuntu-20.04.iso
    
  2. 常用命令

    virsh list --all           # 查看虚拟机
    virsh start vm1            # 启动
    virsh shutdown vm1         # 正常关机
    virsh destroy vm1          # 强制停止
    virsh edit vm1             # 修改配置
    virsh console vm1          # 连接控制台
    

四、存储管理

  1. 创建存储池

    virsh pool-define-as --name storage --type dir --target /mnt/storage
    virsh pool-start storage
    
  2. 快照管理

    virsh snapshot-create-as vm1 --name snap1
    virsh snapshot-list vm1
    virsh snapshot-revert vm1 snap1
    

五、高级功能

  1. PCI直通

    • 启用IOMMU(在GRUB中追加 intel_iommu=onamd_iommu=on
    • 绑定设备到VFIO驱动: bash echo "options vfio-pci ids=10de:13c2,10de:0fbb" > /etc/modprobe.d/vfio.conf update-initramfs -u
  2. 嵌套虚拟化

    echo "options kvm-intel nested=1" > /etc/modprobe.d/kvm-intel.conf
    modprobe -r kvm-intel && modprobe kvm-intel
    

六、监控与优化

  1. 资源监控

    virt-top                      # 类似top的虚拟化监控
    sar -r 1 3                   # 内存使用
    
  2. 性能调优

    • 使用 virtio 驱动(磁盘和网络)
    • 启用KSM(内存去重): bash echo 1 > /sys/kernel/mm/ksm/run

七、故障排查

  1. 日志检查

    journalctl -u libvirtd -f    # 实时日志
    cat /var/log/libvirt/qemu/vm1.log
    
  2. 常见问题

    • 权限错误: 将用户加入 libvirtkvm 组: bash sudo usermod -aG libvirt,kvm $USER
    • 网络问题: 检查防火墙规则: bash sudo iptables -L -n | grep libvirt

通过以上步骤,您可以高效管理Linux虚拟化环境。对于生产环境,建议结合Cockpit或OpenStack等工具实现更集中的管理。