十:更改libvirt虚拟机镜像存储路径

在KVM中,默认VM镜像是存储在/var/lib/libvirt/images目录。有可能由于根卷空间有限/var目录下的空间也有限。在KVM虚拟化中,人们倾向于将VM镜像存储在集中仓库中以便实现不同hypervisor之间迁移虚拟机。这种情况下,需要更改默认的libvirt镜像目录或者你需要将卷或者NFS共享挂载到/var/lib/libvirt/images目录下。在嗯问,我们将看到如何修改默认的libvirt镜像路径来指定它。在KVM术语中,我们称之为"存储池"。

注意:这篇文档是在non-selinux节点执行的。所以如果激活了SELinux,你需要修改关闭SELinux以便能够正确修改存储路径。

[root@UA-HA ~]# getenforce
Disabled
[root@UA-HA ~]#
  • 登录到KVM hypervisor主机,并关闭所有运行的VM

[root@UA-HA kvmpool]# virsh shutdown UAKVM2
[root@UA-HA kvmpool]#
[root@UA-HA ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     UAKVM2                         shut off

[root@UA-HA ~]#
  • 检查存储池

[root@UA-HA ~]# virsh pool-list
 Name                 State      Autostart
-------------------------------------------
 default              active     yes

[root@UA-HA ~]#
  • 检查存储池信息

  • 检查现有存储池路径

  • 验证哪些VM镜像存储在默认路径

  • 停止存储池

  • 编辑存储池配置

KVM存储池

  • 启动存储池

  • 验证存储池路径

  • 将VM镜像从旧路径移动到新路径

  • 编辑VM配置更新成新的存储池

  • 启动KVM虚拟机

如果看到以下报错

则编辑VM配置文件,去除XML文件中(在底部)的selinux行并尝试启动VM

系列教程编译

本系列教程根据 UnixArena Linux KVM 系列教程编译,共分以下文章:

Last updated

Was this helpful?