12.8. 将虚拟机磁盘镜像与其他主机共享


要在 支持的 KVM 主机 之间执行虚拟机(VM)的实时迁移,您也必须以一种方式迁移正在运行的虚拟机的存储,该方式在迁移过程中使虚拟机可以对存储进行读写。

实现此操作的方法之一是使用共享虚拟机存储。以下流程提供了使用 NFS 协议将本地存储的虚拟机镜像与源主机和目标主机进行共享的说明。

先决条件

  • 旨在迁移的虚拟机被关闭。
  • 可选:主机系统可用于托管不是源或目标主机的存储,但源和目标主机都可以通过网络访问它。这是共享存储的最佳解决方案,并被红帽推荐。
  • 请确定 NFS 文件锁定没有被使用,因为在 KVM 中不支持它。
  • 已在源和目标主机上安装并启用了 NFS 协议。请参阅 部署 NFS 服务器
  • virt_use_nfs SELinux 布尔值在 设置为。

    # setsebool virt_use_nfs 1

流程

  1. 连接到提供共享存储的主机。在本例中,它是 example-shared-storage 主机:

    # ssh root@example-shared-storage
    root@example-shared-storage's password:
    Last login: Mon Sep 24 12:05:36 2019
    root~#
  2. example-shared-storage 主机上创建一个目录,该目录将保存磁盘镜像,并与迁移主机共享:

    # mkdir /var/lib/libvirt/shared-images
  3. 将虚拟机的磁盘镜像从源主机复制到新创建的目录。以下示例将虚拟机的磁盘镜像 example-disk-1 复制到 example-shared-storage 主机的 /var/lib/libvirt/shared-images/ 目录中:

    # scp /var/lib/libvirt/images/example-disk-1.qcow2 root@example-shared-storage:/var/lib/libvirt/shared-images/example-disk-1.qcow2
  4. 在您要用于共享存储的主机上,将共享目录添加到 /etc/exports 文件中。以下示例将 /var/lib/libvirt/shared-images 目录与 example-source-machineexample-destination-machine 主机共享:

    # /var/lib/libvirt/shared-images example-source-machine(rw,no_root_squash) example-destination-machine(rw,no\_root_squash)
  5. 运行 exportfs -a 命令以使 /etc/exports 文件中的更改生效。

    # exportfs -a
  6. 在源和目标主机上,将共享目录挂载到 /var/lib/libvirt/images 目录中:

    # mount example-shared-storage:/var/lib/libvirt/shared-images /var/lib/libvirt/images

验证

  • 在源主机上启动虚拟机,并观察它是否已成功启动。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.