keepalived双机热备

keepalived官网链接

目录

什么是keepalived?

keepalived的热备方式

安装keepalived

 lvs_dr负载均衡配置

配置web节点服务器

调整/proc响应参数


keepalived官网链接LVS负载均衡群集-(Linux Virtual Server,Linux 虚拟服务器)-CSDN博客

什么是keepalived?

基础知识

Keepalived 是专门针对 LVS设计的一款强大的辅助工具,主要用来提供故障切换 (Failover)  和健康检查 (Health Checking) 功能——判断LVS负载调度器、节点服务器的可用性,及时隔离并替 换为新的服务器,当故障主机恢复后将其重新加入群集。

keepalived的热备方式

Keepalived 采用思科 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)热备份协议,以 软件的方式实现 Linux 服务器的多机热备功能。VRRP 是针对路由器的一种备份解决方案——由多台 路由器组成一个热备组,通过共用的虚拟P 地址对外提供服务;每个热备组内同一时刻只有一台主 路由器提供服务,其他路由器处于冗余状态,若当前在线的路由器失效,则其他路由器会自动接替 (优先级决定接替顺序)虚拟IP 地址,以继续提供服务,如上图。

热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP 地址 (VIP) 可以在热备组内的路由器之间进行转移,所以也称为漂移|P 地址。使用 Keepalived 时,漂移地址的实现不需要手动建立虚接口配置文件(如 ens33:0), 而 是 由Keepalived 根据配置文件自动管理。

安装keepalived

rpm -qa|grep keepalived
#查看是否安装,安装则删除

配置epel(阿里源)

 阿里源官方(选择与自己版本适合的epel源)

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

 下载keepalived服务

ipvsadm管理工具文章

yum install -y keepalived ipvsadm
systemctl enable keepalived
#设置keepalived服务开机自启
#ipvsadm管理工具

keepalived主服务器配置文件

keepalived服务配置文件:/etc/keepalived/keepalived.conf

global_defs {                   #本路由器(服务器)的名称
   router_id lb1			    #名称为lb1
}

vrrp_instance VI_1 {            #本路由器(服务器)的名称
    state MASTER                #热备状态,MASTER表示主服务器
    interface ens33             #热备状态,MASTER表示主服务器
    virtual_router_id 6         #虚拟路由器的ID 号,每个热备组保持一致
    priority 100                #优先级,数值越大优先级越高
    advert_int 1                #通告间隔秒数(心跳频率)
    authentication {            #认证信息,每个热备组保持一致
        auth_type PASS          #认证类型
        auth_pass 6666          #密码字串
    }
    virtual_ipaddress {
        192.168.8.254           #指定漂移地址(VIP),   可以有多个
    }
}

在同一个Keepalived 热备组内,所有服务器的Keepalived 配置文件基本相同,包括虚拟路由器的 ID号、认证信息、漂移地址、心跳频率等。不同之处主要在于路由器名称、热备状态、优先级。路由器名称 (router_id): 建议为每个参与热备的服务器指定不同的名称。

热备状态 (state):至少应有一台主服务器,将状态设为 MASTER; 可以有多台备用的服务

器,将状态设为 BACKUP

优先级 (priority): 数值越大则取得 VP 控制权的优先级越高,因此主服务器的优先级应设

为最高;其他备用服务器的优先级可依次递减,但不要相同,以免在争夺 VIP 控制权时发 生冲突。

备份服务器配置(修改热备状态为bakcup、优先级比主服务器低即可)

global_defs {                   #本路由器(服务器)的名称
   router_id lb2			    #名称为lb1
}

vrrp_instance VI_1 {            #本路由器(服务器)的名称
    state BACKUP                #热备状态,MASTER表示主服务器
    interface ens33             #热备状态,MASTER表示主服务器
    virtual_router_id 6         #虚拟路由器的ID 号,每个热备组保持一致
    priority 99                 #优先级,数值越大优先级越高
    advert_int 1                #通告间隔秒数(心跳频率)
    authentication {            #认证信息,每个热备组保持一致
        auth_type PASS          #认证类型
        auth_pass 6666          #密码字串
    }
    virtual_ipaddress {
        192.168.8.254           #指定漂移地址(VIP),   可以有多个
    }
}
systemctl restart keepalived
#重启keepalived
ip add
#使用ip add命令查看虚拟ip地址

 lvs_dr负载均衡配置

vim /etc/keepalived/keepalived.conf

省略部分内容

virtual_server  192.168.2.254 80 {	//虚拟服务器地址(vip)、端口,与漂移地址一样
	delay_loop  6					//健康检查的间隔时间(秒)
	lb_algo  rr					//轮询(rr)调度算法
	lb_kind  DR					//直接路由(DR)群集工作模式
   ! persistence  60				//连接保持时间(秒),若启用请去掉!号
	protocol  TCP					//应用服务采用的是tcp协议
	real_server  192.168.2.3 80 {	//第一个web节点的地址和端口
weight  1				//节点的权重
		TCP_CHECK  {			//健康检查方式(手工添加{前加空格)
				connect_port  80 //检查的目标端口
				connect_timeout 3  //连接超时(秒)
				nb_get_retry   3   //重试次数
				delay_before_retry   4  //重试间隔(秒)
		}
}

    real_server  192.168.2.4 80 {  //第二个web节点的地址和端口
weight  1				//节点的权重
		TCP_CHECK  {			//健康检查方式(手工添加{前加空格)
				connect_port  80 //检查的目标端口
				connect_timeout 3  //连接超时(秒)
				nb_get_retry   3   //重试次数
				delay_before_retry   4  //重试间隔(秒)
		}

}
systemctl restart keepalived   
#重启keepalived服务

配置web节点服务器

cd /etc/sysconfig/network-scripts
cp ifcfg-lo ifcfg-lo:0

配置虚拟ip地址

vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.2.254
NETMASK=255.255.255.255
ONBOOT=yes
#激活lo:0网卡
ifup lo:0

为本机添加一条路由,将访问vip的数据波限制在本地

route add-host 虚拟ip地址 dev lo:0

调整/proc响应参数

vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore  =  1
net.ipv4.conf.all.arp_announce  =  2
net.ipv4.conf.default.arp_ignore  =  1
net.ipv4.conf.default.arp_ignore  =  1
net.ipv4.conf.lo.arp_ignore  =  1
net.ipv4.conf.lo.arp_announce  = 2

这几项的作业:使rs不响应client的arp请求。

sysctl -p

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingyu飞鸟

醒来觉得甚是爱你。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值