KVM冷迁移
🌍环境:kvm5:192.168.178.5 kvm6:192.168.178.6
📜 示例:将kvm6上的vm1冷迁移到kvm5上
kvm5
域名解析:vim /etc/hosts 192.168.178.5 kvm5 192.168.178.6 kvm6 1. 查看当前虚拟机: [root@kvm5 ~]# virsh list --all Id 名称 状态 ----------------------------------------------------
kvm6
域名解析:vim /etc/hosts 192.168.178.5 kvm5 192.168.178.6 kvm 1. 查看当前虚拟机: [root@kvm6 ~]# virsh list --all Id 名称 状态 ---------------------------------------------------- - vm1 关闭 2. 为了验证效果,登录vm1虚拟机中,新建文件: [root@kvm6 ~]# virsh start vm1 域 vm1 已开始 [root@kvm6 ~]# virsh list --all Id 名称 状态 ---------------------------------------------------- 3 vm1 running [root@vm1 ~]# mkdir test [root@vm1 ~]# touch test/{1..5}.txt [root@vm1 ~]# ls test/ 1.txt 2.txt 3.txt 4.txt 5.txt 3. 关闭vm1,准备冷迁移: [root@kvm6 ~]# virsh shutdown vm1 域 vm1 被关闭 4. 查看虚拟机的磁盘镜像路径: [root@kvm6 ~]# virsh domblklist vm1 目标 源 ------------------------------------------------ vda /var/lib/libvirt/images/vm1.img #路径 hda - 5. 冷迁移(拷贝镜像磁盘.img与配置文件.xml): [root@kvm6 ~]# scp -r /var/lib/libvirt/images/vm1.img kvm5:/var/lib/libvirt/images/ [root@kvm6 ~]# scp -r /etc/libvirt/qemu/vm1.xml kvm5:/etc/libvirt/qemu/
kvm5
1. 配置生效: [root@kvm5 ~]# virsh define /etc/libvirt/qemu/vm1.xml 定义域 vm1(从 /etc/libvirt/qemu/vm1.xml) 2. 开启vm1 [root@kvm5 ~]# virsh start vm1 域 vm1 已开始 3. 登录vm1查看之前新建的文件: ls test 4. 冷迁移完成
KVM热迁移
🌍环境:kvm5:192.168.178.5 kvm6:192.168.178.6
📜 示例:将kvm6上的vm2热迁移到kvm5上
kvm5
1. 创建资源池: [root@kvm5 ~]# virsh pool-define-as vmdisk --type dir--target /data/vmfs #vmdisk资源池名 --type目录 /data/vmfs资源池目录 定义池 vmdisk 2. 构建池: [root@kvm5 ~]# virsh pool-build vmdisk 构建池 vmdisk 3. 启动池: [root@kvm5 ~]# virsh pool-start vmdisk 池 vmdisk 已启动 4. 自启: [root@kvm5 ~]# virsh pool-autostart vmdisk 池 vmdisk 标记为自动启动 [root@kvm5 ~]# virsh pool-list 名称 状态 自动开始 ------------------------------------------- default 活动 是 vmdisk 活动 是 5. 查看虚拟机: [root@kvm5 ~]# virsh list --all Id 名称 状态 ----------------------------------------------------
kvm6
[root@kvm6 KVM]# virsh pool-define-as vmdisk --type dir --target /data/vmfs 定义池 vmdisk [root@kvm6 KVM]# virsh pool-build vmdisk 构建池 vmdisk [root@kvm6 KVM]# virsh pool-start vmdisk 池 vmdisk 已启动 [root@kvm6 KVM]# virsh pool-autostart vmdisk 池 vmdisk 标记为自动启动 [root@kvm6 KVM]# virsh pool-list 名称 状态 自动开始 ------------------------------------------- default 活动 是 vmdisk 活动 是 #================================================================ 1. 创建新的虚拟机VM2,拷贝配置文件与存储文件 [root@kvmserver qemu]# cp -rm /etc/libvirt/qemu/VM1.xml /etc/libvirt/qemu/VM2.xml [root@kvmserver ~]# cp -r /var/lib/libvirt/images/VM1.qcow2 /data/vmfs/VM2.qcow2 2. 修改VM2.xml配置文件:vim /etc/libvirt/qemu/VM2.xml #找到进行修改 <name>VM2</name> #名字要修改不同 <uuid>d82fa31b-e754-420f-b326-42ae0b90c491</uuid> #uuid也要修改不同,随便修改一位 <memory unit='KiB'>1048576</memory> #内存大小可改 <currentMemory unit='KiB'>1048576</currentMemory> #当前内存大小,必须与上面一样 <source file='/data/vmfs/vm2.qcow2'/> #修改磁盘镜像路径 <mac address='52:54:00:76:e9:3f'/> #Mac地址修改 只能修改后三段 76:e5:3f 3.创建虚拟机,配置生效: [root@kvmserver ~]# virsh define /etc/libvirt/qemu/vm2.xml 4. 查看虚拟机: [root@kvm6 KVM]# virsh list --all Id 名称 状态 ---------------------------------------------------- 3 vm1 running 4 vm2 running #=============================================================== 1. 拷贝镜像文件:scp -r /data/vmfs/vm2.qcow2 kvm5:/data/vmfs/ 2. 进行迁移: [root@kvm6 KVM]# virsh migrate vm2 qemu+ssh://192.168.178.5/system --live --unsafe --verbose root@192.168.178.5's password: 迁移: [100 %]
kvm5
查看虚拟机状态: [root@kvm5 ~]# virsh list Id 名称 状态 ---------------------------------------------------- 9 vm2 running 热迁移成功