lvs DR模式
1.单机
director端
ifconfig eth0:1 $vip broadcast $vip netmask 255.255.255.255 up ----broadcast广播(单机的时候加这条,双机的时候keepalived会产生vip的,所以不需要加)
route add -host $vip dev eth0:1
yum install ipvsadm
ipvsadm -A -t 192.168.10.100:80 -s wlc
ipvsadm -a -t 192.168.10.100:80 -g -r 192.168.10.11 -w 1
ipvsadm -a -t 192.168.10.100:80 -g -r 192.168.10.12 -w 2
ipvsadm -ln 查看,试试ipvsadm -ln -stats这个命令看
2.双机(keepalived)
director端
yum install kernel-devel gcc openssl-devel
yum install ipvsadm
tar xvf keepalived-1.1.19.tar.gz 可用比较新的版本
./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/xxxx
make && make install
制作服务 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
chkconfig --add keepalived
配置文件
!Configuration File for keepalived
global_defs{
router_id LVS_MASTER
}
vrrp_instance VI_1{
state MASTER #定义主备,SLAVE
interface eth0 #HA检测端口
virtual_router_id 51 #主备必须相同
priority 100 #备机比这小,如80
advert_int 3 #vrrp多播间隔周期
authentication{
auth_type PASS
auth_pass 1111
}
virtual_ipaddress{ #定义vip,多个vip可换行添加
192.168.10.100
}
}
virtual_server 192.168.10.100 80{
delay_loop 6 #每隔6秒查看realserver状态
lb_algo wlc #调度算法
lb_kind DR #lvs工作模式
nat_mask 255.255.255.0
persistence_timeout 50 #同一IP的连接50s内被分配到同一台realserver
protocol TCP
real_server 192.168.10.11 80{
weight 1
TCP_CHECK { #TCP_CHECK和{ 之间最好跟一空格
connect_timeout 10 #10s无反应算超时
nb_get_retry 3
connect_port 80
}
}
real_server 192.168.10.12 80{
weight 2
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
connect_port 80
}
}
}
ln -s /etc/init.d/keepalived /etc/rc.d/rc3.d/s99keepalived
ln -s /etc/init.d/keepalived /etc/rc.d/rc5.d/s99keepalived
单机、双机realserver的配置都一样,都是如下的脚本
realserver.sh
#!/bin/bash
# network Bring up/down networking
# description: Activates/Deactivates all network interfaces configured to \
# start at boot time.
#/etc/rc.d/init.d/functions
LVS_VIP2=192.168.200.50
case "$1" in
start)
/sbin/ifconfig lo:1 $LVS_VIP2 netmask 255.255.255.255 broadcast $LVS_VIP2
/sbin/route add -host $LVS_VIP2 dev lo:1
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/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
/sbin/ifconfig lo:1 down
/sbin/route del $LVS_VIP2 >/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
dr模式问答:
1.配置dr模式,需要修改交换机参数吗?
答:不需要,在realserver上修改网络参数就可以了,见问题2、3
2.在dr模式下,director、realserver都绑定了vip,为什么前端的arp广播只有director响应?
答:因为在realserver上要设置echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore, echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 这样的话realserver对vrp广播就不理会了
3.在dr模式下,realserver不经过director(网关不设置为director),而且不用改原地址的情况下,直接回复客户端并且不会被丢包(realserver将接收包的目的地址作为发送包的源地址)?
答:原因有2
a.realserver在lo绑定了vip
b.realserver设置了后面3项 , echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce , echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce , route add -host $VIP dev lo:0
4.dr模式下,realserver需要有公网地址吗?
答:不需要,只要realserver能访问外网就行
5.dr模式下,director上的vip绑定在哪个接口
答:绑在实际通讯的那个网络接口,如eth0下,绑成为:eth0:0,单机和双机的用法不一样
单机情况下,ifconfig eth0:1 $vip broadcast $vip netmask 255.255.255.255 up
双机情况下,在keepalived的配置文件里 virtual_ipaddress { 192.168.200.100}
6.dr模式下,在realserver上为什么设置route add -host 192.168.200.50 dev lo:0?
答:问题3的答案可以回答
lvs DR模式的更多相关文章
- LVS DR模式 负载均衡服务搭建
LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...
- 一个公网地址部署LVS/DR模式
http://blog.chinaunix.net/uid-7411781-id-3436142.html 一个公网地址部署LVS/DR模式 网上看了很多关于LVS的文章,在选取2种模式LVS/D ...
- LVS DR模式搭建、keepalived+lvs
1.LVS DR模式搭建 条件: 即三台机器,在同一内网. 编辑脚本文件:/usr/local/sbin/lvs_dr.sh #! /bin/bashecho 1 > /proc/sys/net ...
- LVS DR模式搭建 keepalived lvs
LVS DR模式搭建• 三台机器 • 分发器,也叫调度器(简写为dir)172.16.161.130 • rs1 172.16.161.131 • rs2 172.16.161.132 • vip 1 ...
- lvs之 lvs+nginx+tomcat_1、tomcat_2+redis(lvs dr 模式)
前提:已经安装好 lvs+nginx+tomcat_1.tomcat_2+redis环境 ,可参考 (略有改动,比如tomcat_1.tomcat_2安装在两台机器上,而不是单机多实例 ,自行稍稍变动 ...
- CentOS下LVS DR模式负载均衡配置详解
一安装LVS准备: 1.准备4台Centos 6.2 x86_64 注:本实验关闭 SELinux和IPtables防火墙. 管理IP地址 角色 备注 192.168.1.101 LVS主调度器(Ma ...
- Keepalived+LVS DR模式高可用架构实践
Keepalived最初是为LVS设计,专门监控各服务器节点的状态(LVS不带健康检查功能,所以使用keepalived进行健康检查),后来加入了VRRP(虚拟路由热备协议(Virtual Route ...
- Linux centosVMware Linux集群架构LVS DR模式搭建、keepalived + LVS
一.LVS DR模式搭建 三台机器 分发器,也叫调度器(简写为dir) davery :1.101 rs1 davery01:1.106 rs2 davery02:11.107 vip 133.200 ...
- LVS DR模式实验
LVS DR模式实验 三台虚拟机,两个台节点机(Apache),一台DR实验调度机 一:关闭相关安全机制 systemctl stop firewalld iptables -F setenforce ...
- lvs dr 模式请求过程
一. lvs dr 模式请求过程 1.整个请求过程如下: client在发起请求之前,会发一个arp广播的包,在网络中找"谁是vip",由于所有的服务器,lvs和rs都有vip,为 ...
随机推荐
- Flex中设置Camera的视频清晰质量的最佳配合
今天需要设置Flex中的Camera组件的一些属性,后来发现清晰度不是很高,于是捣鼓了上午半天,设置了很多的参数,竟然发现手册上就是有现成的一些设置方法,郁闷!不过我还是专门设置了几个有用和必要的属性 ...
- 67. Container With Most Water
Container With Most Water Given n non-negative integers a1, a2, ..., an, where each represents a poi ...
- CENTOS 6.4 安装oracle 10g,手工建库及升级到10.2.0.5
一. 数据库软件安装 参照官方手册 1.安装rpm包 注这里的yum直接用163的yum yum -y install binutils compat-libstdc++-33 compat-libs ...
- USB编程研究之二(常见设备类型的GUID)
在USB编程之前要事先了解一下GUID的概念. 应用其他网页中的定义: 全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装.在许多流行软件应用程序(例如 Web 浏览器和媒体 ...
- C/C++ 右值引用 及 函数调用栈剖析
参考: [1]. C/C++堆栈指引: http://www.cnblogs.com/Binhua-Liu/archive/2010/08/24/1803095.html [2]. C++临时变量的生 ...
- js中RegExp类型
ECMAScript通过RegExp类型来支持正则表达式. var expression = / pattern / flag ; pattern可以是任意的正则表达式.每个正则都带有标志,用以正则表 ...
- 论垃圾邮件危害性及U-Mail邮件系统必杀技
阿里集团今年“双十一电商节”又一次突破了去年营收,创造了新的历史.相信在电商日益渗入生 活的今天,你在日常工作中一定收到过某店铺发来的推广邮件,的确,邮件如今被电商广泛应用于消费者购物各环节,但是在其 ...
- Android-Service生命周期
Service的基本概念,以及Service的生命周期: 一.Service的基本概念: 一个Service就是应用程序的组件,可以在后台长期跑,或者是为其他的应用提供功能上的支持.Service一般 ...
- (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- Selenium简单介绍
WEB自动化测试:指WEB应用系统从用户界面层面进行的自动化测试.通过用户界面测试内部的业务逻辑. 自身特点:(一)WEB页面上出现的元素有可能具有不确定性: (二)不同操作系统上不同WEB浏览器之间 ...