keepalive+lvs高可用集群

安装

[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 

这里写图片描述

遇到的错误调试

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值