当前位置:网站首页>LVS+Keepalived
LVS+Keepalived
2022-08-07 02:34:00 【strange mushroom】
LVS+Keepalived
一、Keepalived
1.什么是keepalived
Keepalived是一款专为LVS和HA设计的一款健康检查工具:支持故障自动切换、支持节点健康状态检查
2.Keepalived工作原理
Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,Available via etherealVIP保持业务的稳定,Usually a cluster has two services:主服务器(MASTER)和备份服务器(BACKUP)但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性.
3.Keepalived体系主要模块及其作用
keepalived体系架构中主要有三个模块,分别是core、check和vrrp.
●core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析.
●vrrp模块:是来实现VRRP协议的.
●check模块:负责健康检查,常见的方式有端口检查及URL检查.
二、实验![[LVSK.png]]
1.required host
主DR:192.168.226.122
辅DR:192.168.226.123
虚拟IP:192.168.226.130
web服务器1:192.168.226.124
客户端:192.168.226.125
2.LVS部署(192.168.226.122 192.168.226.123)
配置负载调度器
yum -y install ipvsadm keepalived
modprobe ip_vs ##查看版本信息
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
![[Pasted image 20220802151354.png]]![[Pasted image 20220802152556.png]]
global_defs { #定义全局参数
--10行--修改,邮件服务指向本地
smtp_server 127.0.0.1
--12行--修改,指定服务器(路由器)的名称,主备服务器名称须不同,主为LVS_01,备为LVS_02
router_id LVS_01
--14行--注释掉,取消严格遵守VRRP协议功能,否则VIP无法被连接
#vrrp_strict
}
vrrp_instance VI_1 { #定义VRRP热备实例参数
--20行--修改,指定热备状态,主为MASTER,备为BACKUP
state MASTER
--21行--修改,指定承载vip地址的物理接口
interface ens33
--22行--修改,指定虚拟路由器的ID号,每个热备组保持一致
virtual_router_id 10
#nopreempt #如果设置非抢占模式,两个节点state必须为bakcup,并加上配置 nopreempt
--23行--修改,指定优先级,数值越大优先级越高,这里设置主为100,备为90
priority 100
advert_int 1 #通告间隔秒数(心跳频率)
authentication { #定义认证信息,每个热备组保持一致
auth_type PASS #认证类型
--27行--修改,指定验证密码,主备服务器保持一致
auth_pass abc123
}
virtual_ipaddress { #指定群集vip地址
192.168.10.188
}
}
--36行--修改,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数
virtual_server 192.168.10.188 80 {
delay_loop 6 #健康检查的间隔时间(秒)
lb_algo rr #指定调度算法,轮询(rr)
--39行--修改,指定群集工作模式,直接路由(DR)
lb_kind DR
persistence_timeout 50 #连接保持时间(秒)
protocol TCP #应用服务采用的是 TCP协议
##################################Configuration for the real master####################################
--43行--修改,指定第一个Web节点的地址、端口
real_server 192.168.10.16 80 {
weight 1 #节点的权重
--45行--删除,添加以下健康检查方式
TCP_CHECK {
connect_port 80 #添加检查的目标端口
connect_timeout 3 #添加连接超时(秒)
nb_get_retry 3 #添加重试次数
delay_before_retry 3 #添加重试间隔
}
}
real_server 192.168.10.17 80 { #添加第二个 Web节点的地址、端口
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
##删除后面多余的配置##
}
Configure virtual NICs for both schedulers(VIP)
vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
NETMASK=255.255.255.255
重启网卡 systemctl restart network
ifup ens33:0
systemctl start keepalived
ip addr #查看虚拟网卡vip
对ipvsadm设置规则
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C ##清空规则
ipvsadm -A -t 192.168.10.188:80 -s rr ##设置VIP地址
ipvsadm -a -t 192.168.10.188:80 -r 192.168.10.16:80 -g
ipvsadm -a -t 192.168.10.188:80 -r 192.168.10.17:80 -g
ipvsadm -ln #查看链接
调整 proc 响应参数,关闭Linux 内核的重定向参数响应
vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
配置节点服务器
2.配置节点服务器
systemctl stop firewalld
setenforce 0
yum -y install httpd
systemctl start httpd
--192.168.10.16---
echo 'this is kgc web!' > /var/www/html/index.html
--192.168.10.17---
echo 'this is benet web!' > /var/www/html/index.html
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.10.188
NETMASK=255.255.255.255
service network restart 或 systemctl restart network
ifup lo:0
ifconfig lo:0
route add -host 192.168.10.188 dev lo:0
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
设置路由
route add -host 192.168.58.110 dev lo:0
route –n
完成操作
边栏推荐
猜你喜欢

51单片机——暴躁升旗手在线升旗(一款简陋的升旗装置)

领克09phev主动和被动安全配置齐全,百公里加速5.6s

Use latex language to write formulas in word,

光模块故障的主要原因及解决办法

In-depth analysis of FutureTask source code

JUC源码学习笔记4——原子类,CAS,Volatile内存屏障,缓存伪共享与UnSafe相关方法

Getting Started with Tensorflow 2.0

漆包线是什么?

FutureTask源码深度剖析

Set sail C language, the first Hello World
随机推荐
In-depth analysis of FutureTask source code
OAuth2的定义和运行流程
NL80211驱动
haproxy实验
%st interpretation of cloud virtual machine top command
Lynk & Co 09phev is fully equipped with active and passive safety features, and it can accelerate from 100 km to 5.6s
什么是(UL)SIS线?
xcode armv6 armv7 armv7s arm64
丈夫为做生意借款,妻子要还吗
js 实现两个小数的相乘、相除、相加和相减功能
ansible Cron 模块
基于FPGA的fir滤波器设计verilog实现
在本地与服务器之间拷贝数据
HUSTOJ添加ssl证书
Literature Reading (183) MAGMA
ansible Replace 模块
uva10125
只需 2 张照片就能 2D 变 3D,这个 AI 能自己脑补蜡烛吹灭过程
微信小程序中target和currentTarget的区别
JUC源码学习笔记4——原子类,CAS,Volatile内存屏障,缓存伪共享与UnSafe相关方法