如何从libvirt更改默认存储池?


12

我试图在KVM上使用其他存储池,以便存储我的VM的虚拟磁盘以及我正在使用的操作系统中的ISO。

例如:我想使用/media/work/kvmover挂载的目录/dev/sda5作为将来所有情况的默认存储池

要配置,创建和启动新的存储池,这非常容易,但是至少在Ubuntu中,如果我从其他存储池中选择ISO,也没关系,Virtual Machine Manager始终将我指向默认存储池(/var/cache/libvirt)作为将在其中创建来自我的VM的虚拟磁盘的存储。

如何避免这种情况?

Answers:


27

在执行这些步骤之前,请确保您以普通用户身份运行这些命令,并且您的用户属于“ libvirtd”组。

这是我使用的以下命令:

列出当前池:

$ virsh pool-list

Name                 State      Autostart 
-------------------------------------------
default              active     yes 

破坏池:

$ virsh pool-destroy default
Pool default destroyed

未定义池:

$ virsh pool-undefine default
Pool default has been undefined

定义一个名称为“ default”的新池:

$ virsh pool-define-as --name default --type dir --target /media/work/kvm
Pool default defined

将池设置为在libvirt守护程序启动时启动:

$ virsh pool-autostart default
Pool default marked as autostarted

启动池:

$ virsh pool-start default
Pool default started

检查池状态:

$ virsh pool-list
Name                 State      Autostart 
-------------------------------------------
default              active     yes  

从现在开始,在创建虚拟机时,Virtual Machine Manager会通知您* .img文件(VM的虚拟磁盘)将保存在/ media / work / kvm中。


3

除了上面的答复显示如何从命令行执行操作之外,您还可以直接从virt-manager更改此操作。在virt-manager主窗口中,转到菜单“编辑->主机详细信息”。在出现的对话框中,切换到“存储”标签。现在,您可以删除“默认”存储池并创建一个新的存储池来替换它。


我不知道为什么,丹尼尔,但我之前尝试过此解决方案,但不幸的是,它在Virtual Machine Manager上无法正常运行(Ubuntu Trusty
Tahr

2

如果只想更改映像路径,还可以default通过运行以下命令来编辑池中的存储路径:

$ virsh pool-edit default

上面的命令现在将default在编辑器(vim / nano)中打开pool xml:

  1. 编辑路径
  2. 保存更改并
  3. 重新启动libvirt服务
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.