1.LVS+Keepalive

1.ARP:

arp广播而进行新的地址解析:

/sbin/arping -I eth0 -c 3 -s 10.0.0.162 10.0.0.253

/sbin/arping -U eth0 10.0.0.162

 2.LVS

单台几万并发。

  1. 实现调度的工具IPVS
  2. 管理工具ipvsadm
  3. keepalived实现管理及高可用。

3.LVS工作模式:

NAT像一个路由器一样工作

TUN

DR:改写请求报文件的目标MAC地址,把请求发给真实服务器。真实服务器将响应后的处理结果不经过LVS服务器直接返回给客户端。*VIP绑定在真实服务器LO接口上。抑制ARP:告诉real ser不要响应前端路由器的arp广播请求(real ser上也有vip),只让lvs接收。DR模式在LVS上修改数据包的目的MAC,源目的IP均不修改。RS与LVS在同一个lan中。此模式不能修改报文的目的端口。

FULLNAT源目的IP均更改

 

 

 

 

 

tun:ip头可以是公网IP也可以是私有IP。

调度算法:

rr.wrr,dh,sh; wlc,lc,lblc,lblcr,sed.nq

dh:目的地址HASH。sh:源地址hash。lbls,基于地址的最少连接,这几种方式非常少用。

rr,wrr,wlc常用。

 4.         安装LVS

ipvsadm-1.26

LVS:内部IP 10.0.0.19,外部IP:192.168.1.19,VIP 10.0.0.29

RS1: 内部IP 10.0.0.18,外部IP 192.168.1.18

RS2内部IP 10.0.0.17,外部IP 192.168.1.17

#ln -s /usr/src/kernels/2.6.32-431.e16.x86_64/ /usr/src/linux       ##否则需要在编译时指定位置--with-kernel-dir=/usr/src/kernels/2.6.32-431.e16.x86_64。

如果usr/src/kernels/下有多个。以uname -r为准

如果没有则,可能kernel-devel没安装。

#tar zxvf ipvsadm-1.26.tar.gz

#cd ipvsadm-1.26

#make

#make install

#lsmod | grep ip_vs

#modprobe ip_vs

手动添加LVS转发:

DR调度器上

#ipconfig eth0:0 10.0.0.29/24 up

#route add -host 10.0.0.29 dev eth0

#ipvasdm --help

#ipvsadm -C     ##清空所有

#ipvsadm -A -t 10.0.0.29:80 -s wrr -p 20  ##添加一个服务##-p 会话保持,20秒

#ipvsadm -a -t 10.0.0.29:80 -r 10.0.0.18 -g -w 1              ##-g LVS的工作模式,DR

# ipvsadm -a -t 10.0.0.29:80 -r 10.0.0.17 -g -w 1

#ipvsadm -L -m

删除节点

# ipvsadm -d -t 10.0.0.29:80 -r 10.0.0.18

删除整个服务

#ipvsadm -D -t 10.0.0.29:80

RS

#ipconfig lo:0 10.0.0.29/32 up

#route add -host 10.0.0.29 dev lo

#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

DR:

#watch -n 1 ipvsadm -L -m                ##查看调度状态。

 

#ipvsadm -L -n --stats

 

arp_announce

 

for ((i=0;i<${#RIP[*]};i++))

 

prianha:redhat提供的一个基于web管理配置lvs的软件。

5.keepalived

healthcheck、failover

VRRP:MASTER和BACKUP

安装keepalived

# ln -s /usr/src/kernels/2.6.32-431.e16.x86_64/ /usr/src/linux

#tar zxvf keepalived-1.1.19.tar.gz

#cd keepalived-1.1.19

#./configure

#make &&make install

#cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/      #生成启动脚本

#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig          #启动脚本的参数

#mkdir /etc/keepalived          #创建默认的keepalived配置文件路径

#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

#cp /usr/local/sbin/keepalived /usr/sbin

#/etc/init.d/keepalived start

#ps -ef |grep keep

6.keepalived单实例的配置

#vim keepalived.conf

 

 

 

 

主从节点,三个地方(带*)顼要修改。

#man keepalived.conf

  1. 7.         lvs+keepalived

2台server安装lvs,对lvs不做配置,仅安装。安装keepalived,配置成上面第6节的样式。并启动keepalived,测试keepalived对vip资源的接管。ip addr

         keepalived配合lvs来需要下面的配置。

    

指定文件接收keepalived日志

默认写到messages下,可以手动更改

#cat /etc/sysconfig/keepalived

KEEPALIVED_OPTIONS="-D -d -S 0"

#vi /etc/syslog.conf

local0.*                       /var/log/keepalived.log

posted @ 2020-09-18 15:15  天涯160  阅读(310)  评论(0)    收藏  举报