热迁移
tcp传输
源端
sudo qemu-system-x86_64 -m 4G,slots=4,maxmem=128G -smp 4,maxcpus=16 --enable-kvm \
-drive file=fedora29.img,format=raw -nographic
目的端
sudo qemu-system-x86_64 -m 4G,slots=4,maxmem=128G -smp 4,maxcpus=16 --enable-kvm \
-drive file=fedora29.img,format=raw -nographic
开始迁移
此时可以在源端的monitor中执行下面的命令开始迁移
fedora29.img 使用nfs 挂载:migrate -d tcp:0:4444
基于相同后端镜像的磁盘增量动态迁移:
migrate -i tcp:0:4444
exec传输
这种严格来说不能叫热迁移,因为虚拟机有停顿。不过因为从命令行的形式上看类似,就放在这里。
源端
sudo qemu-system-x86_64 -m 4G,slots=4,maxmem=128G -smp 4,maxcpus=16 --enable-kvm \
-drive file=fedora29.img,format=raw -nographic
虚拟机的启动是一样的,但是源端启动后就需要在monitor中执行
migrate "exec cat > /backup_file"
quit
目的端
sudo qemu-system-x86_64 -m 4G,slots=4,maxmem=128G -smp 4,maxcpus=16 --enable-kvm \
-drive file=fedora29.img,format=raw -nographic \
-incoming "exec:cat < /backup_file"
运行之后在monitor中执行
cont
冷迁移
源端
savevm my_tag
“savevm”命令保存的完整客户机状态包括CPU状态、内存、设备状态快照、可写磁盘中的内容。注意,这种保存快照的方法需要qcow2、qed等格式的磁盘镜像文件,因为只有它们才支持快照这个特性(可参见前面5.4节中对镜像文件格式的介绍)
目的端
loadvm my_tag