DR模式下高可用的LVS

高可用的LVS(DR模式)—(HA+LB)

Keepalived:

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

VRRP( Virtual Router Redundancy Protocol )协议:

网络在设计的时候必须考虑到冗余容灾,包括线路冗余,设备冗余等,防止网络存在单点故障,那在路由器或三层交换机处实现冗余就显得尤为重要,在网络里面有个协议就是来做这事的,这个协议就是VRRP协议,Keepalived就是巧用VRRP协议来实现高可用性(HA)的。

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

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

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

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

1.设置实验环境

server1:master负载均衡器
server4:backup负载均衡器
server2:后端web服务器
server3:后端web服务器

将server1,server2,server3配置为普通DR模式
软件安装
获得keepalived安装包,并解压

tar zxf keepalived-2.0.6.tar.gz

在这里插入图片描述

2、进入到解压目录下,安装服务所需要的软件

cd keepalived-2.0.6
yum install openssl-devel gcc libnl libnl-devel -y

3.进入解压好的keepalived-2.0.6目录下,进行源码编译

./configure --prefix=/usr/local/keeplived --with-init=SYSV

注意: 因为源码是C,需要安装gcc;出现Use IPVS Framework : Yes成功

4.安装

make && make install		#注意要在解压的目录下

5.将安装后的文件夹远程同步给server4:backup负载均衡器

scp -r keeplived server4:/usr/local/

6.在server1、server4中为keepalived的执行脚本赋予执行权限,添加链接

ln -s /usr/local/keeplived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keeplived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keeplived/etc/keepalived/ /etc/
ln -s /usr/local/keeplived/sbin/keepalived /sbin/
===================================================
chmod +x /usr/local/keeplived/etc/rc.d/init.d/keepalived

7.server1、server4安装调度器ipvsadm,并给server3、server2添加ip

在server1和4中

yum install ipvsadm -y

server2、server3:

ip addr add 172.25.75.100/32 dev eth0

8.在server1,编辑keepalived配置文件,设置为MASTER,并启动服务

 vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {				##全局定义块
   notification_email {		##邮件通知
     root@localhost
   }
   notification_email_from keeplived@localhost		#设置邮件的发送地址
   smtp_server 127.0.0.1			#设置 smtp server 地址
   smtp_connect_timeout 30			#设置连接 smtp 服务器超时时间
   router_id LVS_DEVEL				#load balancer 的标识 ID,用于 email
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER			#备机改为 BACKUP,此状态是由 priority 的值来决定的
    interface eth0			#HA 监测网络接口
    virtual_router_id 51	#主、备机的 virtual_router_id 必须相同,取值 0-255
    priority 100			#主机的优先级,备份机改为 50,主机优先级一定要大于备机
    advert_int 1			#主备之间的通告间隔秒数
    authentication {
        auth_type PASS		#设置验证类型,主要有 PASS 和 AH 两种
        auth_pass 1111
    }
    virtual_ipaddress {		##指定漂移地址(VIP),即切换到MASTER时,这些IP会被添加,切换到BACKUP时,这些IP会被删除(传给ip addr命令),所以每台服务器可以不用绑定任何的虚拟地址。
        172.25.70.100
    }
}

## 虚拟服务配置

virtual_server 172.25.70.100 80 {		#定义虚拟服务器
    delay_loop 3
    lb_algo rr							#lvs 调度算法,这里使用轮叫
    lb_kind DR							#LVS 是用 DR 模式
    #persistence_timeout 50				#注释掉(像lftp等连接性服务,会有连接时间,此处用httpd做实验)
    protocol TCP						#指定转发协议类型,有 tcp 和 udp 两种
real_server 172.25.70.2 80 {		#配置服务节点
    TCP_CHECK{						##TCP方式的健康检查,realserve 的状态检测设置部分,单位是秒
    weight 1						##默认为1,0为失效
        connect_timeout 3			#3 秒无响应超时
        retry 3						#重试次数
        delay_before_retry 3		#重试间隔
    }
}

real_server 172.25.70.3 80 {
    TCP_CHECK{
    weight 1
        connect_timeout 3
        retry 3
        delay_before_retry 3
    }
}
}

/etc/init.d/keepalived start #启动服务

9.将配置文件远程同步给server4,并修改

scp keepalived.conf server4:/etc/keepalived/

修改配置文件

vim /etc/keepalived/keepalived.conf		#修改配置文件

更改内容:
vrrp_instance VI_1 {
    state BACKUP				#备机改为 BACKUP
    interface eth0
    virtual_router_id 51
    priority 50					#备份机改为 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.25.70.100
    }
}

/etc/init.d/keepalived start #启动服务

10.给server1、server4安装邮件服务

yum install mailx -y

测试:
在工作的负载均衡器的eth0网卡上生成一个IP:172.25.75.100/32
将后端web服务器server2的httpd服务关闭,模拟故障

[root@foundation75 ~]# curl 172.25.75.100
<h1>www.server3.com</h1>
[root@foundation75 ~]# curl 172.25.75.100
<h1>www.server3.com</h1>

我们启动server2的httpd服务,关闭master负载均衡器的Keepalived,模拟master负载均衡器出现故障。
在这里插入图片描述

在客户端测试

[root@foundation75 ~]# curl 172.25.75.100
<h1>www.server2.com</h1>
[root@foundation75 ~]# curl 172.25.75.100
<h1>www.server2.com</h1>

分析: 当master负载均衡器挂掉之后,backup负载均衡器负责起负载均衡的功能,避免了单点故障,实现了负载均衡的高可用!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值