5.6.2 基于相同后端镜像的磁盘增量动态迁移

size:800,1000

如上图所示,有两台设备一台设备名称为"host1" ,ip地址为IP1, 创建有名为"Guest1"的虚拟机;另一台设备名称为 "host2",ip地址为IP2.现在要将设备"host1"上的虚拟机"Guest1"动态迁移到设备"host2"上(这里首先需要保证设备"host1"和设备"host2"之间路由可达,即可以相互ping通),具体操作如下:

1.1. "host1"设备上的配置

1.使用virsh新建虚拟机,virtdisk指向本地虚拟磁盘/home/kvm-test.qcow2 虚拟机当前运行情况如下:

[root]#virsh
 virsh # list
 Id   名称       状态
--------------------------
 35   Guest1   running

1.2. "host2"设备上的配置

1.与"host1"设备上的虚拟机具有相同路径的kvm-test.qcow2文件

/home/kvm-test.qcow2

开始的时候"host1"设备上的kvm-test.qcow2文件与"host2"设备上的kvm-test.qcow2文件是相同的,在"host1"设备上的 虚拟机运行一段时间之后,两个设备上的qcow2文件不再相同,但是两台设备上的kvm-test.qcow2文件路径必须保持一致,此时的迁移才是基于相同后端镜像的增量动态迁移.(这里需要注意一下kvm-test.qcow2的权限和所在目录权限问题,因为在迁移时virt-manager使用的身份是libvirt-qemu 所以注意赋予kvm-test.qcow2相关的文件和目录读写权限)

1.3. 迁移

1.迁移 在"host1"设备上输入下面命令进行虚拟机迁移,然后输入设备"host2"的root用户密码

[root]#virsh
 virsh #  migrate   kvm-test   qemu+ssh://IP2/system tcp://IP2  --unsafe  --live   --verbose   --copy-storage-inc
root@host2's password: 
迁移: [ 91 %]
迁移: [100 %]
  • virsh migrate –live:动态迁移
  • –verbose:显示迁移详情
  • kvm-test:需要迁移的虚拟机
  • qemu+ssh:通过ssh连接到目的物理机上的system实例,具有最大权限来管理远程节点上的虚拟机资源
  • /system: 以root身份进行状态迁移
  • tcp:使用tcp连接
  • IP2:目的物理机IP地址
  • –unsafe:跳过安全检测
  • --copy-storage-inc 基于磁盘的增量迁移 (可以替换为参数--copy-storage-all,即为磁盘完全复制迁移)
  • 注:可以指定身份访问远程主机,如远程主机用户名为kvm,则可以使用 qemu+ssh://kvm@IP2/system,若不添加kvm,默认使用root访问

等到迁移进度达到100%时,查看本地虚拟机,发现"host1"设备上的"Guest1"虚拟机已经不存在了

[root]#virsh
virsh # list
 Id   名称   状态
-------------------

在"host2"设备上查看,结果如下,表明迁移成功.

[root]#virsh
virsh # list
 Id   名称       状态
--------------------------
 31  Guest1   running

2.固化虚拟机配置文件 在"host2"设备上输入以下命令,固化迁移过来的配置数据,并使用配置数据创建虚拟机;否则迁移后"host2"设备上没有虚拟机"Guest1"的配置文件,关闭"Guest1"后,"Guest1"就没有了,命令如下:

[roo]# virsh  dumpxml Guest1 > Guest1.xml
[root]# virsh  define Guest1.xml 
定义域 Guest1(从Guest1.xml)
©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2023-05-19 06:36:14

results matching ""

    No results matching ""

    results matching ""

      No results matching ""