提問: 我使用libvirt和virt-manager在我的Linux系統(tǒng)上創(chuàng)建虛擬機。我注意到虛擬機鏡像位于/var/lib/libvirt/images目錄。有沒有辦法改變虛擬機鏡像的默認路徑?
libvirt和它的GUI前端virt-manager可以使用不同的虛擬機管理程序創(chuàng)建和管理VM,例如LVM和Xen。默認上所有的虛擬機鏡像通過libvirt創(chuàng)建到/var/lib/libvirt/images目錄。然而,這有時并不是我們希望的。比如 /var/lib/libvirt/images 此處的磁盤分區(qū)大小有限?;蛘吣阆胍鎯λ械奶摂M機鏡像到一個特定的用于管理的倉庫中。
實際上,你可以非常容易地改變libvirt鏡像的默認目錄,或者稱之為“存儲池”。
有兩種方法可以改變默認存儲池。
方法一: Virt-Manager GUI
如果你正在使用virt-manager GUI程序,改變默認存儲池非常容易。
進入virt-manager的菜單GUI “編輯” -> "連接細節(jié)"。
你可以看到如下所是的默認存儲池。在窗口的左下角,點擊叉形按鈕,將會停止默認的存儲池。存儲池一旦停止后,點擊右邊的垃圾桶,將會刪除存儲池。注意這個動作不會刪除池中的鏡像。
現(xiàn)在點擊左邊的加號增加一個新的存儲池。
輸入新的存儲池的名字(比如:default),并且選擇存儲池的類型。本例中,因為我們只是改變存儲池目錄所以選擇“文件系統(tǒng)目錄”。
輸入新的存儲池路徑(比如,/storage)。
這時,新的存儲池應該啟動了,并且自動在你創(chuàng)建一個新的虛擬機的時候使用。
方法二: Virsh 命令行
另外一個改變默認存儲池目錄的方法是使用來自libvirt包的virsh 命令行工具。
首先,運行下面的命令來導出默認存儲池的XML定義。
$ virsh pool-dumpxml default > pool.xml
用文本編輯器打開XML文件,并且改變節(jié)點中的/var/lib/libvirt/images改成新的地址。
XML/HTML Code復制內(nèi)容到剪貼板
- pool type='dir'>
- name>default/name>
- uuid>0ec0e393-28a2-e975-feec-0c7356f38d08/uuid>
- capacity unit='bytes'>975762788352/capacity>
- allocation unit='bytes'>530052247552/allocation>
- available unit='bytes'>445710540800/available>
- source>
- /source>
- target>
- path>/var/lib/libvirt/images/path>
- permissions>
- mode>0711/mode>
- owner>-1/owner>
- group>-1/group>
- /permissions>
- /target>
- /pool>
移除現(xiàn)在的默認池。
$ virsh pool-destroy default
Pool default destroyed
現(xiàn)在創(chuàng)建一個基于更新后的XML文件的新存儲池。
$ virsh pool-create pool.xml
Pool default created from pool.xml
這時,默認池已經(jīng)改變到新的地址了,并且可以使用了。