lvs

arp 3层协议

arp -a

arp -d

arp -a (linux,windows)

arp cache表双刃剑

1、减少广播风暴

2、arp 欺骗

arp 生产环境问题与解决办法

1、arp欺骗,违造mac-ip,网关的伪造。

高可用性arp cache 清空。


lvs+keeplived架构

culter:利用高速通信网络组成的计算机系统,每个节点都是一个进程。

集群:

lbc(负载均衡),lvs,nginx,haproxy,lighttpd

hac(高可用性),keepalived,heartbeat

lvs 只可以在unix上,节点可以是windows


ipvsadmin,keepalived管理工具

ipvs 实现调度

lvs 负载均衡技术是linux内核实现。

lvs术语

vip (给客户提供服务的IP)

rip(real servers ip)

dip(director ip address),物理网卡iP地址

cip(client ip address)


lvs 3种模式 

nat

tun

dr

dr 模式*

是通过改写请求目标mac地址,将请求发给真实服务器,而真实服务器将响应后的处理结果直接返给客户端用户。

vip对应的mac改成rsmac

cip-vip-vip改变rmac-绑定(lo:vip;arp抑制)

好处:访问量大

rs上绑定

只改变mac地址,不会改port

dr模式效率高,但配置也麻烦。


nat 模式(不是很常用)

1、将请求报文和响应报文,通过lb地址重写然后转发给内部服务器,报文返回时改写成原来的用户请求地址。

2、只要在lb上配置wan IP即可,lb也要有私有lan内物理网卡地址

3、每rs网关必须是lb内网关

4、lb访问量大时不行的,最多10-20个节点。

5、nat模式与ip的转换如,请求10.0.0.1:80可以调度到rs上的8080(DR与tun不具备)

6、要开启iptables 的forward功能。

tun 模式(仅仅了解)

in:增加1个IP头。

lvs 的调度算法

固定高度方法:rr(轮训,rs性能相关不大的时候)

 wrr(加权轮盾,性能好就多做点)

 dh(目地)

 sh (源hash)

动态

 lc(最小连接数)

 wcl(连接数少时,让谁来处理,依据状成态)

lvs 常用算术

http,mail,mysql

a.rr

b.wlc

c.wrr

lvs 实验

lvs:10.0.0.7(lb)

rs1:10.0.0.8

rs2:10.0.0.9

lvs 的安装

1.2.4

1.2.6(centos 6.X)


1、lsmod|grep ip_vs(内核支持调度)

   ln -s /usr/src/kerner/2.6 /usr/src/linux

   ll /usr/src/linux

2、安装lvs依赖的包

yum install -y wget make kernel-devel gcc gcc-c++ libnl* libpopt* popt-static

3、ln -sv /usr/src/kernels/2.6.32-573.8.1.el6.x86_64 /usr/src/linux


4、下载并安装lvsadmin

wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz

tar xf ipvsadm-1.26.tar.gz

cd ipvsadm

make

make install


报错:err

make[1]:** [libipvs.o] error 1

soluction: yum install libnl* libpopt* popt-static

5、内核加载

lsmod | grep ip_vs

modprobe ip_vs(/sbin/ipvsadm)

6、手动配置lvs转发

vip 配置

#ifconfig eth1:0 10.0.0.10/24 up

#ipvsadm --help

#ipvsadm --set 30 5 60 (tcp tcpfin udp)

#ipvsadm -A -t 10.0.0.10:80 -s rr -p 20 --添加一个ipvs虚拟服务,-t 指定IP:Port -s,轮询算法 -p 保持20s

#ipvsadm -a -t 10.0.0.10:80 -r 10.0.0.8 -g -w 1

#ipvsadm -a -t 10.0.0.10:80 -r 10.0.0.9 -g -w 1

#ipvsadm -L -n 来查看rs-

7、rs配置好

8、绑定ip

rs1#ifconfig lo:0 10.0.0.10/32 up

rs2#ifconfig lo:0 10.0.0.10/32 up

  #route add -host 10.0.0.10 dev lo

9、arp

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

10、进行测试