KVM 报错以及处理

  1. 删除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
  1. 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
posted @ 2019-01-07 14:57  dface  阅读(3584)  评论(1编辑  收藏  举报