您的位置:首页 > 理论基础 > 计算机网络

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

2017-03-31 16:00 597 查看
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 中设置的,你也可以根据实际需要进行改动

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

本人原创,未经许可,可以转载,学习知识嘛:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: