Kvm-Virtualization

如何從 libvirt 更改預設儲存池?

  • June 28, 2021

我正在嘗試在 KVM 上使用不同的儲存池來儲存我的虛擬機的虛擬磁碟以及我正在使用的作業系統的 ISO。

**例如:**我想使用/media/work/kvm掛載的目錄/dev/sda5,作為未來所有情況的預設儲存池

要配置、創建和啟動一個新的儲存池,這很容易,但至少在 Ubuntu 中,如果我從不同的儲存池中選擇 ISO 並不重要,Virtual Machine Manager總是將我指向預設儲存池 ( /var/cache/libvirt) 作為將創建來自我的 VM 的虛擬磁碟的儲存。

我怎樣才能避免這種情況?

在執行這些步驟之前,請確保您以普通使用者身份執行這些命令並且您的使用者屬於該組libvirtd(在某些系統上libvirt)。

以下是我使用的以下命令:

列出目前池:

$ virsh pool-list
   
Name                 State      Autostart 
-------------------------------------------
default              active     yes 

破壞池:

$ virsh pool-destroy default
Pool default destroyed

取消定義池:

$ virsh pool-undefine default
Pool default has been undefined

創建一個目錄來託管新池(如果它不存在):

$ sudo mkdir /media/work/kvm

定義一個名為“default”的新池:

$ virsh pool-define-as --name default --type dir --target /media/work/kvm
Pool default defined

設置在 libvirt 守護程序啟動時啟動的池:

$ virsh pool-autostart default
Pool default marked as autostarted

啟動池:

$ virsh pool-start default
Pool default started

檢查池狀態:

$ virsh pool-list
Name                 State      Autostart 
-------------------------------------------
default              active     yes  

從現在開始,在創建虛擬機時,Virtual Machine Manager 會通知您 *.img 文件(您的 VM 的虛擬磁碟)將保存在 /media/work/kvm。

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