LVS+Keepalived 群集

目录

一. Keepalived工具介绍

二. Keepalived实现原理剖析

三. Keepalived案例讲解

1. keepalived.conf是主配置文件

2. 常用配置选项

3. 配置Keepalived slave服务器

4. 测试双机热备的效果

四. LVS+Keepalived 高可用群集的搭建

1. 配置主负载调度器(主:192.168.119.70 ;备:192.168.119.130)

1.1 关闭防火墙

1.2 安装服务

1.3 修改配置文件 keeplived.conf

1.4 启动服务,查看虚拟网卡vip

​1.5 调整proce响应参数,关闭linux内核的重定向参数响应

1.6 刷新

1.7 配置负载分配策略,并开启服务

1.8 清空ipvsadm,并做策略

1.9 保存设置

2. 配置节点服务

2.1 关闭防火墙

2.2 安装并开启httpd服务

2.3 配置站点文件

2.4 配置虚拟vip

2.5 重启网络服务,开启虚拟网卡

2.6 设置路由

2.7 调整proc响应参数

2.8 刷新proc参数

3. 测试

3.1 当前使用的为主DR服务器

3.2 断开主DR服务器的Keepalived测试

3.3 网页测试


一. Keepalived工具介绍

专为LVS和HA设计的一款健康检查工具

  • 支持故障自动切换(Failover)
  • 支持节点健康状态检查(Health Checking)
  • 官方网站: http://www.keepalived.orgl

二. Keepalived实现原理剖析

Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能

1. VRRP (虚拟路由冗余协议)

  • 是针对路由器的一种备份解决方案
  • 由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务
  • 每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态
  • 若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务

三. Keepalived案例讲解

  • Keepalived可实现多机热备,每个热备组可有多台服务器
  • 双机热备的故障切换是由虚拟P地址的漂移来实现,适用于各种应用服务器
  • Keepalived配置目录位于/etc/keepalived/
  • 配置Keepalived master服务器

1. keepalived.conf是主配置文件

global_defs {...}区段指定全局参数
vrrp_instance 实例名称{...}区段指定VRRP热备参数
注释文字以"∵"符号开头
目录samples,提供了许多配置样例作为参考

2. 常用配置选项

router_id HA_TEST_R1:本路由器(服务器)的名称、主备名称要不一样
vrrp_instance Vl_1∶定义VRRP热备实例
state MASTER:热备状态,MASTER表示主服务器
interface ens33:承载VIP地址的物理接口
virtual_router_id 1 :虚拟路由器的ID号,每个热备组保持一致
priority 100:优先级,数值越大优先级越高
advert_int 1:通告间隔秒数(心跳频率)
auth_type PASS:认证类型
auth_pass 123456:密码字串
virtual_ipaddress { vip}:指定漂移地址(VIP),可以有多个

3. 配置Keepalived slave服务器

Keepalived备份服务器的配置与master的配置有三个选项不同

router_id:设为自有名称
state:设为BACKUP
priority:值低于主服务器

其他选项与master相同

4. 测试双机热备的效果

router_id:设为自有名称
state:设为BACKUP
priority:值低于主服务器

四. LVS+Keepalived 高可用群集的搭建

配置环境

主DR 服务器:192.168.119.70
备DR 服务器:192.168.119.130
Web  服务器1:192.168.119.20
Web  服务器2:192.168.119.30

1. 配置主负载调度器(主:192.168.119.70 ;备:192.168.119.130)

# 配置Keepalived master服务器 #

1. #关闭防火墙
systemctl stop firewalld.service
setenforce 0

2. #安装服务
yum -y install ipvsadm keepalived

3. #修改配置文件keeplived.conf
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf

......
global_defs {                               #定义全局参数
--10行--修改,邮件服务指向本地
       smtp_server 127.0.0.1
--12行--修改,指定服务器(路由器)的名称,主备服务器名称须不同,主为LVS_01,备为LVS_02
       router_id LVS_01
}
--14行--加注释
      #  vrrp_strict
