提問: 我使用libvirt和virt-manager在我的Linux系統上創建虛擬機。我注意到虛擬機鏡像位於/var/lib/libvirt/images目錄。有沒有辦法改變虛擬機鏡像的默認路徑?
libvirt和它的GUI前端virt-manager可以使用不同的虛擬機管理程序創建和管理VM,例如LVM和Xen。默認上所有的虛擬機鏡像通過libvirt創建到/var/lib/libvirt/images目錄。然而,這有時並不是我們希望的。比如 /var/lib/libvirt/images 此處的磁盤分區大小有限。或者你想要存儲所有的虛擬機鏡像到一個特定的用於管理的倉庫中。
實際上,你可以非常容易地改變libvirt鏡像的默認目錄,或者稱之為“存儲池”。
有兩種方法可以改變默認存儲池。
方法一: Virt-Manager GUI
如果你正在使用virt-manager GUI程序,改變默認存儲池非常容易。
進入virt-manager的菜單GUI “編輯” -> "連接細節"。
你可以看到如下所是的默認存儲池。在窗口的左下角,點擊叉形按鈕,將會停止默認的存儲池。存儲池一旦停止後,點擊右邊的垃圾桶,將會刪除存儲池。注意這個動作不會刪除池中的鏡像。
現在點擊左邊的加號增加一個新的存儲池。
輸入新的存儲池的名字(比如:default),並且選擇存儲池的類型。本例中,因為我們只是改變存儲池目錄所以選擇“文件系統目錄”。
輸入新的存儲池路徑(比如,/storage)。
這時,新的存儲池應該啟動了,並且自動在你創建一個新的虛擬機的時候使用。
方法二: Virsh 命令行
另外一個改變默認存儲池目錄的方法是使用來自libvirt包的virsh 命令行工具。
首先,運行下面的命令來導出默認存儲池的XML定義。
$ virsh pool-dumpxml default > pool.xml
用文本編輯器打開XML文件,並且改變節點中的/var/lib/libvirt/images改成新的地址。
XML/HTML Code復制內容到剪貼板移除現在的默認池。
$ virsh pool-destroy default
Pool default destroyed
現在創建一個基於更新後的XML文件的新存儲池。
$ virsh pool-create pool.xml
Pool default created from pool.xml
這時,默認池已經改變到新的地址了,並且可以使用了。