基于NFS共享存储实现KVM虚拟主机动态迁移
基于NFS共享存储实现KVM虚拟主机动态迁移
参考文档https://www.cnblogs.com/hfh1/p/11740717.html
操作环境:
操作系统 IP地址 主机名
CentOS7.5 192.168.200.111 KVM01
CentOS7.5 192.168.200.112 KVM02
CentOS7.5 192.168.200.113 NFS
实验初始配置:所有主机关闭防火墙与selinux
iptables -F
systemctl stop firewalld
setenforce 0
基于NFS共享存储实现KVM虚拟主机动态迁移
在KVM中可以将运行中的虚拟机从一个KVM主机迁移到另一个KVM主机中运行,而不需要任何停机时间。如果两个KVM主机都能够访问相同的存储池,那么实时迁移工作就很好了。要使存储池在KVM主机上都可访问,您需要使用NFS或GFS2文件系统(集群文件系统)。在本例中,我使用NFS文件系统来存储VM映像文件。在迁移过程中,VM的“内存”内容将被复制到目标KVM主机,而在某个时间点上,将发生迁移VM。注意,当您在KVM主机上共享文件系统时,将不会在网络上传输VM的磁盘映像,因为两个KVM主机都可以访问相同的存储池。
迁移介绍:迁移是指将在KVM上运行的虚拟机系统转移到其他物理机的KVM上运行
静态迁移:在虚拟机关机的情况迁移
动态迁移:在虚拟机上服务正常运行的情况下迁移,要基于共享存储
动态迁移特点:
不会对最终用户造成明显影响
仅有非常短暂的停机时间
动态迁移拓扑图
参考文档https://www.cnblogs.com/hfh1/p/11740717.html
操作环境:
操作系统 IP地址 主机名
CentOS7.5 192.168.200.111 KVM01
CentOS7.5 192.168.200.112 KVM02
CentOS7.5 192.168.200.113 NFS
实验初始配置:所有主机关闭防火墙与selinux
iptables -F
systemctl stop firewalld
setenforce 0
基于NFS共享存储实现KVM虚拟主机动态迁移
在KVM中可以将运行中的虚拟机从一个KVM主机迁移到另一个KVM主机中运行,而不需要任何停机时间。如果两个KVM主机都能够访问相同的存储池,那么实时迁移工作就很好了。要使存储池在KVM主机上都可访问,您需要使用NFS或GFS2文件系统(集群文件系统)。在本例中,我使用NFS文件系统来存储VM映像文件。在迁移过程中,VM的“内存”内容将被复制到目标KVM主机,而在某个时间点上,将发生迁移VM。注意,当您在KVM主机上共享文件系统时,将不会在网络上传输VM的磁盘映像,因为两个KVM主机都可以访问相同的存储池。
迁移介绍:迁移是指将在KVM上运行的虚拟机系统转移到其他物理机的KVM上运行
静态迁移:在虚拟机关机的情况迁移
动态迁移:在虚拟机上服务正常运行的情况下迁移,要基于共享存储
动态迁移特点:
不会对最终用户造成明显影响
仅有非常短暂的停机时间
动态迁移拓扑图
---------------------------------------------------------------------------------
1、 设置3台服务器主机名、配置 /etc/hosts 保证网络连接
2、 两台主机的KVM连接NFS共享存储
3、 在源主机的KVM中新建虚拟机并安装系统
4、 连接KVM、并进行迁移
动态迁移演示
源主机 KVM01 192.168.200.111
目的主机 KVM02 192.168.200.112
NFS共享存储 192.168.200.113 共享 /kvm-share
1、安装KVM软件
查看是否支持虚拟化:
cat /proc/cpuinfo |grep vmx --color=auto
yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager
检测KVM模块安装是否成功
lsmod | grep kvm
kvm_intel 174841 0
kvm 578518 1 kvm_intel
irqbypass 13503 1 kvm
开启服务,安装完成后还需要开启libvirtd服务
systemctl start libvirtd
systemctl enable libvirtd
2、设置KVM网络
cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-br0
vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.200.111
PREFIX=24
GATEWAY=192.168.200.1
DNS1=202.106.0.20
vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens32
UUID=b194e583-21c3-4109-a160-3d2a9876a30b
DEVICE=ens32
ONBOOT=yes
BRIDGE=br0
重启network服务
systemctl restart network
ifconfig
出现br0和对应的IP地址即为成功。
3、配置hosts文件、主机名
KVM01:
tail -3 /etc/hosts
192.168.200.111 KVM01
192.168.200.112 KVM02
192.168.200.113 NFS
scp /etc/hosts 192.168.200.112:/etc
scp /etc/hosts 192.168.200.113:/etc
hostname KVM01
bash
KVM02:
hostname KVM02
bash
NFS:
hostname NFS
bash
4、配置NFS共享
NFS:配置共享目录 /kvm-share
cat /etc/exports
/kvm-share 192.168.200.0/24(rw,sync,no_root_squash)
mkdir /kvm-share
systemctl start nfs
两台KVM主机上的操作:
KVM01:
showmount -e 192.168.200.113
/kvm-share 192.168.200.0/24
KVM02:
showmount -e 192.168.200.113
/kvm-share 192.168.200.0/24
5、安装虚拟机
两台KVM连接共享存储:双击localhost(qemu) 点击 存储 点击 加号
实验总结:
两台KVM 一台安装centos系统,一台不装,
一台nfs共享
两台KVM都需要挂载到NFS上 ,挂载后其中一台再进行装centos系统,指定centos的存放位置在挂载目录下面。
迁移出错时需要修改多处的cache='none'