zoukankan      html  css  js  c++  java
  • keepalived安装配置实战心得(实现高可用保证网络服务不间断)

    keepalived安装配置实战心得(实现高可用保证网络服务不间断)

    一、准备2台虚拟机 
       安装的系统是:centos-release-7-1.1503.el7.centos.2.8.x86_64
    二、每个虚拟机添加两个网卡
       1、网络连接模式为 桥接模式(复制网络连接状态)
       2、IP地址均
            1号机器:第一个网卡IP静态配置 192.168.1.219
    第二个网卡IP地址为动态分配 (DHCP)
    2号机器:第一个网卡IP静态配置 192.168.1.94
    第二个网卡IP地址为动态分配 (DHCP)


    三、安装keepalived (1,2号机器都装)
       1、在终端里面运行: yum install keepalived
       2、默认安装目录是:/etc/keepalived/
       3、配置文件在:/etc/keepalived/keepalived.conf


    四、安装一个简单的web服务,比如Apache (1,2号机器都装)
       1、在终端里面运行: yum install httpd
       2、默认安装目录是:/etc/httpd/
       3、配置文件在:/etc/httpdd/conf/httpd.conf
       4、网站主目录默认是: /var/www/html/
       5、在主目录下手工增加 一个index.html页面(用于测试)
          cd /var/www/html/ 
          vi index.html (随便输入几个字符比如:1号机就输入:“1号机”; 2号机就输入:“2号机”)
          保存一下
       
    五、进行keepalived配置 (目的是任何一个机器挂了,不影响网站的访问)
       1、编辑1号机器的/etc/keepalived/keepalived.conf内容如下:

    ! Configuration File for keepalived


    global_defs {
      #notification_email {
      #  acassen@firewall.loc
      #  failover@firewall.loc
      #  sysadmin@firewall.loc
      #}
      #notification_email_from Alexandre.Cassen@firewall.loc
      #smtp_server 192.168.200.1
      #smtp_connect_timeout 30
      router_id LVS_DEVEL1 #路由ID所有节点都一样
    }


    vrrp_instance VI_1 {
       state MASTER
       interface eno33554944 #eth0 这是第二块网卡的标识,根据你的时机情况来,具体可以查看 /etc/sysconfig/network-scripts/
       virtual_router_id 51
       priority 100 #keepalived节点的优先级,主的机器比从的大
       advert_int 1
       authentication {
    auth_type PASS
    auth_pass 1111
       }
       virtual_ipaddress {
    192.168.1.222  #对外的keepalived的虚拟IP地址(简单的说可以理解成你的域名就指向这个IP地址,keepalived保证哪个机器活着哪个机器就是这个对外的IP)
       }
    }


    virtual_server 192.168.1.222 80 {
       delay_loop 6
       lb_algo rr 
       lb_kind NAT
       persistence_timeout 50
       protocol TCP


       sorry_server 192.168.1.222 80


       real_server 192.168.1.219 80 {
    weight 1
    HTTP_GET {
       url { 
         path /var/www/html/index.html
         #digest 640205b7b0fc66c1ea91c463fac6334d
       }
      
       connect_timeout 3
       nb_get_retry 3
       delay_before_retry 3
    }
       }


       real_server 192.168.1.94 80 {
    weight 1
    HTTP_GET {
       url { 
         path /var/www/html/index.html
         #digest 640205b7b0fc66c1ea91c463fac6334c
       }
       connect_timeout 3
       nb_get_retry 3
       delay_before_retry 3
    }
       }
    }


       2、编辑2号机器的/etc/keepalived/keepalived.conf内容如下:
    ! Configuration File for keepalived


    global_defs {
      #notification_email {
      #  acassen@firewall.loc
      #  failover@firewall.loc
      #  sysadmin@firewall.loc
      #}
      #notification_email_from Alexandre.Cassen@firewall.loc
      #smtp_server 192.168.200.1
      #smtp_connect_timeout 30
      router_id LVS_DEVEL1 #路由ID所有节点都一样
    }


    vrrp_instance VI_1 {
       state BACKUP
       interface eno16777736 #eth0 这是第二块网卡的标识,根据你的时机情况来,具体可以查看 /etc/sysconfig/network-scripts/
       virtual_router_id 51
       priority 99  #keepalived节点的优先级,主的机器比从的大
       advert_int 1
       authentication {
    auth_type PASS
    auth_pass 1111
       }
       virtual_ipaddress {
    192.168.1.222 #对外的keepalived的虚拟IP地址(简单的说可以理解成你的域名就指向这个IP地址,keepalived保证哪个机器活着哪个机器就是这个对外的IP)
       }
    }

    #虚拟服务映射关系我们的目的是当你访问192.168.1.222 自动指向真实的活着的服务器
    virtual_server 192.168.1.222 80 {
       delay_loop 6
       lb_algo rr 
       lb_kind NAT
       persistence_timeout 50
       protocol TCP


       sorry_server 192.168.1.222 80


       #真实的服务器 1号机
       real_server 192.168.1.219 80 {
    weight 1
    HTTP_GET {
       url { 
         path /var/www/html/index.html
         #digest 640205b7b0fc66c1ea91c463fac6334d
       }
      
       connect_timeout 3
       nb_get_retry 3
       delay_before_retry 3
    }
       }


       #真实的服务器 2号机
       real_server 192.168.1.94 80 {
    weight 1
    HTTP_GET {
       url { 
         path /var/www/html/index.html
         #digest 640205b7b0fc66c1ea91c463fac6334c
       }
       connect_timeout 3
       nb_get_retry 3
       delay_before_retry 3
    }
       }
    }


    六、启动服务
        1、service httpd start (启动apache,1,2号机都启动)
        2、service keepalived start (启动keepalived,1,2号机都启动)
        启动之后可以通过以下命令查看运行状态
        3、service httpd status (查看apache服务的状态)
        4、service keepalived status (启动keepalived服务的状态)
        通过以下命令保证开机自动启动
        3、chkconfig httpd on (apache服务开机自动给启动)
        4、chkconfig keepalived on (keepalived服务开机自动给启动)


    七、验收成果
        随便找一个机器在浏览器中输入:
    http://192.168.1.222/
        通过对1、2号机的网络的断开和连接查看浏览器显示的内容,如果任何一个机器网络断了或挂了,6秒后还能正常访问说明大功告成
        6秒是我们在keepalived 中设置的,你也可以根据实际需要进行改动


    八、收工

        一个高可用、服务不间断的网络环境就搞定了哦


    本人原创,未经许可,可以转载,学习知识嘛:)




  • 相关阅读:
    python读取 ini 配置文件
    Mysql 存储过程声明及使用
    PAT乙级1002
    Pat乙级1001
    第四届蓝桥杯省赛翻硬币
    蓝桥杯第四届省赛错误票据
    蓝桥杯第四届省赛前缀判断
    蓝桥杯第四届省赛第39级台阶
    蓝桥杯第四届省赛马虎的算式
    蓝桥杯第三届省赛试题取球游戏
  • 原文地址:https://www.cnblogs.com/bdccloudy/p/7665222.html
Copyright © 2011-2022 走看看