网站栏目怎么做,营销网站建设平台,wordpress修改文章次序,wordpress基本教程为什么用它#xff0c;为了做高可用
服务功能
1.故障自动切换
2.健康检查
3.节点服务器高可用-HA
Keepalived的三个模块#xff1a; core#xff1a;Keepalived的核心#xff0c;负责主进程的启动、维护#xff1b;调用全局配置文件进行加载和解析 vrrp#xff1a;实…为什么用它为了做高可用
服务功能
1.故障自动切换
2.健康检查
3.节点服务器高可用-HA
Keepalived的三个模块 coreKeepalived的核心负责主进程的启动、维护调用全局配置文件进行加载和解析 vrrp实现VRRP协议 check负责健康检查 tcp端口检查三次握手 http url检查返回码
Keepalived实现原理
底层基于VRRP协议实现的高可用 VRRP就是虚拟路由冗余协议它的出现是为了解决静态路由单点故障 VRRP是通过竞选一种协议机制来将路由交给某台VRRP路由器 VRRP用IP多播的方式实现高可用之间的通信工作时主节点发包备节点接包当备节点收不到主节点的数据包时就启动接管主节点的资源备节点可以有多个通过优先级来进行竞选一般Keepalived系统运维时只有一对 VRRP使用加密协议加密数据但Keepalived目前还是推荐是用明文
脑裂现象 Master一直发送心跳消息给backup主机如果中间的链路突然断掉backup主机将无法收到master主机发送过来的心跳消息也就是vrrp报文backup这时候会立即抢占master的工作但其实这时候的master是正常工作的此时就会出现脑裂的现象。
怎么预防脑裂现象
1.使用shell脚本对这两个主机之间的连通性进行监测如果发现有问题就会立即关闭keepalived服务来防止脑裂的产生。
2.增加一条链路作为备用链路即使主链路挂掉了备用链路也会顶上来master主机可以继续给backup主机发送心跳消息。
3.监控软件的方法这边主要是采用的zabbix来监控的主要就是创建监控项创建触发器来测试关闭keepalived服务。
掌握LVSkeepalived高可用集群部署
示意图待修改 主DR 服务器ens33(192.168.220.121) ipvsadm 、keepalived(热备) 虚拟IP192.168.220.135 网卡 ens33:0 备DR 服务器ens33(192.168.220.122) ipvsadm 、keepalived 虚拟IP192.168.220.135 网卡 ens33:0 Web 服务器1ens33 192.168.220.111 lo:0(VIP)192.168.220.135 Web 服务器2ens33 192.168.220.112 lo:0(VIP)192.168.220.135 vip192.168.220.135 客户端192.168.220.10
1.配置负载调度器主、备相同 (192.168.220.121、192.168.220.122
systemctl stop firewalld.service
setenforce 0yum -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.confglobal_defs { #定义全局参数
--10行--修改邮件服务指向本地smtp_server 127.0.0.1
--12行--修改指定服务器路由器的名称主备服务器名称须不同主为LVS_01备为LVS_02router_id LVS_01
--14行--注释掉取消严格遵守VRRP协议功能否则VIP无法被连接#vrrp_strict
}vrrp_instance VI_1 { #定义VRRP热备实例参数
--20行--修改指定热备状态主为MASTER备为BACKUPstate MASTER
--21行--修改指定承载vip地址的物理接口interface ens33
--22行--修改指定虚拟路由器的ID号每个热备组保持一致 virtual_router_id 10#nopreempt #默认为抢占模式如果设置非抢占模式两个节点state必须为bakcup并加上配置 nopreempt
--23行--修改指定优先级数值越大优先级越高这里设置主为100备为90priority 100advert_int 1 #通告间隔秒数(心跳频率)authentication { #定义认证信息,每个热备组保持一致auth_type PASS #认证类型
--27行--修改指定验证密码主备服务器保持一致auth_pass abc123}virtual_ipaddress { #指定群集vip地址192.168.220.135}
}
--36行--修改指定虚拟服务器地址(VIP)、端口定义虚拟服务器和Web服务器池参数
virtual_server 192.168.220.135 80 {delay_loop 6 #健康检查的间隔时间(秒)lb_algo rr #指定调度算法轮询(rr)
--39行--修改指定群集工作模式直接路由(DR)lb_kind DRpersistence_timeout 50 #连接保持时间(秒)protocol TCP #应用服务采用的是 TCP协议
--43行--修改指定第一个Web节点的地址、端口real_server 192.168.220.111 80 {weight 1 #节点的权重
--45行--删除添加以下健康检查方式 TCP_CHECK {connect_port 80 #添加检查的目标端口connect_timeout 3 #添加连接超时(秒)nb_get_retry 3 #添加重试次数delay_before_retry 3 #添加重试间隔}}real_server 192.168.220.112 80 { #添加第二个 Web节点的地址、端口weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}
##删除后面多余的配置##
}192.168.220.121和122都需要配置vip(虚拟IP)
vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
DEVICEens33:0
ONBOOTyes
IPADDR192.168.220.135
NETMASK255.255.255.255重启网卡
systemctl restart network
ifup ens33:0 #主备服务器一起启动
systemctl restart keepalived
#查看虚拟网卡vip
ifconfig ens33:0
ip addr
2启动 ipvsadm 服务 --192.168.220.121---
ipvsadm-save /etc/sysconfig/ipvsadm
systemctl start ipvsadmipvsadm -C ##清空规则
ipvsadm -A -t 192.168.220.135:80 -s rr
ipvsadm -a -t 192.168.220.135:80 -r 192.168.220.111:80 -g
ipvsadm -a -t 192.168.220.135:80 -r 192.168.220.112:80 -gipvsadm -ln
#如没有VIP 的分发策略则重启 keepalived 服务systemctl restart keepalived --192.168.220.122---
ipvsadm-save /etc/sysconfig/ipvsadm
systemctl restart ipvsadmipvsadm -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 0sysctl -p
2.配置节点服务器
systemctl stop firewalld
setenforce 0yum -y install httpd
systemctl start httpd
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICElo:0
ONBOOTyes
IPADDR192.168.220.135
NETMASK255.255.255.255systemctl restart network
ifup lo:0
ifconfig lo:0
route add -host 192.168.220.135 dev lo:0vim /etc/sysctl.confnet.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 2sysctl -p
--192.168.220.111---
echo this is LK web1! /var/www/html/index.html
--192.168.220.112---
echo this is LK web2! /var/www/html/index.html
3.测试验证
在客户端访问 http://192.168.220.135 #需要等一会再刷新才能轮询
再在主服务器关闭 keepalived 服务后再测试
systemctl stop keepalived