centos 7.6 实现LVS+Keepalived高可用性能

环境需求:

主机:四台,

两台LVS+Keepalived的主备服务器
lvs1:192.168.6.129
lvs2:192.168.6.133

两台RS服务器
RS1:192.168.6.131
RS2:192.168.6.132

客户端:192.168.6.130

软件包:keepalived,ipvsadm,httpd(光盘yum源)

1.
在lvs 1 192.168.6.129 上
[root@lvs1 /]# yum install -y keepalived

在lvs 2 192.168.6.133 上
[root@lvs2 ~]# yum install -y keepalived

2.配置keepalived 主备与lvs

[root@lvs1 keepalived]# cp /etc/keepalived/keepalived.conf{,.bak}

在这里插入图片描述

[root@lvs1 keepalived]# vim keepalived.conf

3.配置主节点 192.168.6.129 上的keepalived

! Configuration File for keepalived

global_defs {
    
    
   notification_email {
    
    
   	root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id node1
   vrrp_mcast_group4 224.100.100.100
}

vrrp_instance VI_1 {
    
    
    state MASTER
    interface eth0
    virtual_router_id 66
    priority 100
    advert_int 1
    authentication {
    
    
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
    
    
        192.168.6.100/32
    }
}
virtual_server 192.168.6.100 80 {
    
    
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 0
    protocol TCP

    sorry_server 127.0.0.1 80

    real_server 192.168.6.131 80 {
    
    
        weight 1
        HTTP_GET {
    
    
            url {
    
    
              path /
 	      status_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
 	    connect_port 80
        }
    }
	real_server 192.168.6.132 80 {
    
    
        	weigth 1 
        	HTTP_GET {
    
    
            	url {
    
     
              	  path /
              	  status_code 200
            	} 
            	 connect_timeout 3
            	 nb_get_retry 3
            	 delay_before_retry 3
 		 connect_port 80
    		}       
	}
}

在这里插入图片描述4.配置192.168.6.133 从节点上的keepalived 配置文件

[root@lvs2 keepalived]# vim keepalived.conf

复制主节点上的配置文件
只需修改三个地方,其他一致
router_id node1 --------> router_id node2
state MASTER  --------->  state BACKUP
priority 100  ---------> priority 80

在这里插入图片描述
5.配置rs1 192.168.6.131 与 rs2 192.168.6.132

RS1 192.168.6.131
[root@rs1 init.d]# yum install -y httpd
[root@rs1 init.d]# echo 192.168.6.131 RS1 > /var/www/html/index.html

[root@rs1 init.d]echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[root@rs1 init.d]echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
[root@rs1 init.d]echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
[root@rs1 init.d]echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@rs1 ~]# ifconfig lo:1 192.168.6.100/32


RS2 192.168.6.132
[root@rs2 init.d]# yum install -y httpd
[root@rs2 init.d]# echo 192.168.6.132 RS2 > /var/www/html/index.html

[root@rs2 init.d]echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[root@rs2 init.d]echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
[root@rs2 init.d]echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
[root@rs2 init.d]echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@rs2 ~]# ifconfig lo:1 192.168.6.100/32

6.查看ipvsadm -Ln 是否已经写入需要的IP 地址

[root@lvs1 keepalived]# ipvsadm -Ln

在这里插入图片描述

[root@lvs2 keepalived]# ipvsadm -Ln

在这里插入图片描述
7.查看lvs1 192.168.6.129上是否已经绑定了VIP 192.168.6.100/32

注: 目前是lvs1 绑定了192.168.6.100 作为虚拟调度IP, lvs2 目前是没有的,只有到lvs1 宕机了, lvs2 才会接过192.168.6.100 过来,保证后端服务器的正常访问

[root@lvs1 keepalived]# ip addr show

在这里插入图片描述Lvs2 上目前是没有绑定的

在这里插入图片描述8.启动lvs1 和 lvs2 的keepalived 服务

Lvs1:
[root@lvs1 keepalived]#systemctl start keepalived.service
Lvs2:
[root@lvs2 keepalived]#systemctl start keepalived.service

9.测试 (192.168.6.130 客户机)

1.在lvs1 和 lvs2 都正常启动的情况下

访问一切正常
在这里插入图片描述
VIP 正常提供
在这里插入图片描述
2.假如lvs1 宕机了

[root@lvs1 keepalived]# systemctl stop keepalived.service

VIP 正确跳转到lvs2中
在这里插入图片描述
在这里插入图片描述
访问正常进行
在这里插入图片描述

3.重新启动lvs1

[root@lvs1 keepalived]# systemctl start keepalived.service

VIP 重新绑定在LVS1上
在这里插入图片描述
Lvs2 中的VIP 正确释放
在这里插入图片描述
客户端正常访问
在这里插入图片描述
日志提示
在这里插入图片描述
总结: 如果报什么错误,先去查看日志提示,基本可以确定毛病出在哪里。
日志文件存放位置:

/var/log/message

[root@lvs1 ~]# tail -f /var/log/messages
[root@lvs2 ~]# tail -f /var/log/messages

参考网址:https://blog.csdn.net/qq_39591494/article/details/78376947

猜你喜欢

转载自blog.csdn.net/Harry_z666/article/details/110665629