在Debian11上安装配置KVM虚拟机
在Debian11上安装配置KVM虚拟机
前提
检查是否满足虚拟化要求, 可以根据如下步骤验证:
检查是否开启虚拟化,如果值大于 0 则支持虚拟化,否则需要在 BIOS 中开启虚拟化, 重启重新执行如下命令
egrep -c '(vmx|svm)' /proc/cpuinfo
检查 CPU 类型: 如果是 Intel 的 CPU, 输出 VMX;如果是 AMD 的 CPU, 输出 SVM
grep -E --color '(vmx|svm)' /proc/cpuinfo
安装相关包
apt update apt install -y qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon
安装 GUI 管理工具(可选)
没用桌面的不用装 GUI
apt install virt-manager -y
配置网络
要列出要在 KVM 虚拟机中使用的可用网络,请运行以下命令:
virsh net-list --all
默认情况下是不活跃的,需要启动
virsh net-start default virsh net-autostart default
执行上述命令后结果如下
root@debian 13:14 ➜ ~ virsh net-list --all Name State Autostart Persistent -------------------------------------------- default active yes yes
加载内核模块 vhost_net
提高网络性能
modprobe vhost_net # 检查是否加载成功 lsmod | grep vhost
配置桥接网络
KVM 自带有一个开箱即用的 virbr0 桥接网络接口, 但是默认分配 ip 不太满足需求,需要新建一个
编辑 /etc/network/interfaces
根据实际情况新增如下, 我需要 dhcp 分配 ip(可以是静态 ip)
auto br0 iface br0 inet dhcp bridge_ports wlp1s0
更改完成后, 重启网络
systemctl restart networking.service ip r
从镜像创建虚拟机
简单记录一下创建 windows 和 linux 虚拟机的过程
创建 Linux 虚拟机
# 创建虚拟机磁盘 qemu-img create -f qcow2 /var/lib/libvirt/images/debian11.qcow2 20G virt-install \ --name debian11 \ --memory memory=1024,currentMemory=512 \ --disk path=/var/lib/libvirt/images/debian11.qcow2,size=20 \ --vcpus 1 \ --os-type linux \ --os-variant debian10 \ --network bridge=br0,model=virtio \ --graphics none \ --console pty,target_type=serial \ --location 'http://mirrors.tencent.com/debian/dists/bullseye/main/installer-amd64/' \ --extra-args 'console=ttyS0,115200n8 serial' \ --debug
创建 windows 虚拟机
virt-install \ --name win10 \ --ram 2048 \ --disk path=/var/lib/libvirt/images/win10.qcow2,size=20 \ --vcpus 2 \ --os-type windows \ --os-variant win10 \ --network bridge=br0,model=virtio \ --graphics none \ --console pty,target_type=serial \ --cdrom /home/ysicing/Downloads/Win10_21H1_Chinese(Simplified)_x64.iso \ --extra-args 'console=ttyS0,115200n8 serial'
开启 vnc
virsh vncdisplay win10
导入虚拟机
virt-install \ --name debian11 \ --ram 2048 \ --disk path=/var/lib/libvirt/images/debian11.qcow2,size=20 \ --vcpus 2 \ --os-type linux \ --os-variant debian11 \ --network bridge=br0,model=virtio \ --graphics none \ --console pty,target_type=serial \ --import
导出虚拟机为 qcow2
virt-clone --original debian11 --name debian11-clone --file /var/lib/libvirt/images/debian11-clone.qcow2
常见高级操作
查看虚拟机
virsh list --all
执行上述命令后结果如下
root@debian 13:14 ➜ ~ virsh list --all Id Name State ------------------------ 2 debian11 running
销毁虚拟机
virsh destroy debian11 virsh undefine debian11
关闭虚拟机
virsh shutdown debian11

