zoukankan      html  css  js  c++  java
  • 基于NFS共享存储实现KVM虚拟主机动态迁移

    操作环境:

    操作系统                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) 点击 存储 点击 加号

     

    KVM01在共享存储上创建虚拟机

     

     

     

     

     

     

     

     

     

    过程比较慢,需要耐心等待。

    6、KVM迁移:打开virt-manager 选择文件 选择Add Connection

    源主机连接目标主机

     

     

     如果出现上述错误,执行以下步骤:

    KVM01:

     yum -y install openssh-askpass

    KVM02:

     yum -y install openssh-askpass

     

     

     

     如果出现上述错误,执行以下步骤:

     virsh shutdown centos7.0

    域 centos7.0 被关闭

     virsh edit centos7.0

    <driver name='qemu' type='raw' cache='none'/>

     virsh start centos7.0

    域 centos7.0 已开始

     virsh list --all

    Id 名称 状态

    ----------------------------------------------------

    2 centos7.0 running

     

  • 相关阅读:
    Excel VBA宏 链接服务器 上传和下载数据
    SQL IF while 游标
    关于SQL while 循环嵌套 外部循环数据无法进入内部循环
    SQL中读取Excel 以及 bpc语言
    安装zabbix及LNMP的平台的搭建
    MySQL的储存过程
    zabbix添加客户端
    ossec日志文件的安装
    find常用参数详解
    Liunx的备份
  • 原文地址:https://www.cnblogs.com/maoyanqing/p/11754566.html
Copyright © 2011-2022 走看看