环境准备:
2台机器防火墙全部关闭,禁用selinux
kvm01 | kvm02 |
---|---|
192.168.1.150 | 192.168.1.151 |
冷迁移(静态迁移)
冷迁移和克隆差不多,都是需要对磁盘文件和xml配置文件进行操作
scp /etc/libvirt/qemu/test01.xml 192.168.1.151:/etc/libvirt/qemu/
scp /kvm-vm/test01.raw 192.168.1.151:/kvm-vm/
例(冷迁移):
[[email protected] ~]# virsh list --all
Id Name State
----------------------------------------------------
- test01 shut off
[[email protected] ~]# virsh list --all
Id Name State
----------------------------------------------------
[[email protected] ~]# virsh start test01 #启动test01
[[email protected] ~]# echo 1111111111111111111 > test.txt #创建test.txt文件,用来验证
[[email protected] ~]# scp /etc/libvirt/qemu/test01.xml 192.168.1.151:/etc/libvirt/qemu/
[[email protected] ~]# scp /kvm-vm/test01.raw 192.168.1.151:/kvm-vm/
[[email protected] ~]# ls /kvm-vm/
test01.raw
[[email protected] ~]# ls /etc/libvirt/qemu/
networks test01.xml
[[email protected] ~]# cd /etc/libvirt/qemu/
[[email protected] qemu]# virsh define test01.xml
[[email protected] qemu]# virsh start test01
[[email protected] ~]# cat test.txt #验证刚刚在kvm01上创建的test.txt文件
1111111111111111111
热迁移(动态迁移)
实验环境:
(注意更改两端主机名,否则会报主机名冲突),关闭防火墙以及禁用selinux
kvm01 | kvm02 | NFS |
---|---|---|
192.168.1.150 | 192.168.1.151 | 192.168.1.128 |
1、NFS服务器发布共享目录
[[email protected] ~]# yum -y install nfs-utils
[[email protected] ~]# mkdir /kvmshare
[[email protected] ~]# cat /etc/exports
/kvmshare *(rw,sync,no_root_squash)
[[email protected] ~]# systemctl start rpcbind
[[email protected] ~]# systemctl enable rpcbind
[[email protected] ~]# systemctl start nfs-server
[[email protected] ~]# systemctl enable nfs-server
[[email protected] ~]# showmount -e
Export list for nfs:
/kvmshare *
PS:这里也可以暂时先不挂载
kvm01查看并挂载nfs共享
[[email protected] ~]# showmount -e 192.168.1.128
Export list for 192.168.1.128:
/kvmshare *
[[email protected] ~]# mkdir /kvm-share
[[email protected] ~]# mount -t nfs 192.168.1.128:/kvmshare /kvm-share/
[[email protected] ~]# mount | tail -1
192.168.1.128:/kvmshare on /kvm-share type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.150,local_lock=none,addr=192.168.1.128)
kvm02查看并挂载nfs共享
[[email protected] qemu]# showmount -e 192.168.1.128
Export list for 192.168.1.128:
/kvmshare *
[[email protected] qemu]# mkdir /kvm-share
[[email protected] qemu]# mount -t nfs 192.168.1.128:/kvmshare /kvm-share/
[[email protected] qemu]# mount | tail -1
192.168.1.128:/kvmshare on /kvm-share type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.151,local_lock=none,addr=192.168.1.128)
验证共享:
[[email protected] ~]# echo 111111122222222333333333 > /kvmshare/123.txt
[[email protected] ~]# cat /kvm-share/123.txt
111111122222222333333333
[[email protected] ~]# cat /kvm-share/123.txt
111111122222222333333333
2、在KVM01和KVM02上基于NFS服务创建存储池
1)KVM01上基于NFS服务创建存储池
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNCM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR5EMNpXTz0EVOBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5YzN0IDO0UTMwIDOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
2)在kvm02上操作,创建存储池
这里创建完成之后,会看到之前在nfs上创建的123.txt文件。
3)在创建好的存储池上创建存储卷:
这里创建完成之后,kvm02可以看到刚创建的test8存储卷。
4、创建虚拟机
这里在KVM01上,创建一个新的虚拟机域,需要注意,存储池要切记使用 nfs-share(挂载到NFS服务器上),保证虚拟机域安装成功。(最小化)![]()
KVM——6——虚拟机的迁移冷迁移(静态迁移)热迁移(动态迁移) ![]()
KVM——6——虚拟机的迁移冷迁移(静态迁移)热迁移(动态迁移) ![]()
KVM——6——虚拟机的迁移冷迁移(静态迁移)热迁移(动态迁移) ![]()
KVM——6——虚拟机的迁移冷迁移(静态迁移)热迁移(动态迁移) ![]()
KVM——6——虚拟机的迁移冷迁移(静态迁移)热迁移(动态迁移) ……接下来最小化安装完成即可![]()
KVM——6——虚拟机的迁移冷迁移(静态迁移)热迁移(动态迁移)
5、设置虚拟机网络
虚拟机创建完成之后,配置虚拟机使用bridge桥接网路,使其能够ping的通外网。并且在这里我们执行一个ping百度的命令,并让他保持一直是ping着的状态,用来模拟迁移到kvm02上服务不中断。当然如果虚拟机域迁移到第二台虚拟机扔向保持可用,第二台虚拟机也得支持桥接模式。
[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# virsh iface-bridge ens33 br0
Created bridge br0 with attached device ens33
Bridge interface br0 started
[[email protected] ~]# virsh destroy test8
[[email protected] ~]# virsh edit test8
<interface type='bridge'> #修改
<mac address='52:54:00:e7:79:75'/> #无须更改
<source bridge='br0'/> #修改
启动进入虚拟机域,确认正确获取IP地址,以及能连通外网
[[email protected] ~]# virsh start test8
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
ONBOOT=yes
[[email protected] ~]# systemctl restart network
[[email protected] ~]# ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:e7:79:75 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.153/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 1753sec preferred_lft 1753sec
inet6 fe80::c4bf:92d8:ce7e:a4f5/64 scope link
valid_lft forever preferred_lft forever
[[email protected] ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=29.8 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=29.9 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=128 time=37.7 ms
……
KVM02虚拟机设置桥接网络
[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# virsh iface-bridge ens33 br0
Created bridge br0 with attached device ens33
Bridge interface br0 started
6、动态迁移
如果到这一步,没有主动提示,那么需要我们自己手动的下载此安装包
注意:迁移成功之后,IP地址不会变化,并且ping命令,不会终止
迁移虚拟机之前,把在kvm01和kvm02上挂载的目录给一个777的权限,保证双方root用户都有权限去调用目录。
接下来直接在virt-manager管理器中迁移就可以了,迁移完成之后,保证ping命令是不中断的,就表示实验完成了。