Keepalived+Lvs-DR高可用
Keepalived高可用
keepalived+LVS-DR模式拓扑图:
LVS:是中间件软件(即代理服务器软件),是用来实现集群的负载均衡。
和政ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
+++++++++
+---------------------------> + Client + 192.168.11.1 win7/10
| +++++++++
| ________________|_________________
| | VIP eth0:1 192.168.10.100 |
| +++++++++++++++++++++ +++++++++++++++++++++
| + Director master主 node11 + + Director backup备 node12 +
| +++++++++++++++++++++ +++++++++++++++++++++
| DIP 192.168.11.11 ens33网卡 DIP 192.168.11.12 ens33网卡
| |________
| _________________|________________
| | |
| +++++++++++++++++ ++++++++++++++++++
+--------+ RealServer A node13 + + Real Server B node14 +
+++++++++++++++++ ++++++++++++++++++
192.168.11.13/24 192.168.11.14/24
分别在Director master、Director backup 上部署浮动资源(VIP IPVS策略)
测试2个Director在DR模式下都工作正常。测试完成后都撤掉浮动资源。
首先:在node11、node12上分别安装keepalived和ipvsadm软件包,并做keepalived相关配置。
在Director master上安装配置Keepalived
yum install keepalived ipvsadm -y
cp -av /etc/keepalived/keepalived.conf{,.bak} 备份原始配置文件
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs { 全局定义,说明:在实验测试环境中,以下内容可以随便写,但是master和backup的router_id必须相同
notification_email { 设置通知邮箱
root@localhost 管理员的邮箱地址
}
notification_email_from keepalived@localhost 通知邮件的发件人邮箱
smtp_server 127.0.0.1 邮箱服务器IP地址
smtp_connect_timeout 30 邮件服务器连接超时时间为30秒
router_id dr1 路由器ID名称,同一个keepalived高可用集群中master和backup的ID名称必须相同
#vrrp_strict 一定要注释掉此行,否则无法通过VIP地址访问调度器
}
vrrp_instance VI_1 { vrrp虚拟路由冗余协议的实例设置 ,实例名称为VI_1
state MASTER 状态,主为MASTER,备为BACKUP状态
interface ens33 //心跳检测网卡接口,要根据实际情况写网卡接口名,用ip a查网卡接口名
virtual_router_id 51 //master主和backup备两边必须一样,此处是集群的群号
priority 100 //优先级,MASTER的值必须高于BACKUP的值,类似于现实生活中的竞选的票数
advert_int 1 //检查间隔,单位秒。vrrp的组播地址是224.0.0.18
authentication { 身份认证配置
auth_type PASS //认证类型为密码方式,主备要一致
auth_pass 1111 //认证密码为1111,主备要一致
}
virtual_ipaddress {
192.168.11.100 //VIP,可多个IP,每行一个IP地址
192.168.11.111
}
}
virtual_server 192.168.11.100 80 { //LVS 配置(即调度器的配置),此行等同于ipvsadm -At 192.168.11.100:80 -s wrr命令
delay_loop 3 //服务论询的时间间隔
lb_algo wrr //LVS 调度算法
lb_kind DR // LVS 集群模式
protocol TCP //指定协议为TCP协议
real_server 192.168.11.13 80 { //RS后端真实服务器的IP及端口号,等同于ipvsadm -at 192.168.11.100:80 -r 192.168.11.13:80 -g -w 1命令
weight 1
TCP_CHECK { //RS健康检查,如果RS主机上的80端口业务异常关闭了,用ipvsadm -Ln查不到此RS的IP信息
connect_timeout 3 //连接超时时间为3秒
}
}
real_server 192.168.11.14 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
cd /etc/keepalived
scp keepalived.conf 192.168.11.12:/etc/keepalived/ 将配置文件发送给node12的主机
拷贝后,修改配置文件
state BACKUP
priority 90
两个Director(调度器)上启动服务,并查看vip地址:
systemctl restart keepalived [centos 7专用命令]
service keepalived restart [centos 6和7通用命令]
ip a 在master上可以看到ens33网卡有192.168.11.100和192.168.11.111这两个VIP地址。而backup备主机上是没有VIP的。当在master上用systemctl stop keepalived后,备主机上就会有这两个VIP。
ipvsadm -Ln 查ipvs的集群配置信息
=============================
抓包:
yum install -y tcpdump
tcpdump -i ens33 -nv vrrp
-i 指定网卡
-n 以数字的方式显示(ip,port)
-v 显示详细信息
-vv 显示更详细的信息
-w 保存到文件
----
keepalived通过vrrp协议进行组播的作用:
是为了竞选出由哪台keepalived主机接管业务(使用VIP的)。谁的priority优先级高(即票数多),谁就有VIP地址。
当master和backup都在运行keepalived服务时:
node11(master)发送的组播信息:
src:192.168.11.11
dest:224.0.0.18
node12(backup)接收的组播信息:
src:192.168.11.11
dest:224.0.0.18
----
当node11这台master停止了keepalived服务:
node12发送的组播信息:
src:192.168.11.12
dest:224.0.0.18
keepalived集群中其他主机接收的组播信息:
src:192.168.11.12
dest:224.0.0.18
网页名称:Keepalived+Lvs-DR高可用
新闻来源:http://scyanting.com/article/gjjchs.html