1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > lvs负载均衡—高可用集群(keepalived)

lvs负载均衡—高可用集群(keepalived)

时间:2022-07-10 20:06:53

相关推荐

lvs负载均衡—高可用集群(keepalived)

基本概念:

什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,那说到keepalived时不得不说的一个协议就是VRRP协议,可以说这个协议就是keepalived实现的基础。

VRRP( Virtual Router Redundancy Protocol )协议:

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,Keepalived就是巧用VRRP协议来实现高可用性(HA)的。

1.用于实现路由器冗余的协议

2.解决静态路由单点故障问题

3.通过一种竞选(election)协议来实现虚拟路由器的功能

LVS提供负载均衡,keepalived提供健康检查,故障转移,提高系统的可用性! 采用这样的架构以后,很容易对现有系统进行扩展,只要在后端添加或者减少realserver,更改lvs的配置文件,就能实现无缝配置变更!

实验搭建:

server1:lvs调度服务器DS1:192.168.13.111

server2:后端服务器RS1:192.168.13.112

server3:后端服务器RS2:192.168.13.113

server4:lvs调度服务器DS2:192.168.13.114

VIP:192.168.13.100

1 . 在server1与server4上分别解压keepalived并编译安装:

tar zxf keepalived-2.0.6.tar.gz # 解压yum install gcc openssl-devel -y # 解决依赖cd keepalived-2.0.6./configure --prefix=/usr/local/keepalived --with-init=systemd# 编译make &&make install# 安装

装好之后会有这个keepalived目录,

其实不用两边都这么装,麻烦,一边装好之后直接scp传过去就好了。

2 . 配置启动配置文件 调度器(server1和server4)都进行相同操作:

ln -s /usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig ##配置文件,脚本都做成软链接ln -s /usr/local/keepalived/etc/keepalived/ /etc/ln -s /usr/local/keepalived/sbin/keepalived /sbin/

3 . 配置keepalived:

编写主节点server1的配置文件

cd /etc/keepalivedvim keepalived.conf

global_defs {notification_email {root@localhost #节点宕机了将会接收到异常邮件的主机}notification_email_from keepalived@localohost #邮件发送人smtp_server 127.0.0.1 #发送的服务器smtp_connect_timeout 30 #指定连接超时时间router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0}vrrp_instance VI_1 {state MASTER #主节点表示interface ens33# 网卡名virtual_router_id 13priority 100 #权重advert_int 1 #检查的间隔1sauthentication {auth_type PASS #认证方式auth_pass 1111 #认证的密码}virtual_ipaddress {192.168.13.100}}virtual_server 192.168.13.100 80 {delay_loop 6 #连接失败六次之后,发送邮件lb_algo rr #lvs调度算法lb_kind DR #lvs该工作方式protocol TCP # 端口real_server 192.168.13.112 80 {TCP_CHECK {weight 1connect_port 80connect_timeout 3}}real_server 192.168.13.113 80 {TCP_CHECK {weight 1connect_port 80connect_timeout 3}}}

编好之后

systemctl start keepalived

systemctl enable keepalived

再给server4 scp 过去

scp keepalived.conf root@192.168.13.114:/etc/keepalived/

在server4端只需要

state BACKUPpriority 50##修改这两个选项

改好之后

systemctl start keepalived

systemctl enable keepalived

3 . 真实服务器设置

1). 安装httpd 启动设置访问页面

注意:该处为了验证负载均衡的效果,后端真实服务器设置不同的访问内容,明显标示内容来自不同的后端服务器。

2). 添加VIP到各自的物理网卡中

ip addr add 192.168.13.100/24 dev ens33 # 临时添加ip到eth0网卡

3). 设置arptable策略,解决将用户所有针对VIP的请求发送到DS 而不是RS

yum install arptables -y # 安装管理工具arptables -A INPUT -d 192.168.13.100 -j DROParptables -A OUTPUT -s 192.168.13.100 -j mangle --mangle-ip-s 192.168.13.112

在另一端RS修改记着ip

4 . 测试:

1). 设置完成真实服务器之后,在两个调度器上查看ipvsadm 全部自动生成负载均衡策略:

2). 使用客户端主机测试:

负载均衡正常

3 ). 关闭真实服务器172.25.13.140的http的服务。模拟该服务器故障,测试该真实服务器被踢除出列表,当服务正常的时候会自动添加到列表中

当打开服务时,恢复正常

4 ) . 目前负载均衡服务器工作在主服务器,主服务器上会添加vip,关闭主服务器的keepalived,模拟负载均衡主服务器异常,这时候会切换到由服务器提供负载均衡服务,并且vip会主动漂移到副服务器。

主服务器

负载均衡主服务器异常,将会由副服务器提供服务,vip会自动漂移到副服务器:

客户端测试服务正常:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。