asu126 / Linux-Tutorial

《Java 程序员眼中的 Linux》
https://github.com/judasn/Linux-Tutorial
GNU General Public License v2.0
0 stars 0 forks source link

lvs #6

Open asu126 opened 6 years ago

asu126 commented 6 years ago

http://www.178linux.com/special/n27linuxzy/page/3

asu126 commented 6 years ago

http://speakingbaicai.blog.51cto.com/5667326/1047054

http://blog.csdn.net/cheng_fangang/article/details/41941217

asu126 commented 6 years ago

http://blog.csdn.net/zwz1984/article/details/45194377

http://www.linuxvirtualserver.org/zh/lvs3.html

asu126 commented 6 years ago

代理详解

http://www.jianshu.com/p/208c02c9dd1d

asu126 commented 6 years ago

http://www.cnblogs.com/edisonchou/p/4281978.html

http://blog.csdn.net/u012852986/article/details/52412174

http://www.cnblogs.com/tangyanbo/p/4305589.html

asu126 commented 6 years ago

http://zh.linuxvirtualserver.org/node/2585

asu126 commented 6 years ago

亿级: https://www.kancloud.cn/kancloud/web-million-build/64443

asu126 commented 6 years ago

http://www.linuxidc.com/Linux/2012-05/60951.htm http://www.keepalived.org/pdf/

asu126 commented 6 years ago
codeclub LVS DR 模式验证

术语:
LVS相关术语
1). DS:Director Server。指的是前端负载均衡器节点。
2). RS:Real Server。后端真实的工作服务器。
3). VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。
4). DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
5). RIP:Real Server IP,后端服务器的IP地址。
6). CIP:Client IP,访问客户端的IP地址。

0. 基本情况介绍:
VIP:10.140.8.225
DS: 10.140.8.31
RS: 10.140.8.31, 10.140.8.32

1. DS虚拟vip 添加
ifconfig p1p1:0 down
ifconfig p1p1:0 10.140.8.225 broadcast 10.140.8.225 netmask 255.255.255.255 up
route add -host 10.140.8.225 dev p1p1:0

2. DS开启内核转发功能
在lvs上开启内核转发功能。
echo 'net.ipv4.ip_forward=1' >>/etc/sysctl.conf
sysctl -p    #查看配置

3. DS 配置LVS服务
ipvsadm -C    ## --clear
3.1 LVS 采用加权轮训方式
# -A是添加一条虚拟服务器记录,代理转发所有去往该IP TCP的报文,-s指定算法wrr为加权轮询算法,-p会话保持时间(默认值是300s)
# ipvsadm -A -t 10.140.8.225 -s wrr -p 300
ipvsadm -A -t 10.140.8.225:3000 -s wrr -p 300
配置LVS RIP规则
ipvsadm -a -t 10.140.8.225:3000 -r 10.140.8.31:3000 -g -w 1  
ipvsadm -a -t 10.140.8.225:3000 -r 10.140.8.32:3000 -g -w 1

3.2 LVS 采用轮训方式
ipvsadm -A -t 10.140.8.225:3000 -s rr
ipvsadm -a -t 10.140.8.225:3000 -r 10.140.8.31:3000 -g
ipvsadm -a -t 10.140.8.225:3000 -r 10.140.8.32:3000 -g 
ipvsadm -E -t 10.140.8.225:3000 -s rr -p 10

ipvsadm -D -t 10.140.8.225:80
ipvsadm -A -t 10.140.8.225:80 -s rr
ipvsadm -a -t 10.140.8.225:80 -r 10.140.8.31:80 -g
ipvsadm -a -t 10.140.8.225:80 -r 10.140.8.32:80 -g 

4. 在RS(真实服务器)上配置VIP
在两台真实服务器上都配置上VIP,即10.140.8.225地址。
ifconfig lo:0 10.140.8.225 netmask 255.255.255.255

在真实服务器上关闭ARP响应
echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

5. 一台服务器既做DR,又做RS
iptables  -t mangle -I PREROUTING -d $VIP -p tcp -m tcp --dport $VPORT -m mac ! --mac-source $MAC_Director2 -j MARK
iptables  -t mangle -I PREROUTING -d $VIP -p tcp -m tcp --dport $VPORT -m mac ! --mac-source $MAC_Director1 -j MARK

iptables -t mangle -I PREROUTING -d $VIP -p tcp -m tcp --dport $VPORT -m mac ! --mac-source $MAC_Director2 -j MARK --set-mark 0x3
iptables -t mangle -I PREROUTING -d $VIP -p tcp -m tcp --dport $VPORT -m mac  ! --mac-source $MAC_Director1 -j MARK --set-mark 0x4
$VIP 为VIP地址
$VPORT 为服务端口
$MAC_Director2 是备机的MAC (keepalived 之间互相监听的那块网卡)

iptables  -t mangle -I PREROUTING -d $VIP -p tcp -m tcp --dport $VPORT -m mac ! --mac-source $MAC_Director2 -j MARK
iptables  -t mangle -I PREROUTING -d $VIP -p tcp -m tcp --dport $VPORT -m mac ! --mac-source $MAC_Director1 -j MARK

31
iptables -t mangle -I PREROUTING -d 10.140.8.225 -p tcp -m tcp --dport 3000 -m mac ! --mac-source f0:98:38:6e:a3:29 -j MARK --set-mark 0x3

32
iptables -t mangle -I PREROUTING -d 10.140.8.225 -p tcp -m tcp --dport 3000 -m mac  ! --mac-source f0:98:38:6e:a3:3d -j MARK --set-mark 0x4
asu126 commented 6 years ago

参考资料