跳到主要内容

KVM

虚拟磁盘格式

raw:裸格式,占用空间大,不支持快照,性能好

qcow2:qemu copy on write(qemu写时复制,thin)支持快照,性能较raw稍差

各种命令

qemu-img info # 查看磁盘信息
qemu-img convert -f raw -O qcow2 name.raw name.qcow2 # 转换格式,支持vmdk
qemu-img create -f qcow2 <filename> 20G # 创建qcow2磁盘镜像
virsh list # 在线VM
virsh list --all # 所有VM

virsh start <name> # 开机
virsh shutdown <name> # 软关机
virsh destroy <name> # 强制关机
virsh reboot <name> # 重启
virsh suspend <name> # 挂起,状态paused
virsh resume <name> # 解除挂起

virsh define <name.xml> # 导入备份的xml配置
virsh dnmpxml <name> > <name.xml> # 配置备份,xml配置文件路径 /etc/libvirt/qemu
virsh undefine <name># 删除vm,只是删除配置文件,磁盘文件还在;
virsh edit <name> # 修改配置文件,带语法检查
virsh domrename <oldname> <newname> # 重命名,在关机状态修改

virsh vncdisplayer # 查看vnc端口号
virsh autostart <name> # 开机自启动,原理配置软连接实现
virsh autostart --disable <name> # 取消开机启动
virsh console <name> # ctrl + ] 切换退出,可不通过网络,底层console连接

virsh setmaxmem 64G <demo> --config # 修改内存大小
virsh setvcpus <demo> 8 --config # 修改cpu核数

virsh snapshot-create # 快照
virsh snapshot-list # 快照列表,快照直接放在虚拟磁盘中
virsh snapshot-delete <vmname> --snapshotname # 删除快照,删除快照文件不会变小
virsh snapshot-revert <vmname> # 还原快照
# 挂载盘
attach-disk <gz-demo> </datafs2/vm/gz-demo/demo.qcow2> vdc --subdriver qcow2 --config

虚拟机停机迁移步骤

# 从原宿主导出虚拟机配置文件.
virsh dumpxml <demo> > <demo.xml>

# 目标宿主导入虚拟机配置文件
virsh define <demo.xml>

# 关闭原虚拟机,拷贝原有路径虚拟机文件,如果目录有变更,需要编辑修改磁盘文件路径
virsh shutdown <demo>
scp <demo> ${detination}:/data/

出现CPU不支持报错

error: unsupported configuration: guest and host CPU are not compatible: Host CPU does not provide required features: fma, movbe, fsgsbase, bmi1, avx2, smep, bmi2, erms, invpcid

# 编辑cpu段配置,使虚拟机兼容。具体为修改model与本机其他虚拟机一致
virsh edit demo

#查看本机支持的CPU model类型
cat /usr/share/libvirt/cpu_map.xml
<cpu mode='custom' match='exact' check='partial'>
<model fallback='allow'>SandyBridge-IBRS</model>
</cpu>