lvs+keeplive

Keepalived概述

  • 调度出现单点故障,如何解决?
  • Keepalived实现了高可用集群
  • Keeepalived最初是为LVS设计的,专门监控各服务器节点状态
  • Keepalived后来加入了VRRP功能,防止单点故障

Keepalived运行原理

  • Keepalived检测每个服务器节点状态
  • 服务器节点异常或工作出现故障,Keepalived将故障节点从集群系统剔除
  • 故障节点恢复后,Keepalived再将其加入集群系统中
  • 所有工作自动完成,无需人工干预

lvs+keepalived
Keepalived安装

RHEL7中已经包含Keepalived软件包yum安装即可

yum -y install keepalived

配置文件解析

  • /etc/keepalived/keepalived.conf
  • 备注:配置文件中大括号" { " 前应有宫格,否则会出现 keepalived无法启动或ipvsadm -Ln 无信息
! Configuration File for keepalived

global_defs {	
   notification_email {
     root@localhost			# 设置报警收件人信箱
   }
   notification_email_from admin@keepalived.cn   # 设置发件人
   smtp_server 127.0.0.1			# 定义邮箱服务器
   smtp_connect_timeout 30
   router_id LVS_DEVEL			# 设置路由 ID
   vrrp_skip_check_adv_addr
#   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {		# 定义VRRP热备实例
    state MASTER			# 热备状态,MASTER表示主服务器,BACKUP表示从服务器
    interface eth0				# 配置lvs对外开放的IP
    virtual_router_id 52		# 随便写,主辅VRID号必须一致
    priority 150				   # 服务器优先级,数值越大优先级越高
    advert_int 1				# 通告间隔秒数(心跳频率)
    authentication {		# 热备认证信息,每个热备组保持一致
        auth_type PASS		认证类型
        auth_pass 1111		# /密码字符串,主辅服务器密码必须一致,
    }
    virtual_ipaddress {
        192.168.4.100         #  指定漂移地址(VIP),可以有多个
    }
}

virtual_server 192.168.4.100 80 {          # 设置 vip(地址与端口之间是空格,而不是 “ : ”)
    delay_loop 6		# 健康检查的间隔时间(秒)
    lb_algo rr				# 设置调度算法	
    lb_kind DR			# 设置lvs的工作模式
    persistence_timeout 50		#  保持客户端的请求在这个时间段内全部发到同一个真实服务器
    protocol TCP			# 应用服务器采用的是TCP协议

    real_server 192.168.4.1 80{		第一个Web服务器节点的地址、端口
        weight 1				# 设置加权轮询权重
	TCP_CHECK {		# 健康检查方式
            connect_timeout 3  	# 连接超时(秒)
            nb_get_retry 3		# 重试次数
            delay_before_retry 3	#重试间隔
        }
    }

    real_server 192.168.4.2 80{	# 第二个Web服务器节点的地址、端口
        weight 1
	TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

Keepalived + LVS

  • 使用Keepalived高可用解决调度器单点失败问题
  • 主、备调度器上配置lvs 、 keepalived
  • 主调度器异常时,Keepalived启用备用调度器
  • RealServer 运行在DR模式下,修改内核参数并附加VIP

个人实验:
使用5台虚拟机,1台作为客户端主机、2台作为LVS调度器、2台作为Real Server

拓扑:
在这里插入图片描述
步骤:

1、配置web服务器

1> 配置eth0 ip地址
2> 复制网卡配置文件配置 ifcfg-lo:0 配置VIP地址
3> 这里因为web1也配置与代理一样的VIP地址,所以需要修改内核参数,保证VIP地址不会与调度器冲突
4>重启网络服务,设置防火墙与SELinux
5>安装并启动httpd

2、配置调度器(不配置VIP,有keepalvied自动配置)

1> 配置eth0 ip地址
2> 重启网络服务,设置防火墙与SELinux
3> 安装ipvsadm ,若已存在,则需ipvsadm -C 清空规则
4> 安装Keepalived ,修改配置(见配置文件处)

3、客户端测试

1> 停止其中一台httpd服务
2> 在调度器端 ipvsam -Ln 查看状态
3> shutdown其中一台服务器
4> 在调度器端 ip addr show eth0 查看是否获取到了VIP
5> 客户端使用curl命令反复连接http://192.168.4.5,查看访问的页面是否会轮询到不同的后端真实服务器。

名词解释:
VRRP: 虚拟冗余路由,IETF公共标准
HSRP:热备份路由协议,cisco专有。

lvs + keepalived双主配置
通过2个VIP让2台LVS主机均处于工作状态,就是一边为MARSTER时,对应的互备配置就是BACKUP,互为主备结构,提高资源利用率!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值