
kvmの仮想マシンにはいくつかのボリュームが割り当てられています。今このボリュームを削除したいと思います。 virsh vol-delete コマンドを使用し、ボリュームを削除しました。それでもゲスト側ではそのボリュームが見られます! lsblk、fdiskなどがボリュームをリストします。これは古いアイテムではありません。このボリュームにファイルを作成することもできます。ゲストを再起動しましたが、運がありませんでした。
以下のリストは、現在のプールにボリュームがないことを示しています。ブートボリュームだけがあります。しかし、ゲストは削除されたボリュームも表示します!
virsh # pool-list
Name State Autostart
-------------------------------------------
default active yes
pool_1 active yes
vm-images active yes
virsh # vol-list --pool default --->boot volume
Name Path
-----------------------------------------------------------------------
-------
GOS_1.qcow2 /var/lib/libvirt/images/GOS_1.qcow2
virsh # vol-list --pool pool_1 ---> I deleted from this pool
Name Path
------------------------------------------------------------------------------
virsh # vol-list --pool vm-images --->just vm image backup
Name Path
-----------------------------------------------------------------------
-------
centos70_vdisk.raw /container/vm-images/centos70_vdisk.raw
virsh #
私のゲストの言葉:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3G 0 disk ---ghost partition now
└─sda1 8:1 0 3G 0 part
sdb 8:16 0 20G 0 disk ----ghost partition now
sdc 8:32 0 20G 0 disk ---ghost partition now
sdd 8:48 0 4G 0 disk --boot
├─sdd1 8:49 0 500M 0 part /boot
└─sdd2 8:50 0 3.5G 0 part
├─centos-swap 253:0 0 412M 0 lvm [SWAP]
└─centos-root 253:1 0 3.1G 0 lvm /
[root@localhost ~]#
[root@localhost ~]#
しかし、VMが持っているdumpxmlコマンドを見ればわかります。
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/container/pool/TEST.qcow2'/>
<backingStore/>
<target dev='sdc' bus='scsi'/>
<alias name='scsi0-0-0-2'/>
<address type='drive' controller='0' bus='0' target='0' unit='2'/>
</disk>
ただし、その場所にディスクはありません。
[root@localhost ~]# ls /container/pool
[root@localhost ~]# ls -a /container/pool
. ..
[root@localhost ~]#
誰かがここで何が起こっているのかを理解するのに役立ちますか?
答え1
KVM ゲストからボリュームを削除するには、ゲストをシャットダウンする必要があります。