keepalived含义、工作原理及配置环境介绍
发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,下文给大家带来keepalived含义、工作原理及配置环境介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解
千家信息网最后更新 2024年09月23日keepalived含义、工作原理及配置环境介绍
下文给大家带来keepalived含义、工作原理及配置环境介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。
一、keepalived
(1)keepalived是什么
(2)keepalived工作原理
二、配置步骤:
第一步:配置两台 DR
第二步:配置第一台节点云服务器 web1
第三步:配置第二台节点云服务器 web2
第四步:客户端测试
第五步:部署 keepalived
第六步:实验结果验证
一、keepalived :
(1)keepalived是什么
keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。
1、keepalived的三个核心模块:
core核心模块
chech健康监测
vrrp虚拟路由冗余协议
2、Keepalived服务的三个重要功能:
管理LVS
对LVS集群节点检查
作为系统网络服务的高可用功能
(2)keepalived工作原理
1、keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
2、虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
3、keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。
二、配置步骤:
实验环境说明:
(1)准备四台虚拟机,两台为调度服务器,两台为节点服务器;
(2)调度服务器部署 LVS 和 keepalived ,实现负载均衡和双机热备;
(3)客户端主机能够通过虚拟ip地址,访问到后台的 Web服务器的网页;
(4)实验结果验证:其中一台 DR 宕机,访问正常进行,所有服务照常运行。
角色 IP地址
调度服务器 DR1(主) 192.168.100.201
调度服务器 DR2 (备) 192.168.100.202
节点服务器 web1 192.168.100.221
节点服务器 web2 192.168.100.222
虚拟 IP 192.168.100.10
客户端测试机 win7 192.168.100.50
第一步:配置两台 DR
(1)安装 ipvsadm 和 keepalived 包
yum install ipvsadm keepalived -y
(2)修改 /etc/sysctl.conf 文件,添加以下代码:
net.ipv4.ip_forward=1//proc响应关闭重定向功能net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 0
sysctl -p 这条命令是让以上配置生效
(3)配置虚拟网卡(ens33:0):
1、注意路径:/etc/sysconfig/network-scripts/
2、直接复制已有的网卡信息,加以修改即可:
cp ifcfg-ens33 ifcfg-ens33:0vim ifcfg-ens33:0 删除原来所有信息,添加以下代码:DEVICE=ens33:0ONBOOT=yesIPADDR=192.168.100.10NETMASK=255.255.255.0
3、启用虚拟网卡:
ifup ens33:0
(4)编写服务启动脚本,路径:/etc/init.d
1、vim dr.sh 脚本内容如下:
#!/bin/bashGW=192.168.100.1VIP=192.168.100.10RIP1=192.168.100.221RIP2=192.168.100.222case "$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 /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 -g echo "ipvsadm starting------------------[ok]" ;; stop) /sbin/ipvsadm -C systemctl stop ipvsadm ifconfig ens33:0 down route del $VIP echo "ipvsamd stoped--------------------[ok]" ;;stop) /sbin/ipvsadm -C systemctl stop ipvsadm ifconfig ens33:0 down route del $VIP echo "ipvsamd stoped--------------------[ok]" ;; status) if [ ! -e ar/lock/subsys/ipvsadm ];then echo "ipvsadm stoped--------------------" exit 1 else echo "ipvsamd Runing-------------[ok]" fi ;; *) echo "Usage: $0 {start|stop|status}" exit 1 esac exit 0
2、添加权限,启动脚本
chmod +x dr.shservice dr.sh start
(5)第二台 DR 配置和第一台一模一样,重复操作一下即可
第二步:配置第一台节点服务器 web1
(1)安装 httpd
yum install httpd -ysystemctl start httpd.service //开启服务
(2)在站点写一个测试网页,待会后面方便验证试验结果
路径:/var/www/htmlecho "this is accp web" > index.html
(3)创建虚拟网卡
1、路径:/etc/sysconfig/network-scripts/2、复制网卡信息加以修改cp ifcfg-lo ifcfg-lo:03、vim ifcfg-lo:0删除原来所有信息,添加以下内容:DEVICE=lo:0IPADDR=192.168.100.10NETMASK=255.255.255.0ONBOOT=yes
(4)编写服务启动脚本,路径:/etc/init.d
1、vim web.sh 脚本内容如下:
#!/bin/bashVIP=192.168.100.10 case "$1" in start) ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP /sbin/route add -host $VIP dev lo:0 echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce sysctl -p > /dev/null 2>&1 echo "RealServer Start OK " ;; stop) ifconfig lo:0 down route del $VIP /dev/null 2>&1 echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
2、添加权限,并执行
chmod +x web.sh //添加权限service web.sh start //启动服务
(5)开启虚拟网卡
ifup lo:0
(6)测试网页是否正常
第三步:配置第二台节点服务器 web2
第二台web和第一台配置一模一样,唯一不同的是,为了区分实验效果,第二台的测试网页内容换了:
路径:/var/www/htmlecho "this is benet web" > index.html
测试网页是否正常:
第四步:客户端测试
(1)配置好客户端的IP地址
(2)测试
1、与 192.168.100.10 能否互通:
2、访问网页是否正常
第五步:部署 keepalived
一、在第一台 DR 上部署:
(1)修改 keepalived.conf 文件,路径 /etc/keepalived/
修改以下内容:
(2)启动服务
systemctl start keepalived.service
二、在第二台 DR 上部署:
(1)修改 keepalived.conf 文件
(2)启动服务
systemctl start keepalived.service
第六步:实验结果验证
由于部署了 LVS 和 keepalived,目的是,负载均衡和双机热备。
此时,我们模拟一下故障,宕掉其中一台 DR1,如果客户端依旧可以和虚拟 IP地址 互通,且能够正常访问网站的话,就说明 DR2 就代替 DR1 工作了,防止单点故障的效果实现了。
(1)故障模拟:宕掉 DR1
ifdown ens33:0
(2)结果验证
1、在客户端 ping 一下虚拟ip
2、网站也依旧能够访问
看了以上关于keepalived含义、工作原理及配置环境介绍,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。
服务
配置
服务器
路由
节点
测试
客户
路径
客户端
网卡
网页
二台
工作
内容
功能
模块
结果
脚本
路由器
实验
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江阴参考软件开发代理品牌
计算机网络技术证会过期吗
对数据库感兴趣学习什么
数据库中取一列中最小的值
朝阳区数据软件开发介绍
长沙低价软件开发
服务器管理控制措施
w10管理工具服务器
金子数据库
网络安全应急响应体系建设
多选数据库设计
初中信息技术网络安全论文
广播电视网络技术部个人总结
企业软件开发的公司
斗牛游戏软件开发商设计
所有云服务器
数据库应用技术的软件
网络安全小报资料的句子
东北大学分布式数据库课件
用sql删除数据库
跨数据库多表联合查询语句
强大网络安全公司
神泣单机怎么修改数据库
软件开发用到的编程软件
cs租服务器一年多少钱
泰拉瑞亚怎么弄服务器手机版
服务器如何安装linux
计量 网络安全
水晶报表如何更新数据库
pc设置打印服务器