改变libvirt VM镜像的默认位置的方法 |
本文标签:libvirt,VM镜像,位置 提问: 我使用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 这时,默认池已经改变到新的地址了,并且可以使用了 。 |