群集负载均衡--LVS DR+keepalived部署实战 VMware Workstation和CentOS下载、安装设置 Linux下find命令的使用(命令+案例) 学习大数据应该从哪里开始,以及需要有哪些知识储备 国内最强大数据平台如何炼成 腾讯云给出“标准答案” 探访哈尔滨地铁:人工智能+大数据+云计算+5G 大数据为现代农业赋能 智慧农业高峰论坛举行 中金:物联网生态之战 长期投资价值如何演进? 从0开始搭建嵌入式linux开发平台 C语言集锦 | 03 - C语言的复合数据类型(typedef关键字、结构体、枚举体、共用体) 【鸿蒙OS最新进展】鸿蒙内核liteos-a体验 在ART-Pi H750上移植TouchGFX(一)——使用STM32CUBMX生成TouchGFX工程 李开复口误?大数据时代,我们的隐私真的安全吗? 下一代数据和AI驱动的营销:大数据平台结构化数据占15%左右-可下载 午报 | 大数据杀熟行为下月明令禁止;比亚迪成为苹果新iPad代工方 「全球程序员节」长安计算唐欣:自主计算机整机带动陕西信息产业 通信行业2020年中报总结:Q2整体环比改善,光器件、物联网与IDC表现突出,维持“增持”评级 Best Efforts 1PC 跨库事务 LeetCode-579、查询员工的累计薪水,601、体育馆的人流量 为啥不推荐uuid作为Mysql的主键呢 手把手教学:linux下oracle升级至11.2.0.4 数据库专题——深入理解count(*)为什么这么慢 Linux中MySQL数据库的使用④-----常用查询语句、常用函数 mysql备份与恢复:完全备份,增量备份,基于位置点恢复,基于时间点恢复 MySQL数据库的编译安装过程 《MySQL 入门教程》第 28 篇 字符集与排序规则 PHP面试技巧 之 职场暗语知多少?! [Dubox]实测。还是原来的配方,还是一样的味道! 【剑指金九银十】程序员,如何做到不惑?(附四面拿到字节跳动offer全过程) 超厉害的阿里技术读物,1500页超全计算机系统底层解析宝典 【融中财经早报9.16】大数据杀熟行为10月1日起明令禁止 大数据时代,机器学习算法该如何升级? 怎么判断自己是否适合做程序员 一分钟告诉你什么是区块链 一个时代一个机会,DeFi的起点X-DeFi,如何玩转X-DeFi? RTX3080显卡已被用于挖矿!映众辟谣:工程师测试散热 2020-09-15 比特币相当于房地产,怎样利用比特币获得流动现金? 区块链安全事件与代码审计 fisco bcos solidity销毁合约,删除合约的方法 Linux 中 Golang 的安装和环境配置 Golang interface{} 转换为某个结构体 区块链知识系列 - Raft 共识 OpenHarmony开发者文档开源计划,快快加入吧 融合创新提升服务,大数据搭建信息网 长三角税收一体化按下“快进键” 河钢集团与海尔集团签署物联网生态战略合作协议 1一个拥有万物互联神话,让我们看物联网是如何蓬勃发展的? 重庆大数据产业研究院成立,首批专家服务团名单公布 百分点大数据技术团队:互联网舆情系统的架构实践 水泥大数据研究院郑建辉:四季度水泥价格仍有望冲击去年高位
您的位置:首页 >前端 >

群集负载均衡--LVS DR+keepalived部署实战

LVS+Keepalived高可用集群

文章目录

LVS+Keepalived高可用集群KeepAlived 简介一:理解Keepalived实现原理1.1 Keepalived使用场景1.2 Keepalived工具介绍1.3 Keepalived实现原理剖析二、Keepalived的部署2.1 Keepalived案例讲解2.2 Keepalived安装与启动2.3 配置Keepalived master服务器2.4 Keepalived双机热备效果测试三、LVS+Keepalived高可用群集部署3.1 案例:负载均衡+高可用群集3.2:两台LVS服务器都安装工具包3.3:两台LVS服务器都开启路由转发,关闭重定向3.4:配置DR模式3.5:配置两台节点3.6:服务器部署keepdalived服务器3.61:keeppalived.conf是主配置文件3.7:配置第二台LVS调度器3.8:开启keepalived服务3.9:客户机进行访问在该系列前两篇文章中,我们全面认识了LVS并配置完成了简单的DR-LVS集群。当集群的请求量过大时,LVS会有宕机的可能,为提高集群的高可用性并增加后端检测功能、简化配置,在集群中引入KeepAlived。

KeepAlived 简介

KeepAlived最初是为LVS设计,用来管理并监控LVS集群系统中各个服务节点的状态,后来加入了VRRP功能,发展一个多功能、通用的轻量级高可用组件,可以为ipvs、nginx、haproxy等诸多服务提供高可用功能。

mark

一:理解Keepalived实现原理

1.1 Keepalived使用场景

企业应用中,单台服务器承担应用存在单点故障的危险单点故障一旦发生,企业服务将发生中断,造成极大的危害

1.2 Keepalived工具介绍

专为LVS和HA设计的一款健康检查工具 支持故障自动切换(Failover) 支持节点健康状态检查(Health Checking) 官方网站:http://www.keepalived.org

1.3 Keepalived实现原理剖析

Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能VRRP(虚拟路由冗余协议)是针对路由器的一种备份解决方案 由多台路由器组成一个热备组,通过公用的虚拟IP地址对外提供服务每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务

二、Keepalived的部署

2.1 Keepalived案例讲解

Keepalived可实现多机热备,每个热备组可有多台服务器双机热备的故障切换是由虚拟IP地址的漂移来实现,适用于各种应用服务器实现基于Web服务的双机热备 漂移地址:192.168.100.10(VIP)主、备服务器:192.168.100.129、192.168.100.128提供的应用服务:Web 192.168.100.50

2.2 Keepalived安装与启动

在LVS群集环境中应用时,也需用到ipvsadm管理工具YUM安装Keepalived启用Keepalived服务

2.3 配置Keepalived master服务器

Keepalived配置目录位于/etc/keepalived/keepalived.conf是主配置文件 global_defs{…}区段指定全局参数vrrp_instance实例名称{…}区段指定VRRP热备参数注释文字以"!"符号开头目录samples,提供了许多配置样例作为参考 常用配置选项 router_id HA_TEST_R1:本路由器(服务器)的名称vrrp_instance V1_1:定义VRRP热备实例state MASTER:热备状态,MASTER表示主服务器interface ens33:承载VIP地址的物理接口(之前的版本是eth0,一定要修改)virtual_router_id 1:虚拟路由器的ID号,每个热备组保持一致 常用配置选项 priority 100:优先级,数值越大优先级越高(0-100)adver_int 1:通告间隔秒数(心跳频率)auth_type PASS:认证类型auth_pass 123456:密码字串virtual_ipaddress{vip}:指定漂移地址(VIP),可以有多个 Keepalived备份服务器的配置与master的配置有三个选项不同 router_id:设为自有名称state:设为BACKUP (大写)priority:值低于主服务器 其他选项与master相同

2.4 Keepalived双机热备效果测试

测试双机热备的效果 主、备均启用Web服务,设置不同内容先后禁用、启用主服务器的网卡 执行的测试 测试1:使用ping检测20.0.0.41的测试2:访问http://20.0.0.41,确认可用性及内容变化测试3:查看日志文件/var/log/messages中的变化

三、LVS+Keepalived高可用群集部署

3.1 案例:负载均衡+高可用群集

Keepalived的设计目标是构建高可用的LVS负载均衡群集,可用调用ipvsadm工具来创建虚拟服务器、管理服务器池,而不仅仅用作双机热备使用Keepalived构建LVS群集更加简便易用主要优势 对LVS负载调度器实现热备切换,提高可用性对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入

实验环境:

【1】DR调度服务器 192.168.100.129 keepalived ipvsadm 【3】DR调度服务器 192.168.100.128 keepalived ipvsadm 【5】节点服务器 192.168.100.120 httpd 【6】节点服务器 192.168.100.130 httpd 【2】win 10客户端 192.168.100.50 漂移地址:192.168.100.10

3.2:两台LVS服务器都安装工具包

//keepalived:双机热备要用到的,ipvsadm:调度管理要用[root@lvs01 ~]# yum install keepalived ipvsadm -y[root@lvs02 ~]# yum install keepalived ipvsadm -y

3.3:两台LVS服务器都开启路由转发,关闭重定向

防止路由混乱
'//尾行插入下段配置'net.ipv4.ip_forward = 1net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 0#重载配置,使之生效[root@lvs01 ~]# sysctl -pnet.ipv4.ip_forward = 1net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 0

配置VIP网卡跟真实网卡信息**【仅主机模式】**

虚拟网卡:ens33:0 真实网卡ens33

[root@lvs01 ~]# cd /etc/sysconfig/network-scripts/[root@lvs01 network-scripts]# cp -p ifcfg-ens33 ifcfg-ens33:0[root@lvs01 network-scripts]# vim ifcfg-ens33:0//编辑虚拟IP地址//删除原来内容 添加以下内容DEVICE=ens33:0ONBOOT=yesIPADDR=192.168.100.10NETMASK=255.255.255.0#配置真实IPBOOTPROTO=static //修改为static---省略信息IPADDR=192.168.100.129 //真实地址为192.168.100.129GATEWAY=192.168.100.1NETMASK=255.255.255.0...................lvs02配置网卡----------------------------[root@lvs02 network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0[root@lvs02 network-scripts]# vim ifcfg-ens33:0//一样的操作DEVICE=ens33:0ONBOOT=yesIPADDR=192.168.100.10NETMASK=255.255.255.0//配置ens33IPADDR=192.168.100.128GATEWAY=20.0.0.2NETMAKE=255.255.255.0

在这里插入图片描述

mark

如果看不到使用这条命令
//使用无法重启网络或ping不通systemctl start NetworkManager

3.4:配置DR模式

两台lvs都要配置
#!/bin/bashGW=192.168.100.1VIP=192.168.100.10 ##虚拟ipRIP1=192.168.100.120 ##真实web服务器ipRIP2=192.168.100.130case "$1" instart)/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm##保存配置systemctl start ipvsadm##启动服务/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up##设置ens33:0地址,广播地址,子网掩码,并开启/sbin/route add -host $VIP dev ens33:0##添加路由网段信息/sbin/ipvsadm -A -t $VIP:80 -s rr ##指定虚拟服务访问入口,指定轮询算法/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g ##指定真实服务器,dr模式/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -gecho "ipvsadm starting --------------------[ok]";;stop)/sbin/ipvsadm -C ##清空缓存systemctl stop ipvsadm##关闭服务ifconfig ens33:0 down##关闭接口route del $VIP ##删除路由信息echo "ipvsamd stoped----------------------[ok]" ;;status)if [ ! -e /var/lock/subsys/ipvsadm ];then##判断文件存在与否决定状态echo "ipvsadm stoped---------------"exit 1elseecho "ipvsamd Runing ---------[ok]"fi;;*)echo "Usage: $0 {start|stop|status}"exit 1esacexit 0#增加执行权限[root@lvs01 network-scripts]# chmod +x /etc/init.d/dr.sh 
两台LVS服务器都重各项配置
//开启dr服务配置[root@lvs01 network-scripts]# service dr.sh startipvsadm starting --------------------[ok]//关闭或关闭防护功能[root@lvs01 network-scripts]# setenforce 0[root@lvs01 network-scripts]# systemctl restart network[root@lvs01 network-scripts]# systemctl stop [root@lvs02 network-scripts]# systemctl restart network

3.5:配置两台节点

首先下载apache服务
[root@shuai ~]# yum -y install httpd[root@shuai02 ~]# yum -y install httpd
配置两台网卡跟虚拟IP【仅主机】
[root@shuai02 network-scripts]# cp -p ifcfg-lo ifcfg-lo:0[root@shuai02 network-scripts]# vim ifcfg-lo:0//编写以下内容DEVICE=lo:0IPADDR=192.168.100.10NETMASK=255.255.255.0ONBOOT=yesIPADDR=192.168.100.120GATEWAY=192.168.100.1NETMASK=255.255.255.0--------------配置shuai02节点服务器-------------------[root@shuai ~]# cd /etc/sysconfig/network-scripts/[root@shuai network-scripts]# cp -p ifcfg-lo ifcfg-lo:0[root@shuai network-scripts]# vim ifcfg-lo:0//编写lo服务器DEVICE=lo:0IPADDR=192.168.100.10NETMASK=255.255.255.0ONBOOT=yes//编辑ens33网卡IPADDR=192.168.100.130GATEWAY=192.168.100.1NETMASK=255.255.255.0#重启两台接节点服务器的网卡[root@shuai network-scripts]# service network restartRestarting network (via systemctl):[确定]

节点服务器配置抑制ARP响应

两台通用的配置

#!/bin/bashVIP=192.168.100.10case "$1" instart)ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP/sbin/route add -host $VIP dev lo:0echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore '//arp忽略'echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p >/dev/null 2>&1echo "RealServer Start OK ";;stop)ifconfig lo:0 downroute del $VIP /dev/null 2>&1echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore '//arp开启'echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "0" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/all/arp_announceecho "RealServer Stopd";;*)echo "Usage: $0 {start|stop}"exit 1esacexit 0//增加执行权限[root@shuai network-scripts]# chmod +x /etc/init.d/wed.sh #复制脚本文件到shuai01节点服务器[root@shuai init.d]# scp wed.sh root@192.168.100.120:/etc/init.d/root@192.168.100.120's password: wed.sh100% 1440 2.0MB/s 00:00
开启服务
[root@shuai network-scripts]# systemctl stop firewalld.service [root@shuai network-scripts]# setenforce 0[root@shuai network-scripts]# service web.sh start[root@shuai network-scripts]# service wed.sh startRealServer Start OK 
编辑两个节点服务器的首页信息
#编写shui首页信息[root@shuai init.d]# cd /var/www/html/[root@shuai html]# vim index.html//编写<h1>this is shuai web</h1>#编写shuai02<h1>this is shuai02</h1>#重启两台服务systemctl start httpdnetstat -ntap | grep httpdtcp6 00 :::80 :::*LISTEN16174/httpd 

mark

mark

3.6:服务器部署keepdalived服务器

3.61:keeppalived.conf是主配置文件

指定全局参数

mark

vrrp_instance 实例名称

mark

mark

3.7:配置第二台LVS调度器

[root@lvs1 ~]# vim /etc/keepalived/keepalived.conf ...省略内容router_id LVS_02 '//router_id不能相同'...省略内容vrrp_instance VI_1 {state BACKUP'//此处选择为BACKUP备服务器'interface ens33virtual_router_id 10priority 90'//优先级需要低于主服务器'...省略内容'//其他配置都相同'

3.8:开启keepalived服务

[root@lvs01 keepalived]# systemctl start keepalived[root@lvs02 keepalived]# systemctl start keepalived

3.9:客户机进行访问

mark

mark

此时可以关闭主服务器的漂移地址 ifdown ens33:0,再次访问页面,发现依然可以访问,双机热备成功两台服务器多刷新几次会显示另一台web首页若无法显示网页,尝试重启两台lvs服务器的dr.sh脚本或其他服务

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。