一、LVS架构
概念
L4和L7负载均衡的区别
keepalive故障自动切换
抢占与非抢占
二、keepalived管理LVS负载均衡器
LVS集中节点的健康检查
三、部署LVS + keeplived 高可用集群
第一步 关闭防火墙和安全机制
第二步 安装工具
第三步 手动配置模块
第四步 编辑策略配置文件
第五步 查看策略设置
第六步 创建虚拟网卡
第七步 修改虚拟网卡配置
第八步 重启网卡并启动虚拟网卡
第九步 添加路由
第十步 创建备份文件启动服务
第十一步 添加ipvsadm策略并启动
第十二步 配置备用LVS服务器
第十三步 配置Web节点服务器
第十四步 安装HTTP服务
第十五步 启动服务
第十六步 添加网页执行文件
第十七步 创建虚拟地址
第十八步 重启服务并启动虚拟IP地址
第十九步 添加路由
第二十步 编辑策略配置文件
第二十一步 检查策略配置
第二十二步 部署第二台Web服务器
第二十三步 修改主设备的keepalive配置内容进行备份
第二十四步 更改配置文件内容
第二十五步 开启服务器并查看虚拟网卡
第二十六步 修改备用机的配置文件
第二十七步 备用LVS启动服务
第二十八步 查看详细信息
第二十九步 测试漂移地址关闭主设备
第三十步 查看主设备日志文件
第三十一步 查看备用设备日志文件是否顶替
第三十二步 用浏览器进行测试
① LVS是具有负载均衡功能的服务之一
② LVS作为后端真实服务器,提供负载均衡和跳转功能
③ 单台LVS作为四层负载均衡的服务TCP协议的负载均衡
LVS + keepalived 组成的HA高可用集群,可做为七层的负载均衡
L4通过TCP协议建立连接之后的IP:port接收请求和基于IP:port端口进行转发
L7通过TCP协议建立三次握手,通过HTTP协议传输数据,七层负载均衡器,需要根据HTTP协议传输过来的请求,进行对应的跳转,这个跳转是先基于TCP协议的传输(IP:port)+ HTTP的传输
如果是四层,协议只有TCP就是IP:port的转发
如果是七层,TCP和三次握手,长连接 + HTTP规范的传输数据
① 两台同时安装好keepalived并且启动服务
当启动的时候master主机获得所有资源并且对用户提供服务(请求)当角色Backup的主机作为master热备,当master出现故障,Backup主机自动接管master主机所有工作
② 当master主机故障修复后,就会自动接管回它原来的所有工作,同时Backup主机则释放原master主机的所有工作,此时两台主机恢复到初始角色以及工作状态
抢占:master恢复后,将VIP从Backup节点中抢占过来,回复自己master工作
非抢占:master恢复后,不抢占Backup目前的状态,Backup升级为master继续工作
keepalive可以通过读取自身的配置文件,实现通过更底层的接口直接管理,LVS配置以及服务的启动、停止功能,这会使LVS应用更加简便
Keeplived.conf文件配置LVS的节点IP和相关参数来实现对LVS直接管理,如果几个节点服务器同时发生故障无法提供服务,Keeplived服务会自动把那个失效节点服务器从LVS正常转发列中清除出去,并且将请求调度到别的正常节点服务器上,从而保证最终用户的访问不受影响,当故障的节点服务器修复以后,Keepalived服务又会自动把他们加入到转发列中,对外面客户提供服务
命令:systemctl stop firewalld
setenforce 0
命令:yum -y install ipvsadm keepalived
命令:modprobe ip_vs
命令:vim /etc/sysctl.conf
命令:sysctl -p
命令:cp ifcfg-ens33 ifcfg-ens33:0
命令:systemctl restart network
ifup ens33:0
ifconfig ens33:0
命令:route add -host 192.168.8.188 dev ens33:0
命令:ipvsadm-save
systemctl start ipvsadm
命令:ipvsadm -C
ipvsadm -A -t 192.168.8.188:80 -s rr
ipvsadm -a -t 192.168.8.188:80 -r 192.168.8.130:80 -g
ipvsadm -a -t 192.168.8.188:80 -r 192.168.8.200:80 -g
命令:systemctl stop firewalld
setenforce 0
命令:yum -y install httpd
命令:systemctl start httpd
lsof -i:80
命令:echo "this is liu" > /var/www/html/index.html
命令:cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
命令:systemctl restart network
ifup lo:0
命令:route add -host 192.168.8.188 dev lo:0
命令:vim /etc/sysctl.conf
命令:sysctl -p
命令:cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
命令:systemctl start keepalived
vim /etc/keepalived/keepalived.conf
命令:systemctl start keepalived
命令:ip addr
命令:ifdown ens33:0
如果没有用就直接关闭服务
命令:systemctl stop keepalived
命令:tail -f /var/log/message
命令:tail -f /vat/log/message