12.3. 使用 virsh 进行实时 KVM 迁移
使用 virsh
命令可将客户端迁移到另一台主机中。migrate
命令接受以下格式的参数:
- # virsh migrate --live
GuestName DestinationURL
The GuestName
parameter represents the name of the guest which you want to migrate.
The DestinationURL
parameter is the URL or hostname of the destination system. The destination system must run the same version of Fedora, be using the same hypervisor and have libvirt
running.
Once the command is entered you will be prompted for the root password of the destination system.
示例:使用 virsh 进行实时迁移
这个示例是从 test1.bne.redhat.com
迁移至 test2.bne.redhat.com
。请为您的环境更改主机名。这个示例迁移了名为 CentOS4test
的虚拟机。
This example assumes you have fully configured shared storage and meet all the prerequisites (listed here: 迁移要求).
确定客户端正在运行
在源系统
test1.bne.redhat.com
中确定CentOS4test
正在运行:[root@test1 ~]# virsh list
Id Name State
----------------------------------
10 CentOS4 running
迁移客户端
执行以下命令实时将客户端迁移至目的地
test2.bne.redhat.com
。在目的地 URL 结尾添加/system
告知 libvirt 您需要完全访问权限。- # virsh migrate --live
CentOS4test qemu+ssh://test2.bne.redhat.com/system
Once the command is entered you will be prompted for the root password of the destination system.
- # virsh migrate --live
等待
根据负载和客户端的大小,迁移可能需要一些时间。
virsh
只报告出错信息。客户端仍将在源主机中继续运行直至全部迁移完成。确定客户端已到达目的主机
在目的系统
test2.bne.redhat.com
中确认CentOS4test
正在运行:[root@test2 ~]# virsh list
Id Name State
----------------------------------
10 CentOS4 running
实时迁移完成。
其它联网方法
libvirt supports a variety of networking methods including TLS/SSL, unix sockets, SSH, and unecrypted TCP. Refer to 第 13 章 虚拟客户端的远程管理 for more information on using other methods.