keepalive+lvs高可用集群

来源:互联网 发布:泰拉瑞亚mac汉化补丁 编辑:程序博客网 时间:2024/05/03 08:25

安装

[root@server1 software]# tar xfz keepalived-1.2.20.tar.gz  [root@server1 software]# cd keepalived-1.2.20 [root@server1 keepalived-1.2.20]# ./configure --prefix=/usr/local/keepalived [root@server1 keepalived-1.2.20]# make && make install [root@server1 sbin]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/ [root@server1 sbin]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/ [root@server1   sbin]#  ln  -s  /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ [root@server1 sbin]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ [root@server1 sbin]# chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived

这里写图片描述

配置

[root@server1 sbin]# vim /etc/keepalived/keepalived.conf 3   global_defs { 4   notification_email { 5   root@localhost //邮件报警 设置为本机 可以不设置 6   } 7   notification_email_from keepalived@server1//server4 此处后缀为 server4 8   smtp_server 127.0.0.1 9   smtp_connect_timeout 30 10  router_id LVS_DEVEL 11  vrrp_skip_check_adv_addr 12  vrrp_strict 13  }      14  15  vrrp_instance VI_1 { //设置节点 16  state MASTER  //状态只有 MASTER(工作)和 BACKUP(备用)两种,此处为 master,另一节点 server4 备用 17  interface eth0      //网络接口 18  virtual_router_id 51 // 虚拟路由标识,同一个 vrrp_instance 的 MASTER 和 BACKUP 的 virtual_router_id 一致 19  priority 100 //优先级 MASTER 必须比 BACKUP 高,server4 此处为 50 20  advert_int 1        //MASTER 和 BACKUP 同步检查的时间间隔 21  authentication { //验证 22  auth_type PASS 23  auth_pass 1111 24  } 25  virtual_ipaddress { //虚拟 ip 地址 26  172.25.98.100 27  } 28  }      29  30  virtual_server 172.25.98.100 80 {//此处 ip 来源于上面的虚拟 ip 后面加空格和端口号 31  delay_loop 6        //健康检查时间间隔 32  lb_algo rr      //负载均衡调度算法 33  lb_kind DR 34  #persistence_timeout 50 //会话保持时间,在时间内会把请求发送给同一服务器,50s 后的请求会再次被负载均衡调度 35  protocol TCP        //设置转发协议为 TCP      36  37  real_server 172.25.98.2 80 {//真实服务器地址 包括 ip 和端口号 38  weight 1            //权重 39  TCP_CHECK {         //判断真实服务器的健康状态 40  connect_timeout 3 //连接超时时间 41  nb_get_retry 3  //重连次数 42  delay_before_retry 3 //重连时间间隔 43  } 44  }      45  46  real_server 172.25.98.3 80 {//设置第二个真实服务器 47  weight 1 48  TCP_CHECK { 49  connect_timeout 3 50  nb_get_retry 3 51  delay_before_retry 3 52  } 53  } 54  } [root@server1 sbin]# /etc/init.d/keepalived start //启动服务 

这里写图片描述

测试

测试是否正常工作


[root@server2 ~]# /etc/init.d/httpd start //启动真实服务器的 httpd 服务
[root@server3 ~]# /etc/init.d/httpd start
[root@server1 sbin]# ipvsadm //查看真实服务器是否添加进 ipvs 列表
TCP 172.25.98.100:http rr
-> server2:http Route 1 0 0
-> server3:http Route 1 0 0
[kiosk@foundation98 Desktop]$ curl 172.25.98.100//访问虚拟 ip可成功访问到真实
服务器,且被负载均衡
Server3-index
[kiosk@foundation98 Desktop]$ curl 172.25.98.100
Server2-index
[kiosk@foundation98 Desktop]$ curl 172.25.98.100 Server3-index

这里写图片描述

测试对真实服务器是否健康检查

[root@server2 ~]# /etc/init.d/httpd stop //关闭真实服务器 server2 的 httpd 服务 [root@server1 sbin]# ipvsadm        //查看 ipvs 列表     TCP  172.25.98.100:http rr           -> server3:http                 Route   1      0          0   //健康检查机制使 server2 从 ipvs 列表中删除      [kiosk@foundation98 Desktop]$ curl 172.25.98.100//只有真实服务器 server3 被访问,不再访问 server2,当 server2 恢复后便被重新添加进 ipvs 表 Server3-index [kiosk@foundation98 Desktop]$ curl 172.25.98.100 Server3-index [kiosk@foundation98 Desktop]$ curl 172.25.98.100 Server3-index [kiosk@foundation98 Desktop]$ curl 172.25.98.100 Server3-index 

这里写图片描述

测试主备切换

[root@server1 sbin]# /etc/init.d/network stop   //切断主节点的网络,使心跳不能被备用节点接收 [root@server4 etc]# ip addr           2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000      link/ether 52:54:00:22:ce:69 brd ff:ff:ff:ff:ff:ff      inet 172.25.98.4/24 brd 172.25.98.255 scope global eth0      inet 172.25.98.100/32 scope global eth0 //备用节点接管资源      inet6 fe80::5054:ff:fe22:ce69/64 scope link             valid_lft forever preferred_lft forever [kiosk@foundation98 Desktop]$ arp 172.25.98.100  //在客户端上查看到此时访问的 mac 地址为 server4 备用节点     Address                  HWtype  HWaddress           Flags Mask            Iface  172.25.98.100            ether   52:54:00:22:ce:69   C               br0 [kiosk@foundation98 Desktop]$ curl 172.25.98.100//真实服务器正常被访问,系统正常工作 Server3-index [kiosk@foundation98 Desktop]$ curl 172.25.98.100 Server2-index [kiosk@foundation98 Desktop]$ curl 172.25.98.100 Server3-index [kiosk@foundation98 Desktop]$ curl 172.25.98.100 Server2-index [root@server1 sbin]# /etc/init.d/network start      //恢复主节点 [kiosk@foundation98 Desktop]$ arp 172.25.98.100    //主节点恢复,资源回切到主节点     Address                  HWtype  HWaddress           Flags Mask            Iface  172.25.98.100            ether   52:54:00:8e:a7:97   C               br0 

这里写图片描述

遇到的错误调试

配置完成后,访问虚拟服务器无反应
这里写图片描述
这里写图片描述

原创粉丝点击