主题
Virsh
virsh 是 libvirt 的命令行管理工具,用于管理 KVM/QEMU 虚拟机。以下命令默认由 root 用户执行,并管理系统级 qemu:///system 虚拟机。
Virsh 安装与卸载
安装
bash
apt update
apt install -y qemu-system-x86 libvirt-daemon-system libvirt-clients virt-install
systemctl enable --now libvirtd
virsh --connect qemu:///system list --all卸载
bash
apt purge -y qemu-system-x86 libvirt-daemon-system libvirt-clients virt-install
apt autoremove --purge -y卸载软件包不会自动删除已有的虚拟机磁盘。
虚拟机实例安装与卸载
安装
使用 Debian 13 网络安装源创建虚拟机:
bash
virt-install \
--connect qemu:///system \
--name debian13 \
--virt-type kvm \
--memory 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/debian13.qcow2,size=20,format=qcow2 \
--network network=default,model=virtio \
--location https://deb.debian.org/debian/dists/trixie/main/installer-amd64/ \
--os-variant debian13 \
--graphics none \
--console pty,target_type=serial \
--extra-args 'console=ttyS0'虚拟机名称、CPU、内存和磁盘大小可按需调整。安装过程使用串口控制台,按 Ctrl + ] 退出。
卸载
关闭虚拟机,确认状态和磁盘路径:
bash
virsh shutdown debian13
virsh domstate debian13
virsh domblklist debian13只删除虚拟机定义并保留磁盘:
bash
virsh undefine debian13同时删除虚拟机磁盘
以下命令会删除虚拟机定义、NVRAM 和由 libvirt 管理的所有存储卷,操作不可恢复:
bash
virsh undefine debian13 --remove-all-storage --nvram自定义路径或不受 libvirt 存储池管理的磁盘可能不会被删除,需要根据 domblklist 的结果单独确认。
虚拟机管理
bash
# 查看所有虚拟机
virsh list --all
# 查看基本信息
virsh dominfo debian13
# 查看 IP 地址
virsh domifaddr debian13 --source lease
# 启动
virsh start debian13
# 重启
virsh reboot debian13
# 正常关机
virsh shutdown debian13
# 强制断电,不会删除虚拟机
virsh destroy debian13
# 进入串口控制台,通过 Ctrl + ] 退出
virsh console debian13
# 启用开机自启
virsh autostart debian13
# 禁用开机自启
virsh autostart debian13 --disable