歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 改變libvirt VM鏡像的默認位置的方法

改變libvirt VM鏡像的默認位置的方法

日期:2017/3/1 17:55:07   编辑:Linux技術

提問: 我使用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復制內容到剪貼板
  1. <pool type='dir'>
  2. <name>default</name>
  3. <uuid>0ec0e393-28a2-e975-feec-0c7356f38d08</uuid>
  4. <capacity unit='bytes'>975762788352</capacity>
  5. <allocation unit='bytes'>530052247552</allocation>
  6. <available unit='bytes'>445710540800</available>
  7. <source>
  8. </source>
  9. <target>
  10. <path>/var/lib/libvirt/images</path>
  11. <permissions>
  12. <mode>0711</mode>
  13. <owner>-1</owner>
  14. <group>-1</group>
  15. </permissions>
  16. </target>
  17. </pool>

移除現在的默認池。

$ virsh pool-destroy default 
Pool default destroyed

現在創建一個基於更新後的XML文件的新存儲池。

$ virsh pool-create pool.xml 
Pool default created from pool.xml

這時,默認池已經改變到新的地址了,並且可以使用了。

Copyright © Linux教程網 All Rights Reserved