Libvirt

取消定義所有非活動域

  • December 27, 2018

我在 libvirt 中有多個非活動域,我想將它們全部刪除:

# virsh list --inactive
Id Name                 State
----------------------------------
 - instance-0000000c    shut off
 - instance-0000000f    shut off
 - instance-00000010    shut off

有沒有一種簡單的方法來告訴 libvirt 刪除所有非活動域,或者我必須手動執行:

# virsh undefine instance-0000000c
# virsh undefine ...

像這樣的東西應該​​工作:

$ virsh list --inactive | grep instance | cut -d " " -f 4 | xargs -n 1 virsh undefine

如果您想在殺死它們之前查看該列表:

$ virsh list --inactive | grep instance | cut -d " " -f 4 > inactive_domains
$ vi inactive_domains

然後,如果一切看起來都不錯:

$ cat inactive_domains | xargs -n 1 virsh undefine

有一種更清潔的方法來做到這一點:

virsh list --inactive --name | xargs -r -n 1 virsh undefine

小心,它會全部清除。當沒有什麼要清理的時候它也不會失敗。

引用自:https://serverfault.com/questions/363433