vrrp_instance VI_1 {                       #定义VRRP热备实例参数
--20行--修改,指定热备状态,主为MASTER,备为BACKUP
    state MASTER
--21行--修改,指定承载vip地址的物理接口
    interface ens33
--22行--修改,指定虚拟路由器的ID号,每个热备组保持一致
    virtual_router_id 10
--23行--修改,指定优先级,数值越大优先级越高,主为100,备为99
    priority 100
    advert_int 1                          #通告间隔秒数(心跳频率)
    authentication {                      #定义认证信息,每个热备组保持一致
              auth_type PASS              #认证类型
--27行--修改,指定验证密码,主备服务器保持一致
        auth_pass 123456
    }
    virtual_ipaddress {                   #指定群集vip地址
        192.168.119.100
    }
}
--36行--修改,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数
virtual_server 192.168.119.100 80 {
    delay_loop 6                      #健康检查的间隔时间(秒)
    lb_algo rr                        #指定调度算法,轮询(rr)
--39行--修改,指定群集工作模式,直接路由(DR)
    lb_kind DR
    persistence_timeout 50            #连接保持时间(秒)
    protocol TCP                      #应用服务采用的是 TCP协议
--43行--修改,指定第一个Web节点的地址、端口
                  real_server 192.168.119.20 80 {
        weight 1                      #节点的权重
--45行--删除,添加以下健康检查方式        
        TCP_CHECK {
                     connect_port 80         #添加检查的目标端口
                     connect_timeout 3       #添加连接超时(秒)
                     nb_get_retry 3          #添加重试次数
                     delay_before_retry 3    #添加重试间隔
              }
       }

       real_server 192.168.119.30 80 { #添加第二个 Web节点的地址、端口
        weight 1
        TCP_CHECK {
                     connect_port 80
                     connect_timeout 3
                     nb_get_retry 3
                     delay_before_retry 3
              }
       }
}
##删除后面多余的配置##

4. #启动服务、查看虚拟网卡vip
systemctl start keepalived
ip addr show dev ens33   

5. #调整proce响应参数,关闭Linux内核的重定向参数响应
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

6. #刷新一下
sysctl -p

# 配置ipvsadm #

7. #配置负载分配策略,并启动服务
ipvsadm-save >/etc/sysconfig/ipvsadm
systemctl start ipvsadm.service

8. #清空ipvsadm,并做策略
ipvsadm -C
ipvsadm -A -t 192.168.119.100:80 -s rr
ipvsadm -a -t 192.168.119.100:80 -r 192.168.119.20:80 -g
ipvsadm -a -t 192.168.119.100:80 -r 192.168.119.20:80 -g
 
9. #保存设置
ipvsadm
ipvsadm -ln
ipvsadm-save >/etc/sysconfig/ipvsadm

1.1 关闭防火墙

1.2 安装服务

1.3 修改配置文件 keeplived.conf

1.4 启动服务,查看虚拟网卡vip

1.5 调整proce响应参数,关闭linux内核的重定向参数响应

1.6 刷新

1.7 配置负载分配策略,并开启服务

1.8 清空ipvsadm,并做策略

1.9 保存设置

2. 配置节点服务

web1(192.168.119.20) ; web2(192.168.119.30)

1. #关闭防火墙
systemctl stop firewalld
setenforce 0

2. #安装并开启httpd服务
yum -y install httpd
systemctl start httpd

3. #配置站点文件
#web1(192.168.119.20)#
vim /var/www/html/index.html
<html>
<body>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<h1>风带来故事的种子,时间使其发芽</h1>
</body>
</html>

#web2(192.168.119.30)#
vim /var/www/html/index.html
<html>
<body>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<h1>曲高未必人不识,自有知音和清词</h1>
</body>
</html>

4. #配置虚拟vip
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.119.100
NETMASK=255.255.255.255

5. #重启网络服务,开启虚拟网卡
systemctl restart network
ifup lo:0
ifconfig lo:0

6. #设置路由
route add -host 192.168.119.100 dev lo:0
route -n

7. #调整 proc 响应参数
#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP

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_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

8. #刷新proc参数
sysctl -p

2.1 关闭防火墙

2.2 安装并开启httpd服务

2.3 配置站点文件

2.4 配置虚拟vip

2.5 重启网络服务,开启虚拟网卡

2.6 设置路由

2.7 调整proc响应参数

2.8 刷新proc参数

3. 测试

3.1 当前使用的为主DR服务器

3.2 断开主DR服务器的Keepalived测试

systemctl stop keepalived.service

3.3 网页测试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值