13.8. 使用命令行删除虚拟机存储
如果您不再需要附加到虚拟机(VM)的虚拟磁盘,或者要释放主机存储资源,则可以使用命令行进行以下任一操作:
- 从虚拟机中分离虚拟磁盘。
- 删除虚拟磁盘及其内容。
- 取消激活与虚拟磁盘相关的存储池。
- 删除与虚拟磁盘相关的存储池。
流程
要从虚拟机中分离虚拟磁盘,请使用
virsh detach-disk命令。可选:列出附加到虚拟机的所有存储设备:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
target参数分离磁盘。例如,要将连接到vdc的磁盘分离到testguest虚拟机,请使用以下命令:virsh detach-disk testguest vdc --persistent
# virsh detach-disk testguest vdc --persistentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
要删除磁盘,请执行以下操作之一:
如果磁盘作为存储卷管理,请使用
virsh vol-delete命令。例如,要删除与存储池RHEL-storage-pool关联的卷test-disk2:virsh vol-delete --pool RHEL-storage-pool test-disk2
# virsh vol-delete --pool RHEL-storage-pool test-disk2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果磁盘完全基于文件,请删除该文件。
rm /home/VirtualMachines/test-disk2.qcow2
# rm /home/VirtualMachines/test-disk2.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要取消激活存储池,请使用
virsh pool-destroy命令。当您取消激活存储池时,无法在那个池中创建新卷。但是,在那个池中拥有卷的任何虚拟机都将继续运行。例如,如果要限制池中可以创建的卷数量来提高系统性能,这非常有用。
virsh pool-destroy RHEL-storage-pool
# virsh pool-destroy RHEL-storage-pool Pool RHEL-storage-pool destroyedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要完全删除存储池,请使用
virsh pool-undefine命令删除其定义。virsh pool-undefine RHEL-storage-pool
# virsh pool-undefine RHEL-storage-pool Pool RHEL-storage-pool has been undefinedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要确认您对虚拟机存储的更改成功,请检查主机上虚拟存储的当前状态。
具体步骤请参阅 使用命令行查看虚拟机存储信息。