您的位置:首页 > 运维架构 > Linux

集群基础----(lvs【Linux+virtual+server】)

2017-07-26 21:34 661 查看

lvs(linux+virtual+server)

高可用对负载均衡的整合

ipvsadm—-四层

-L 列出策略

-C 清空

-A 添加

lvs一共有三种工作模式(NAT、DR、Tun(隧道))—其中性能最高的是DR

DR模式:

*****************************
client---*--VS---(处于同一网段)---RS--*---client
*****************************


VS:是调度器(s1)、RS:把arp屏蔽掉(s2和s3)
DR模式工作在二层(二层不能进行端口转发),将比特流转换为数据帧
RS【In:Drop vip   Out:转换为Rip出去】
RS在启用arp的时候,广播只有RIP没有UIP


NAT模式:client---vs----rs----vs---client

在vs-rs阶段: cip-vip 转换为  cip-rip
在rs-vs阶段: cip-rip 转换为  cip-vip

此模式支持端口转发,内部地址可以转换,地址和端口可以被改


Tun(隧道模式):
client -------vs--------rs--------client
此模式在不断的增加ip头


使用DR模式:

1.安装rpm包(from 老吴)–ldirectord-3.9.5-3.1.x86_64.rpm

yum install ldirectord-3.9.5-3.1.x86_64.rpm -y


2.更改ldirectord的目录所在位置

cd /usr/share/doc/ldirectord-3.9.5/
cp ldirectord.cf /etc/ha.d/      #只有在这个目录下才能生效


3.关闭两个服务器的心跳

/etc/init.d/heartbeat stop(把两台server的心跳都停掉)

4.策略的查看

yum install -y ipvsadm

ipvsadm -L(列出策略)

5.添加策略

ip addr add 172.25.39.100/24 dev eth0-----把100加到eth0上
ipvsadm -A -t 172.25.39.100:80 -s rr(rr是负载均衡算法)
ipvsadm -a -t 172.25.39.100:80 -r 172.25.39.3:80 -g
ipvsadm -a -t 172.25.39.100:80 -r 172.25.39.2:80 -g
/etc/init.d/ipvsadm save(保存策略)


[root@server1 ha.d]# cat /etc/sysconfig/ipvsadm
-A -t 172.25.39.100:80 -s rr
-a -t 172.25.39.100:80 -r 172.25.39.2:80 -g -w 1
-a -t 172.25.39.100:80 -r 172.25.39.3:80 -g -w 1
[root@server1 ha.d]# ipvsadm -ln(加n可以查看ip)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.39.100:80 rr
-> 172.25.39.2:80               Route   1      0          0
-> 172.25.39.3:80               Route   1      0          0
[root@server1 ha.d]# ipvsadm -l
IP Virtual Server ver
4000
sion 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.39.100:http rr
-> server2:http                 Route   1      0          0
-> server3:http                 Route   1      0          0


6.在server2和server3上相同

1) /etc/init.d/httpd start(100在s2上也有)

2) yum install -y arptables_jf(针对arp协议的火墙)
arptables -L(查看火墙策略)

3)更改策略(在server2和server3都要做,相当于rs)
ip addr add 172.25.39.100/24 dev eth0-----把100加到eth0上
arptables -A IN -d 172.25.39.100 -j DROP(访问100的s2丢弃无视)---(启用arp,广播自己只有rip,不说自己有vip,否则会地址冲突错乱)
arptables -A OUT -s 172.25.39.100 -j mangle --mangle-ip-s 172.25.39.2(当要出去弄100时转换为真实的server)
/etc/init.d/arptables_jf save(保存策略)
arptables -nL(验证)


7.测试:在物理机上查看100连接点

1)[root@foundation39 ~]#arp -an | grep 100
? (172.25.39.100) at 52:54:00:5a:44:db [ether] on br0(为server1的,正确)

2)http://172.25.39.100/----出现server2和server3轮询

3)[root@foundation39 ~]# curl 172.25.39.100
<h1> server2 </h1>
[root@foundation39 ~]# curl 172.25.39.100
<h1>  server3---www.westos.org </h1>
[root@foundation39 ~]# curl 172.25.39.100
<h1> server2 </h1>
[root@foundation39 ~]# curl 172.25.39.100
<h1>  server3---www.westos.org </h1>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  集群 lvs ipvsadm