Red Hat Training
A Red Hat training course is available for RHEL 8
9.5. 将虚拟机磁盘镜像与其他主机共享
要在 支持的 KVM 主机 间执行虚拟机实时迁移,需要共享虚拟机存储。以下流程提供了使用 NFS 协议将本地存储的虚拟机镜像与源主机和目标主机共享的说明。
先决条件
- 旨在迁移的虚拟机被关闭。
- 可选: 一个主机系统可用于托管不是源或目标主机的存储,但源和目标主机都可以通过网络访问它。这是共享存储的最佳解决方案,并被红帽推荐。
- 请确定 NFS 文件锁定没有被使用,因为在 KVM 中不支持它。
在源主机和目标主机上安装并启用 NFS。如果没有:
安装 NFS 软件包:
# yum install nfs-utils
确保在防火墙中打开了 NFS 的端口,如 2049。
# firewall-cmd --permanent --add-service=nfs # firewall-cmd --permanent --add-service=mountd # firewall-cmd --permanent --add-service=rpc-bind # firewall-cmd --permanent --add-port=2049/tcp # firewall-cmd --permanent --add-port=2049/udp # firewall-cmd --reload
启动 NFS 服务。
# systemctl start nfs-server
流程
连接到提供共享存储的主机。在这个示例中,是
cargo-bay
主机:# ssh root@cargo-bay root@cargo-bay's password: Last login: Mon Sep 24 12:05:36 2019 root~#
创建存放磁盘镜像的目录,并将与迁移主机共享。
# mkdir /var/lib/libvirt/shared-images
将虚拟机的磁盘镜像从源主机复制到新创建的目录。例如,以下将
wanderer1
虚拟机的磁盘镜像复制到'cargo-bay' 主机上的/var/lib/libvirt/shared-images/
目录中:# scp /var/lib/libvirt/images/wanderer1.qcow2 root@cargo-bay:/var/lib/libvirt/shared-images/wanderer1.qcow2
在您要用于共享存储的主机上,将共享目录添加到
/etc/exports
文件中。以下示例与source-example
和dest-example
主机共享/var/lib/libvirt/shared-images
目录:/var/lib/libvirt/shared-images source-example(rw,no_root_squash) dest-example(rw,no_root_squash)
在源和目标主机上,将共享目录挂载到
/var/lib/libvirt/images
目录中:# mount cargo-bay:/var/lib/libvirt/shared-images /var/lib/libvirt/images
验证
- 要验证进程是否成功,在源主机上启动虚拟机并观察它是否正确引导。
其它资源