改变libvirt VM镜像的默认位置的方法
来源:互联网 发布:应用程序的端口号 编辑:程序博客网 时间:2024/06/03 11:03
提问: 我使用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改成新的地址。
- <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>
移除现在的默认池。
$ virsh pool-destroy default
Pool default destroyed
现在创建一个基于更新后的XML文件的新存储池。
$ virsh pool-create pool.xml
Pool default created from pool.xml
这时,默认池已经改变到新的地址了,并且可以使用了。
- 改变libvirt VM镜像的默认位置的方法
- 改变libvirt VM镜像的默认位置的方法
- 改变libvirt vm镜像的默认位置
- Linux系统入门学习:改变libvirt VM镜像的默认位置
- 【nova】【libvirt】【glance】创建VM的过程中的 镜像创建过程
- 改变“我的文档”的默认位置
- docker for windows pull镜像文件的安装位置改变方法
- docker for windows pull镜像文件的安装位置改变方法
- 改变.net网站的默认解决方案位置
- 【Docker】如何修改Docker的默认镜像存储位置(二)
- 改变Tomcat的网站程序默认目录位置
- 改变CMD窗口提示符前的默认路径位置
- 通过注册表改变“我的文档”等的默认位置
- [iOS] 改变tabBar高度/位置的方法
- View和Event位置的改变方法
- 改变myeclipse默认打开文件的方法
- 修改docker默认存储镜像位置
- FM app在保存录音文件时,保存的位置如何实现跟随默认存储位置的改变而改变?
- Swift2.1-下标脚本
- bzoj3672: [Noi2014]购票
- sizeof 与strlen()区别
- js跨域问题
- objective-C语言_面向对象(多态)
- 改变libvirt VM镜像的默认位置的方法
- php文件锁解析
- Presents
- Streaming(C++)实现WordCount
- Deep Residual Learning for Image Recognition
- android创建快捷方式来打开应用中特定的Activity
- C# 解析 json
- 深入php-fpm的两种进程管理模式详解
- PHP MVC模式在网站架构中的实现