zoukankan      html  css  js  c++  java
  • 基于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上运行
    静态迁移:在虚拟机关机的情况迁移
    动态迁移:在虚拟机上服务正常运行的情况下迁移,要基于共享存储
    动态迁移特点:
    不会对最终用户造成明显影响
    仅有非常短暂的停机时间
    动态迁移拓扑图

    ---------------------------------------------------------------------------------
    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' 
  • 相关阅读:
    QT中文报错问题
    自动获取UILabel高度
    vi编辑器的使用
    命令例子
    WPF中textBlock 变色功能
    php 删除目录及子文件
    jquery autocomplete插件
    js日历选择控件
    centeros bash: ifconfig: command not found
    php 文件日志类
  • 原文地址:https://www.cnblogs.com/elin989898/p/11983786.html
Copyright © 2011-2022 走看看