Keepalived + LVS/DR 安装配置
Keepalived + LVS/DR
说明
- Keepalived:可以踢出掉故障服务
- Keepalived:可以实现主从切换,解决单点故障
实验环境
- 四台主机:Linux Centos 6.4 32位
- 两台Director:LVS+Keepalived
- 两台Web:Apache
环境搭建操作
web server 端
1、添加虚拟IP脚本
vim /usr/local/sbin/lvs_dr.sh
#/bin/bash
vip=192.168.1.100
# 把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
# 以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
echo "">/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "">/proc/sys/net/ipv4/conf/lo/arp_announce
echo "">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "">/proc/sys/net/ipv4/conf/all/arp_announce
# 更改内核配置文件之后生效命令,可以不加 sysctl -a 查看所有内核参数
# sysctl -p
脚本文件
2、执行脚本
sh /usr/local/sbin/lvs_dr.sh
主 Director
1、安装服务
yum -y install keepalived.i686 0:1.2.7-3.el6
yum -y install ipvsadm.i686
2、开启路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
3、配置Keepalived配置文件
! Configuration File for keepalived
vrrp_instance VI_1 {
# 备用服务器上为 BACKUP
state MASTER
# 公网的网卡
interface eth0
# 自定义id数值
virtual_router_id 51
# 权重值、主要高于slave
priority 100
# 检测服务器状态间隔时间
advert_int 1
authentication {
# 密码类型
auth_type PASS
# 密码
auth_pass 1111
}
virtual_ipaddress {
# 虚拟IP地址,可以为多个
192.168.1.100
}
}
# 配置VIP
virtual_server 192.168.1.100 80 {
# 每隔6秒查询realserver状态
delay_loop 6
# LVS算法
lb_algo wlc
# Direct Route
lb_kind DR
# 同一个IP的链接0秒内被分配到同一台realserver
persistence_timeout 0
# 用TCP协议检查realserver状态
protocol TCP
# 配置realserver
real_server 192.168.1.111 80 {
# 权重
weight 100
TCP_CHECK {
# 10秒无响应超时
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
# 配置realserver
real_server 192.168.1.115 80 {
# 权重
weight 100
# 检测
TCP_CHECK {
# 10秒无响应超时
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
主配置文件
4、启动服务:先启动主后启动从
/etc/init.d/keepalived start
从 Director
1、安装服务
yum -y install keepalived.i686 0:1.2.7-3.el6
yum -y install ipvsadm.i686
2、开启路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
3、配置Keepalived配置文件
! Configuration File for keepalived
vrrp_instance VI_1 {
# 主用服务器上为 MASTER
state BACKUP
# 公网的网卡
interface eth0
# 自定义id数值
virtual_router_id 51
# 权重值、主要高于slave
priority 90
# 检测服务器状态间隔时间
advert_int 1
authentication {
# 密码类型
auth_type PASS
# 密码
auth_pass 1111
}
virtual_ipaddress {
# 虚拟IP地址,可以为多个
192.168.1.100
}
}
# 配置VIP
virtual_server 192.168.1.100 80 {
# 每隔6秒查询realserver状态
delay_loop 6
# LVS算法
lb_algo wlc
# Direct Route
lb_kind DR
# 同一个IP的链接0秒内被分配到同一台realserver
persistence_timeout 0
# 用TCP协议检查realserver状态
protocol TCP
# 配置realserver
real_server 192.168.1.111 80 {
# 权重
weight 100
TCP_CHECK {
# 10秒无响应超时
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
# 配置realserver
real_server 192.168.1.115 80 {
# 权重
weight 100
# 检测
TCP_CHECK {
# 10秒无响应超时
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
主配置文件
4、启动服务:先启动主后启动从
/etc/init.d/keepalived start
查询状态
命令:ipvsadm -l IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.100:http wlc
-> 192.168.1.111:http Route 100 0 0
-> 192.168.1.115:http Route 100 0 0
主:查看LVS状态
命令:ip addr 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:67:0e:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.160/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.100/32 scope global eth0
inet6 fe80::20c:29ff:fe67:e20/64 scope link
valid_lft forever preferred_lft forever
主:查看VIP
命令:ipvsadm -l IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.100:http wlc
-> 192.168.1.111:http Route 100 0 0
-> 192.168.1.115:http Route 100 0 0
从:查看LVS状态
命令:ip addr 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:9e:70:1e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.161/24 brd 192.168.1.255 scope global eth0
inet6 fe80::20c:29ff:fe9e:701e/64 scope link
valid_lft forever preferred_lft forever
从:查看VIP
命令:ifconfig lo:0 Link encap:Local Loopback
inet addr:192.168.1.100 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1
web端:查看VIP
测试
http://192.168.1.100/
LVS 1
http://192.168.1.100/
LVS 2
http://192.168.1.100/
LVS 1
http://192.168.1.100/
LVS 2
测试负载均衡
#---------------------------单点故障-------------------------------# Dir 主 端:ifdown eth0 关闭网卡 # 查看IP飘逸192.168.1.100
Dir 从端:ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:9e:70:1e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.161/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.100/32 scope global eth0
inet6 fe80::20c:29ff:fe9e:701e/64 scope link
valid_lft forever preferred_lft forever # 查看日志
主端:tail -f /var/log/messages
Dec 24 02:36:18 localhost Keepalived_healthcheckers[1916]: Netlink reflector reports IP 192.168.1.100 added #------------------------------------------------------------------# #---------------------------恢复单点故障-----------------------------# Dir 主 端:ifup eth0 启动网卡 # 查看IP飘逸192.168.1.100
Dir 主 端: ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:67:0e:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.160/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.100/32 scope global eth0
inet6 fe80::20c:29ff:fe67:e20/64 scope link
valid_lft forever preferred_lft forever # 查看日志
Dir 从 端: tail -f /var/log/messages
Dec 24 02:36:23 localhost Keepalived_vrrp[1917]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.1.100
Dec 24 02:48:02 localhost Keepalived_vrrp[1917]: VRRP_Instance(VI_1) Received higher prio advert
Dec 24 02:48:02 localhost Keepalived_vrrp[1917]: VRRP_Instance(VI_1) Entering BACKUP STATE
Dec 24 02:48:02 localhost Keepalived_vrrp[1917]: VRRP_Instance(VI_1) removing protocol VIPs.
Dec 24 02:48:02 localhost Keepalived_healthcheckers[1916]: Netlink reflector reports IP 192.168.1.100 removed #------------------------------------------------------------------#
测试 单点故障 IP飘逸
Keepalived + LVS/DR 安装配置的更多相关文章
- RHEL6 搭建 keepalived + lvs/DR 集群
搭建 keepalived + lvs/DR 集群 使用Keepalived为LVS调度器提供高可用功能,防止调度器单点故障,为用户提供Web服务: LVS1调度器真实IP地址为192.168.4. ...
- Keepalived+LVS(dr)高可用负载均衡集群的实现
一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...
- Keepalived+LVS DR模式高可用架构实践
Keepalived最初是为LVS设计,专门监控各服务器节点的状态(LVS不带健康检查功能,所以使用keepalived进行健康检查),后来加入了VRRP(虚拟路由热备协议(Virtual Route ...
- keepalived+lvs+usp安装实施文档
操作系统平台:RedHat6.4 x86_64 软件:LVS+keepalived LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux ...
- Lvs Dr 模式配置
1.Dr 安装 ipvsadm # yum -y install ipvsadm # lsmod | grep ip_vs #检查ipvs模块是否加载进系统.把ipvs模块加载进系统,需要我们执 ...
- Keepalived+LVS(DR)+MySQL
实验环境 主机名 IP VIP 服务 主备 KA_LV_MYSQL_01 192.168.30.130 192.168.30.100 keepalived.LVS.MySQL MASTER KA_LV ...
- lvs dr 模型配置详解
前期准备: 两台服务器 note01(lvs服务器) note02(real sever) 1 首先在note01配置子网卡: ifconfig eth0: :2意思是eth0的子接口,随便一个数字就 ...
- keepalived+lvs高可用配置
global_defs { notification_email { test@qq.com } notification_email_from sns-lvs@gmail.com smtp_serv ...
- linux LVS DR模式配置
拓扑图: 测试环境:CentOS 6.5 X86 64位 配置步骤: 1. 安装测试环境 [root@UCS-1 ~]# yum -y install httpd [root@UCS-1 ~]# c ...
随机推荐
- Servlet 编写过滤器
Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet.Servlet 过滤 ...
- 多媒体开发之音频编码---ffmpeg 编码aac
http://blog.csdn.net/ctroll/article/details/8169396
- Hook length formula 学习笔记 UVALive 6625
最近做到一个关于杨氏矩阵的题目. UVALive 6625 题目大意是用n以内的数填充杨氏矩阵,要求行严格递增,列不严格递增. 求方案数. 数据范围很小,我直接上爆搜,结果TLE了. 后来发现一位学长 ...
- Hibernate-缓存/懒加载/抓取策略
懒加载测试: /*类的延迟加载 * * session.get * 1.方法加载出来的对象是class对象 * 2.在session.get方法执行的时候发出sql语句 * 3.class对象是有值的 ...
- 在CentOS中安装输入法
1.需要root权限,所以要用root登录 ,或su root 2.yum install "@Chinese Support" 3.exit 4.回到桌面,system-> ...
- haml入门
1.什么是Haml Haml是HTML abstraction markup language,遵循的原则是标记应该是美的.Haml能够加速和简化模版,长处是简洁.可读.高效. 2.erbm模板和ha ...
- 在其他app里预览文档
本文转载至 http://www.cocoachina.com/newbie/basic/2013/0515/6212.html iOS中的沙盒可以让平台更加的安全,这也是沙盒给用户带来的最主要好处. ...
- hihocoder 1279(状压)
坑爹的题目.不过不能说不是一道挺好的题目. 坑主要坑在,妹的我一样的复杂度,写的姿势略差了点然后就一直超时. 比赛的时候我还直接就看错题目,把AND运算看成了OR...还敲完交了一发. 这题很容易想到 ...
- 【BZOJ2186】[Sdoi2008]沙拉公主的困惑 线性筛素数
[BZOJ2186][Sdoi2008]沙拉公主的困惑 Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M! ...
- Fraction
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission ...