LVS+keepalived高可用群集
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,简介Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要是用来提供故障切换和健康检查功能--判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机回复后将其
千家信息网最后更新 2025年12月03日LVS+keepalived高可用群集
简介
Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要是用来提供故障切换和健康检查功能--判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机回复后将其重新加入群集
实验环境
| 主机 | 操作系统 | IP地址 |
|---|---|---|
| DR1主调度服务器 | CentOS 7.0 x86_64 | 192.168.100.156 |
| DR2备调度服务器 | CentOS 7.0 x86_64 | 192.168.100.157 |
| web1节点服务器 | CentOS 7.0 x86_64 | 192.168.100.133 |
| web2节点服务器 | CentOS 7.0 x86_64 | 192.168.100.134 |
| VIP虚拟IP地址 | -------- | 192.168.100.10 |
| Win 7 客户端 | Windows 7 | 192.168.100.50 |
开始部署
DR1主调度服务器
1.安装keepalived、ipvsadm软件包 yum install keepalived ipvsadm -y2.修改/proc响应参数 vi /etc/sysctl.confnet.ipv4.ip_forward=1 #开启路由转发功能net.ipv4.conf.all.send_redirects = 0 #proc响应关闭重定向功能net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 03.立即生效 sysctl -p4.创建虚拟VIP cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens33:05.编辑虚拟网卡 vim ifcfg-ens33:0DEVICE=ens33:0ONBOOT=yesIPADDR=192.168.100.10NETMASK=255.255.255.06.启用虚拟网卡ifup ifcfg-ens33:07.制作dr.sh脚本文件 vim /etc/init.d/dr.sh#!/bin/bashGW=192.168.100.1 #网关地址VIP=192.168.100.10 #VIP虚拟地址RIP1=192.168.100.133 #web1节点服务器IPRIP2=192.168.100.134 #web2节点服务器IPcase "$1" instart)/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm #保存ipvsadm策略systemctl start ipvsadm /sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up/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/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -gecho "ipvsadm starting --------------------[ok]";;stop)/sbin/ipvsadm -Csystemctl stop ipvsadmifconfig ens33:0 downroute del $VIPecho "ipvsamd stoped----------------------[ok]";;status)if [ ! -e /var/lock/subsys/ipvsadm ];thenecho "ipvsadm stoped---------------"exit 1elseecho "ipvsamd Runing ---------[ok]"fi;;*)echo "Usage: $0 {start|stop|status}"exit 1esacexit 08.给dr.sh脚本赋执行权限,启动脚本chmod +x dr.shservice dr.sh start9.查看验证lvs节点状态 ipvsadm -ln10.修改keepalived配置文件如下vim /etc/keepalived/keepalived.confglobal_defs {...smtp_server 127.0.0.1 #指向本地router_id LVS_02 #指定服务器名称... }vrrp_instance VI_1 {state BACKUP #主份服务器是Masterinterface ens33virtual_router_id 10 #主备组号相同priority 99 #优先级备服务器小于主服务器... auth_pass abc123 #验证密码,主备相同...virtual_ipaddress {192.168.100.10 #虚拟VIP地址}...virtual_server 192.168.100.10 80 { #虚拟服务器VIP、端口...lb_kind DR...real_server 192.168.100.133 80 { #真实web1节点服务器IP、端口weight 1TCP_CHECK {connect_port 80 connect_timeout 3nb_get_retry 3delay_before_retry 3} } real_server 192.168.100.134 80 { #真实web2节点服务器IP、端口weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3} } }11.启动keepalived服务 systemctl start keepalivedDR2从调度服务器
1.安装keepalived、ipvsadm软件包 yum install keepalived ipvsadm -y2.修改/proc响应参数 vi /etc/sysctl.confnet.ipv4.ip_forward=1 #开启路由转发功能net.ipv4.conf.all.send_redirects = 0 #proc响应关闭重定向功能net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 03.立即生效 sysctl -p4.制作dr.sh脚本文件 vim /etc/init.d/dr.sh#!/bin/bashGW=192.168.100.1 #网关地址VIP=192.168.100.10 #VIP虚拟地址RIP1=192.168.100.133 #web1节点服务器IPRIP2=192.168.100.134 #web2节点服务器IPcase "$1" instart)/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm #保存ipvsadm策略systemctl start ipvsadm /sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up/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/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -gecho "ipvsadm starting --------------------[ok]";;stop)/sbin/ipvsadm -Csystemctl stop ipvsadmifconfig ens33:0 downroute del $VIPecho "ipvsamd stoped----------------------[ok]";;status)if [ ! -e /var/lock/subsys/ipvsadm ];thenecho "ipvsadm stoped---------------"exit 1elseecho "ipvsamd Runing ---------[ok]"fi;;*)echo "Usage: $0 {start|stop|status}"exit 1esacexit 05.给dr.sh脚本赋执行权限,启动脚本chmod +x dr.shservice dr.sh start6.查看验证lvs节点状态 ipvsadm -ln7.修改keepalived配置文件如下vim /etc/keepalived/keepalived.confglobal_defs {...smtp_server 127.0.0.1 #指向本地router_id LVS_02 #指定服务器名称... }vrrp_instance VI_1 {state MASTER #备份服务器是BACKUPinterface ens33virtual_router_id 10 #主备组号相同priority 100 #优先级备服务器小于主服务器... auth_pass abc123 #验证密码,主备相同...virtual_ipaddress {192.168.100.10 #虚拟VIP地址}...virtual_server 192.168.100.10 80 { #虚拟服务器VIP、端口...lb_kind DR...real_server 192.168.100.133 80 { #真实web1节点服务器IP、端口weight 1TCP_CHECK {connect_port 80 connect_timeout 3nb_get_retry 3delay_before_retry 3} } real_server 192.168.100.134 80 { #真实web2节点服务器IP、端口weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3} } }8.启动keepalived服务 systemctl start keepalivedWeb1节点服务器
1.安装httpd软件包yum install -y httpd2.启动httpd服务systemctl start httpd.service 3.新建网站首页文件echo "this is benet
" > /var/www/html/index.html4.新建web.sh脚本至服务管理目录,便于service进行管理vim /etc/init.d/web.sh#!/bin/bashVIP=192.168.100.10 #VIP虚拟IP地址case "$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_ignoreecho "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_ignoreecho "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 05.给web.sh脚本赋执行权限chmod +x web.sh6.启动web.sh服务service web.sh start7.关闭防火墙及selinuxsystemctl stop firewalld.service setenforce 08.测试
Web2节点服务器
1.安装httpd软件包yum install -y httpd2.启动httpd服务systemctl start httpd.service 3.新建网站首页文件echo "this is accp web
" > /var/www/html/index.html4.新建web.sh脚本至服务管理目录,便于service进行管理vim /etc/init.d/web.sh#!/bin/bashVIP=192.168.100.10 #VIP虚拟IP地址case "$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_ignoreecho "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_ignoreecho "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 05.给web.sh脚本赋执行权限chmod +x web.sh6.启动web.sh服务service web.sh start7.关闭防火墙及selinuxsystemctl stop firewalld.service setenforce 08.测试
客户端测试


等待几十秒后刷新,如果不行,清除浏览器缓存后再试
服务
服务器
节点
地址
脚本
文件
端口
功能
调度
相同
权限
软件
软件包
管理
验证
测试
主机
优先级
参数
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
修改一码通但是一直是服务器繁忙
minemc服务器地址
常用财务软件数据库
双牌软件开发设计
深圳豹变网络技术有限公司
sql数据库定时备份语句
五年级网络安全手抄报内容多
网络安全法规条文
数据库创建表代码主键
虞城天气预报软件开发
丰巢网络技术有限公司
温江区网络安全社区
进入学校数据库
切实维护校园网络安全
深圳海畅互联网科技
dell 服务器 16核
酒店管理系统数据库实施
python互联网服务器
维护网络安全意识党课
首都网络安全会
原神小米云服务器
新能源和软件开发哪个好
关于网络安全的有关论述
全球银行的数据库在那个银行
konami公司服务器维护
网络安全等级保护线上会议
网络安全手抄报 第一名
想去成都软件开发
公司服务器管理用户
网络安全四害有哪些