宝塔wordpress建站教程,英文网站怎么设计,网站制作合作协议,除了速卖通还有什么网站做外贸文章目录 1. Keepalived工具概述1.1 什么是Keepalived1.2 工作原理1.3 Keepailved实现原理1.4 Keepalived体系主要模块及其作用1.5 keepalived的抢占与非抢占模式 2. 脑裂现象 #xff08;拓展#xff09;2.1 什么是脑裂2.2 脑裂的产生原因2.3 如何解决脑裂2.4 如何预防脑裂 … 文章目录 1. Keepalived工具概述1.1 什么是Keepalived1.2 工作原理1.3 Keepailved实现原理1.4 Keepalived体系主要模块及其作用1.5 keepalived的抢占与非抢占模式 2. 脑裂现象 拓展2.1 什么是脑裂2.2 脑裂的产生原因2.3 如何解决脑裂2.4 如何预防脑裂 3. LVSKeepalived 实现高可用负载均衡配置3.1 前置准备3.2 配置负载调度器 主keepalived服务器192.168.67.1003.3 配置负载调度器备keepalived服务器192.168.67.1013.4 配置节点服务器web1服务器192.168.67.1023.5 配置节点服务器web2服务器192.168.67.1033.6 测试 1. Keepalived工具概述
1.1 什么是Keepalived
专为LVS和HA设计的一款健康检查工具支持故障自动切换 (Failover)支持节点健康状态检查(Health Checking)
官方网站: http://www.keepalived.org/1.2 工作原理
判断 LVS 负载调度器、节点服务器的可用性 当 master 主机出现故障及时切换到backup 节点保证业务正常当 master故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。
1.3 Keepailved实现原理 VRRP(虚拟路由冗余协议) 是针对路由器的一种备份解决方案 由多台路由器组成一个热备组通过共用的虚拟IP地址对外提供服务 每个热备组内同时只有一台主路由器提供服务其他路由器处于冗余状态 若当前在线的路由器失效则其他路由器会根据设置的优先级自动接替虚拟IP地址继续提供服务
1.4 Keepalived体系主要模块及其作用
keepalived体系架构中主要有三个模块分别是core、check和vrrp。
core模块为keepalived的核心负责主进程的启动、维护及全局配置文件的加载和解析。vrrp模块是来实现VRRP协议的。调度器之间的健康检查和主备切换check模块负责健康检查常见的方式有端口检查及URL检查。节点服务器的健康检查
1.5 keepalived的抢占与非抢占模式
抢占模式即MASTER从故障中恢复后会将VIP从BACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP
非抢占式俩节点state必须为bakcup且必须配置nopreempt。
注意这样配置后我们要注意启动服务的顺序优先启动的获取master权限与优先级没有关系了。
#Keepalived通过什么判断哪台主机为主服务器,通过什么方式配置浮动IPKeepalived首先做初始化先检查state状态master为主服务器backup为备服务器。
然后再对比所有服务器的priority谁的优先级高谁是最终的主服务器。
优先级高的服务器会通过ip命令为自己的电脑配置一个提前定义好的浮动IP地址。2. 脑裂现象 拓展
2.1 什么是脑裂
主服务器和备服务器同时拥有 VIP
2.2 脑裂的产生原因
因为主服务器和备服务器之间的通信链路中断导致备服务器无法正常收到主服务器发送的VRRP心跳报文
2.3 如何解决脑裂
关闭主服务器或者备服务器其中一个的keepalived服务
2.4 如何预防脑裂 主服务器与备服务器之间添加双通信链路 在主服务器上定义运行脚本判断与备服务器通信链路是否中断如果中断则自行关闭keepalived服务 利用第三方监控软件检测是否发生脑裂故障如果发生则通过监控软件关闭主或者备服务器上的keepalived服务
3. LVSKeepalived 实现高可用负载均衡配置
3.1 前置准备
主keepalived服务器192.168.67.100
备keepalived服务器192.168.67.101web1服务器192.168.67.102
web2服务器192.168.67.103 vip192.168.67.200客户机192.168.67.1043.2 配置负载调度器 主keepalived服务器192.168.67.100
#关闭防火墙
systemctl stop firewalld.service
setenforce 0#安装服务
yum install ipvsadm -y
yum install keepalived -y #修改配置文件keeplived.conf
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak #备份配置文件vim keepalived.conf
#编辑配置文件删掉多余配置
#启动服务、查看虚拟网卡vip
systemctl start keepalived
ip addr show dev ens33 #调整proc响应参数关闭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#刷新一下
sysctl -p#配置负载分配策略并启动服务
ipvsadm-save /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service#清空ipvsadm并做策略
ipvsadm -C
ipvsadm -A -t 192.168.67.200:80 -s rr
ipvsadm -a -t 192.168.67.200:80 -r 192.168.67.102:80 -g
ipvsadm -a -t 192.168.67.200:80 -r 192.168.67.103:80 -g#保存设置
ipvsadm
ipvsadm -ln
ipvsadm-save /etc/sysconfig/ipvsadm3.3 配置负载调度器备keepalived服务器192.168.67.101
#与主服务器类似
#关闭防火墙
systemctl stop firewalld.service
setenforce 0#安装服务
yum install ipvsadm -y
yum install keepalived -y #修改配置文件keeplived.conf
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak #备份配置文件vim keepalived.conf
#编辑配置文件#启动服务、查看虚拟网卡vip
systemctl start keepalived
ip addr show dev ens33 #调整proc响应参数关闭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#刷新一下
sysctl -p#配置负载分配策略并启动服务
ipvsadm-save /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service#清空ipvsadm并做策略
ipvsadm -C
ipvsadm -A -t 192.168.67.200:80 -s rr
ipvsadm -a -t 192.168.67.200:80 -r 192.168.67.102:80 -g
ipvsadm -a -t 192.168.67.200:80 -r 192.168.67.103:80 -g#保存设置
ipvsadm
ipvsadm -ln
ipvsadm-save /etc/sysconfig/ipvsadm3.4 配置节点服务器web1服务器192.168.67.102
#关闭防火墙
systemctl stop firewalld
setenforce 0#安装并开启httpd服务
yum -y install httpd
systemctl start httpd#配置站点文件
vim /var/www/html/index.html
this is scj web1!#配置虚拟vip
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICElo:0
ONBOOTyes
IPADDR192.168.67.200
NETMASK255.255.255.255#重启网络服务开启虚拟网卡
systemctl restart network
ifup lo:0
ifconfig lo:0#设置路由
route add -host 192.168.67.200 dev lo:0
route -n#调整 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#刷新proc参数
sysctl -p3.5 配置节点服务器web2服务器192.168.67.103
#配置与web1类似
#关闭防火墙
systemctl stop firewalld
setenforce 0#安装并开启httpd服务
yum -y install httpd
systemctl start httpd#配置站点文件
vim /var/www/html/index.html
this is scj web2!#配置虚拟vip
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICElo:0
ONBOOTyes
IPADDR192.168.67.200
NETMASK255.255.255.255#重启网络服务开启虚拟网卡
systemctl restart network
ifup lo:0
ifconfig lo:0#设置路由
route add -host 192.168.67.200 dev lo:0
route -n#调整 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#刷新proc参数
sysctl -p3.6 测试
#前往客户机
curl 192.168.67.200
#访问vip#前往主服务器
ip a#前往备服务器
ip a#前往主服务器
systemctl stop keepalived.service
#断开主服务器#前往备服务器
ip a