网站排版设布局,营销培训视频课程免费,定制专业网站,seo课程培训机构一、LVSKeepalived 高可用群集
在这个高度信息化的 IT 时代#xff0c;企业的生产系统、业务运营、销售和支持#xff0c;以及日常管理等环节越来越依赖于计算机信息和服务#xff0c;对高可用#xff08;HA#xff09;技术的应用需求不断提高#xff0c;以便提供持续的…一、LVSKeepalived 高可用群集
在这个高度信息化的 IT 时代企业的生产系统、业务运营、销售和支持以及日常管理等环节越来越依赖于计算机信息和服务对高可用HA技术的应用需求不断提高以便提供持续的、不间断的计算机系统或网络服务。
Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案可以解决静态路由出现的单点故障问题。
1、Keepalived工具介绍
专为LVS和HA设计的一款健康检查工具
• 支持故障自动切换Failover
• 支持节点健康状态检查Health Checking
• 官方网站Keepalived for Linux
2、工作原理
在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器但是对外表现为一个虚拟IP主服务器会发送VRRP通告信息给备份服务器当备份服务器收不到VRRP消息的时候即主服务器异常的时候备份服务器就会接管虚拟IP继续提供服务从而保证了高可用性。
3、Keepalived实现原理剖析
Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能
4、 VRRP 虚拟路由冗余协议
是针对路由器的一种备份解决方案
由多台路由器组成一个热备组通过共用的虚拟IP地址对外提供服务
每个热备组内同时只有一台主路由器提供服务其他路由器处于冗余状态
若当前在线的路由器失效则其他路由器会根据设置的优先级自动接替虚拟IP地址继续提供服务
5、故障转移机制
Keepalived高可用服务之间的故障切换转移是通过VRRP 来实现的。
在 Keepalived服务正常工作时主 Master节点会不断地向备节点发送多播的方式心跳消息用以告诉备Backup节点自己还活着当主 Master节点发生故障时就无法发送心跳消息备节点也就因此无法继续检测到来自主 Master节点的心跳了于是调用自身的接管程序接管主Master节点的 IP资源及服务。
而当主 Master节点恢复时备Backup节点又会释放主节点故障时自身接管的IP资源及服务恢复到原来的备用角色。
二、LVSKeepalived 高可用群集的搭建步骤
环境准备
主DR 服务器 192.168.2.66 备DR 服务器 192.168.2.99 Web 服务器1 192.168.2.105 Web 服务器2 192.168.2.200 nfs 服务器 192.168.2.100 客户端192.168.2.1 vip192.168.2.67
1、配置负载调度器主、备相同192.168.2.66192.168.2.67
systemctl stop firewalld.service
setenforce 0yum -y install ipvsadm keepalived
modprobe ip_vs
cat /proc/net/ip_vs1.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_02router_id LVS_01
}vrrp_instance VI_1 { #定义VRRP热备实例参数
--20行--修改指定热备状态主为MASTER备为BACKUPstate MASTER
--21行--修改指定承载vip地址的物理接口interface ens33
--22行--修改指定虚拟路由器的ID号每个热备组保持一致virtual_router_id 10
--23行--修改指定优先级数值越大优先级越高主为100备为99priority 100advert_int 1 #通告间隔秒数(心跳频率)authentication { #定义认证信息,每个热备组保持一致auth_type PASS #认证类型
--27行--修改指定验证密码主备服务器保持一致auth_pass abc123}virtual_ipaddress { #指定群集vip地址192.168.229.100}
}
--36行--修改指定虚拟服务器地址(VIP)、端口定义虚拟服务器和Web服务器池参数
virtual_server 192.168.2.67 80 {delay_loop 6 #健康检查的间隔时间(秒)lb_algo rr #指定调度算法轮询(rr)
--39行--修改指定群集工作模式直接路由(DR)lb_kind DRpersistence_timeout 50 #连接保持时间(秒)protocol TCP #应用服务采用的是 TCP协议
--43行--修改指定第一个Web节点的地址、端口real_server 192.168.2.105 80 {weight 1 #节点的权重
--45行--删除添加以下健康检查方式 TCP_CHECK {connect_port 80 #添加检查的目标端口connect_timeout 3 #添加连接超时(秒)nb_get_retry 3 #添加重试次数delay_before_retry 4 #添加重试间隔}}real_server 192.168.2.200 80 { #添加第二个 Web节点的地址、端口weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}
##删除后面多余的配置##
}systemctl start keepalived
ip addr show dev ens33 #查看虚拟网卡vip1.2 配置分发策略keepalived配置好后可以不用再配ipvsadm 分发策略
ipvsadm-save /etc/sysconfig/ipvsadm
systemctl start ipvsadmipvsadm -C
ipvsadm -A -t 192.168.2.67:80 -s rr
ipvsadm -a -t 192.168.2.67:80 -r 192.168.2.105:80 -g
ipvsadm -a -t 192.168.2.67:80 -r 192.168.2.200:80 -g
ipvsadmipvsadm -ln
ipvsadm-save /etc/sysconfig/ipvsadm#如果没有vip的分发策略。则重启keepalived 服务1.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 -p2、部署共享存储NFS服务器192.168.2.100
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0yum install nfs-utils rpcbind -y
systemctl start nfs.service
systemctl start rpcbind.service
systemctl enable nfs.service
systemctl enable rpcbind.servicemkdir /opt/xkq /opt/wy
chmod 777 /opt/xkq /opt/wyvim /etc/exports
/usr/share *(ro,sync)
/opt/xkq 192.168.2.0/24(rw,sync)
/opt/wy 192.168.2.0/24(rw,sync)--发布共享---
exportfs -rv3、配置节点服务器192.168.2.105192.168.2.200
systemctl stop firewalld
setenforce 0yum -y install httpd
systemctl start httpdvim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICElo:0
ONBOOTyes
IPADDR192.168.2.67
NETMASK255.255.255.255service network restart 或 systemctl restart network
ifup lo:0
ifconfig lo:0
route add -host 192.168.2.67 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.2.105---
mount.nfs 192.168.2.100:/opt/xkq /var/www/html--192.168.2.105---
mount.nfs 192.168.2.100:/opt/wy /var/www/html4、测试验证
在客户端访问 http://192.168.2.67
再在主服务器关闭 keepalived 服务后在测试(systemctl stop keepalived)
三、实例操作LVSKeepalived 高可用群集
1、配置负载调度器主、备相同192.168.2.66192.168.2.99
1.1 关闭防火墙并安装ipvsadm和keepalived工具
主DR 服务器 192.168.2.66 备DR 服务器 192.168.2.99 1.2 配置keeplived主、备DR 服务器上都要设置
主DR 服务器 192.168.2.66 备DR 服务器 192.168.2.99 1.3 调整内核 proc 响应参数关闭linux内核的重定向参数响应
主DR 服务器 192.168.2.66 备DR 服务器 192.168.2.99 2、部署共享存储NFS服务器192.168.2.100 3、配置节点服务器192.168.2.105192.168.2.200
Web 服务器1 192.168.2.105 Web 服务器2 192.168.2.200 4、测试验证
在客户端访问 http://192.168.2.67 要等一会再刷新 )
再在主服务器关闭 keepalived 服务后在测试(systemctl stop keepalived)