1. 虚拟机管理
查看操作
# 罗列出所有的虚拟机
virsh list --all
# 查看虚拟机的基本信息
virsh dominfo vm_name_or_id
# 以 xml 格式展示虚拟机的详细信息(就是定义虚拟机的 xml 文件)
virsh dumpxml vm_name_or_id
# 列出虚拟机所有的块设备
virsh domblklist vm_name_or_id
# 列出虚拟机所有的虚拟网卡
virsh domiflist vm_name_or_id
启停操作
# 正常关闭虚拟机
virsh shutdown vm_name_or_id
# 强制关闭虚拟机
virsh destroy vm_name_or_id
# 启动虚拟机
virsh start vm_name_or_id
# 重启虚拟机
virsh reboot vm_name_or_id
# 挂起 & 恢复虚拟机
virsh suspend vm_name_or_id
virsh resume vm_name_or_id
# 设置、或取消随着 libvirtd 的启动而启动
virsh autostart vm_name_or_id
virsh autostart --disable vm_name_or_id
修改操作
# 编辑虚拟机的 xml 定义文件
virsh edit vm_name_or_id
# 为虚拟机添加虚拟机网卡(将虚拟机挂接到指定的网桥上)
virsh attach-interface --domain vm_name_or_id --type bridge --source virbr0 --model virtio --persistent --live
# 移除虚拟机的虚拟机网卡(将虚拟机从指定的网桥上移除)
virsh detach-interface --domain vm_name_or_id --type bridge --mac 52:54:00:69:15:de --persistent --config
# 为虚拟机添加磁盘设备
virsh attach-disk --domain vm_name_or_id --source /images2/vol1.qcow2 --target vdb --persistent --config
# 移除虚拟机的磁盘设备
virsh detach-disk --domain vm_name_or_id --target vdb --persistent --config
定义操作
# 使用指定的 xml 配置文件定义虚拟机(但不启动)
virsh define xml_file
# 取消一台不活跃虚拟机的定义
virsh undefine vm_name_or_id
其他操作
# 通过控制台连接虚拟机
virsh console vm_name_or_id
2. 磁盘管理
查看操作
# 查看磁盘的信息(磁盘需处于不活跃状态)
qemu-img info rhel6u3-b.img
创建操作
# 创建一块大小为 5G 的磁盘 centos1.qcow2
qemu-img create -f qcow2 centos1.qcow2 5G
# 指定后端镜像文件,新创建的镜像文件仅记录与后端镜像文件的差异部分:CoW。
# 后端镜像文件不会被修改,除非 qemu-img commit 命令去手动提交这些改动。
qemu-img create -f qcow2 -b ubuntu1.qcow2 ubuntu4.qcow2 -o size=30G
扩缩容操作
# 大小变为 2G
qemu-img resize rhel6u3-a.img 2G
# 大小增大 2G
qemu-img resize rhel6u3-a.img +2G
# 大小减少 2G
qemu-img resize rhel6u3-b.img -2G
快照操作
# 罗列出所有的快照
qemu-img snapshot -l ubuntu1.img
# 创建名为 snap1 的快照
qemu-img snapshot -c snap1 ubuntu1.img
# 删除名为 snap1 的快照
qemu-img snapshot -d snap1 ubuntu1.img
# 使用名为 snap1 的快照
qemu-img snapshot -a snap1 ubuntu1.img