Loading

qemu 动态迁移

qemu 动态迁移即在虚拟机不停止的情况下将一个虚拟机从一个节点迁移到另一个节点。

有两种迁移方式
  • 一种使用的是磁盘同步机制。即需要将虚拟机的磁盘完整的复制到另一个节点。这需要花费较长的时间。
  • 一种使用增量磁盘的方式。基于共享的基本数据盘,增量的迁移虚拟机,这种机制需要磁盘的支持。
操作步骤

(1) 第一种方式

  • 源虚拟机

    qemu-system-x86_64 rhel7.qcow2 -smp 2 -m 2048 -netic -net tap

  • 目标虚拟机

    qemu-system-x86_64 rhel7.qcow2 -smp 2 -m 2048 -netic -net tap -incoming tcp:0:6666

    与源虚拟机的参数一致,只是需要添加 -incoming tcp:0:6666,此时目标虚拟机进入监听模式。等待

    同步数据。这里假设源虚拟机与备份虚拟机使用的是共享存储。所以系统磁盘数据完全一致。

  • 源虚拟机执行 migrate tcp:kvm-host2:6666 命令。

(2) 第二种方式

源虚拟机与目标虚拟机的磁盘都基于相同的基盘。

qemu-img create -f qcow2 -o backing_file=test.img,size=20G test1.qcow2

  • 源虚拟机

    qemu-system-x86_64 test1.qcow2 -smp 2 -m 2048 -netic -net tap

  • 目标虚拟机

    qemu-system-x86_64 test1.qcow2 -smp 2 -m 2048 -netic -net tap -incoming tcp:0:6666

  • 源虚拟机执行

    migrate -i tcp:kvm-host2:6666

migrate 相关命令

migrate_cancel 取消迁移任务

migrate_set_speed value 设置动态迁移最大传输速度

migrate_set_downtime value 设置动态迁移最大停机时间,qemu会预估停机时间,

如果预估的时间过长,则不会完成全部的迁移。

migrate [-d] [-b] [-i] uri

-d 则迁移任务不会阻塞当前的输入终端。否则就会。

-b 则控制是否全量同步磁盘

-i 则控制是否增量同步磁盘

posted @ 2021-10-01 14:50  Test002  阅读(84)  评论(0)    收藏  举报