我在 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 ~]#
但是我可以从 dumpxml 命令中看到,vm 有
<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
关闭客户机(销毁)。然后尝试重新启动。
在 *nix 中,通常当删除打开的文件时,它会从目录中删除,但当没有人打开它时,它实际上是从磁盘中删除的。