KVM 报错以及处理
- 删除kvm虚拟机出现cannot undefine domain with nvram
删除Kvm虚拟时,需要先destroy,然后在undefine某台虚拟机,但是在删除其中一台虚拟机时出现以下错误:
me@ubuntu:~/virtual_machine$ virsh undefine ubuntu_2
error: Failed to undefine domain ubuntu_2
error: Requested operation is not valid: cannot undefine domain with nvram
这个时候可以使用--nvram
选项删除, 搜遍全网,并没有找到解决办法,这个最好使。
me@ubuntu:~/virtual_machine$ virsh undefine ubuntu_2 --nvram
Domain ubuntu_2 has been undefined
- KVM挂载硬盘容量显示不正确
#创建了一个disk文件, 用于给7号VM添加100G的新硬盘
sudo qemu-img create -f qcow2 ubuntu_vm7_disk_100G 100G
#挂载这个文件到sdb,sdb需要是虚机上未使用的名字
virsh attach-disk ubuntu_7 /var/lib/libvirt/images/ubuntu_vm7_disk_100G vdb --cache none
#提示挂载成功,但是进入虚机查看硬盘设备,看到设备,但是容量明显不对,194k只是文件的大小,虚机里面应该看到100G才对
me@ubuntu7:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 50G 0 disk
├─vda1 252:1 0 512M 0 part /boot/efi
└─vda2 252:2 0 49.5G 0 part /
vdb 252:16 0 194K 0 disk
#原因是当创建qcow2格式的硬盘时,挂载需要使用--subdriver 制定驱动类型
#先卸载硬盘
virsh detach-disk ubuntu_7 /var/lib/libvirt/images/ubuntu_vm7_disk_100G
#再重新挂载
virsh attach-disk ubuntu_7 /var/lib/libvirt/images/ubuntu_vm7_disk_100G vdb --subdriver=qcow2
#进入虚机查看
me@ubuntu7:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 50G 0 disk
├─vda1 252:1 0 512M 0 part /boot/efi
└─vda2 252:2 0 49.5G 0 part /
vdb 252:16 0 194K 0 disk