栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

LVS+Keepalived群集

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LVS+Keepalived群集

Keepalived及其工作原理

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。

在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

Keepalived体系主要模块及其作用:
keepalived体系架构中主要有三个模块,分别是core、check和vrrp。
●core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。
●vrrp模块:是来实现VRRP协议的。
●check模块:负责健康检查,常见的方式有端口检查及URL检查。

LVS+Keepalived 高可用群集

主DR 服务器:192.168.80.10
备DR 服务器:192.168.80.11
Web 服务器1:192.168.80.12
Web 服务器2:192.168.80.13
vip:192.168.80.188
客户端:192.168.80.200

---------------------LVS 部署-------------------------
1.配置负载调度器(主、备相同)
systemctl stop firewalld.service
setenforce 0

yum -y install ipvsadm keepalived
modprobe ip_vs
cat /proc/net/ip_vs

(1)配置keeplived(主、备DR 服务器上都要设置)
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协议功能,否则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.80.188
}
}
–36行–修改,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数
virtual_server 192.168.80.188 80 {
delay_loop 6 #健康检查的间隔时间(秒)
lb_algo rr #指定调度算法,轮询(rr)
–39行–修改,指定群集工作模式,直接路由(DR)
lb_kind DR
persistence_timeout 0 #连接保持时间(秒)
protocol TCP #应用服务采用的是 TCP协议
–43行–修改,指定第一个Web节点的地址、端口
real_server 192.168.80.12 80 {
weight 1 #节点的权重
–45行–删除,添加以下健康检查方式
TCP_CHECK {
connect_port 80 #添加检查的目标端口
connect_timeout 3 #添加连接超时(秒)
nb_get_retry 3 #添加重试次数
delay_before_retry 3 #添加重试间隔
}
}

real_server 192.168.80.13 80 {		#添加第二个 Web节点的地址、端口
    weight 1
    TCP_CHECK {
		connect_port 80
		connect_timeout 3
		nb_get_retry 3
		delay_before_retry 3
	}
}

##删除后面多余的配置##
}

systemctl start keepalived
ip addr #查看虚拟网卡vip

(2)启动 ipvsadm 服务
–192.168.80.10—
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

ipvsadm -ln
#如没有VIP 的分发策略,则重启 keepalived 服务,systemctl restart keepalived

–192.168.80.11—
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

ipvsadm -ln

(3)调整 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.80.100—
echo ‘this is kgc web!’ > /var/www/html/index.html

–192.168.80.101—
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.80.188
NETMASK=255.255.255.255

service network restart 或 systemctl restart network
ifup lo:0
ifconfig lo:0
route add -host 192.168.80.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

3.测试验证
在客户端访问 http://192.168.80.188/
再在主服务器关闭 keepalived 服务后再测试, systemctl stop keepalived

Keepalived通过什么判断哪台主机为主服务器,通过什么方式配置浮动IP?
答案:
Keepalived首先做初始化先检查state状态,master为主服务器,backup为备服务器。
然后再对比所有服务器的priority,谁的优先级高谁是最终的主服务器。
优先级高的服务器会通过ip命令为自己的电脑配置一个提前定义好的浮动IP地址。

keepalived的抢占与非抢占模式:
抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP
非抢占式俩节点state必须为bakcup,且必须配置nopreempt。
注意:这样配置后,我们要注意启动服务的顺序,优先启动的获取master权限,与优先级没有关系了。

Cluster 集群 群集
由多台主机构成 但对外只表现为一个整体 只提供一个
访问入口(域名或ip地址)相当于一台大型计算机

互联网应用中 随着站点对硬件性能,响应速度,
.服务稳定性数据可靠性等要求越来越高, 单台服务器
已经无法满足负载均衡及高可用的要求

LVS群集是linux中最好用的群集
企业群集分类
根据群集所针对的目标差异,可分为三种类型
负载均衡群集
高可用
高性能运算群集
负载均衡群集
提高应用系统的响应能力、尽可能处理更多的访问请求、
减少延迟为目标 获得高并发 、高负载的整体性能

lb 的负载分配依赖于主节点的分流算法 将来自客户机
的访问请求分担给多个服务器节点

高可用
提高应用系统的可靠性、尽可能减少中断时间为目标 确保服务的连续性 、
达到高可用(HA)的容错效果
HA的工作方式包括双工和主从两种模式 、 双工即所以节点
同时在线;主从只有主节点在线 但当出现故障时从节点能自动切换为主节点
例如 故障切换 双机热备 等

负载均衡的结构
负载调度器
通常配置主备调度器实现热备份 当主调度器失效以后 能
够平滑替换至备用调度器 确保高可用性

服务器池
服务器池 其中每个节点都具有rip地址

共享存储
为服务器池中的所有节点提供稳定 一致的文件存取服务
确保整个群集的统一性

LVS三种工作类型
地址转换 NAT. 即是入口也是出口 负载量大
ip隧道 TUN 暴露在公网里容易被攻击
直接路由 DR 半开放模式

LVS
轮询 加权轮询 最小连接 加权最小连接
源地址哈希

DR模式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/964180.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号