Centos LVS DR模式详细搭建过程 推荐

  • 时间:
  • 浏览:1
  • 来源:uu快3注册_uu快3官网

0 - (默认) 在任意网络接口(eth0,eth1lo)上的任何本地地址

[root@RS2 src]# echo"2" >/proc/sys/net/ipv4/conf/all/arp_announce

DocumentRoot"/var/www/html"

1)在各服务器上修改主机名:

[root@RS2 ~]# hostname RS2

2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这些IP数据包的源地址并尝试确定与能与该地址通信的本地地址.首为啥让确定所有的网络接口的子网中外出访问子网中所含该目标IP地址的本地地址. 因为没得大概的地址被发现,将确定当前的发送网络接口或这些的有因为接受到该ARP宣告的网络接口来进行发送.

[root@LVS1 ~]# hostname LVS1

IP Virtual Server version 1.2.1(size=4096)

查看配置,发现权重值一样

处理土最好的办法:

[root@RS2 src]# echo"1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

192.168.1.2/24

注:实际应用中RS1 RS2没得内部人员地址,当前环境中,没得物理双网卡环境,都采用完后 网卡配置多个IP地址。

 -> 192.168.1.2:1000               Route  1     0         0    

2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP时要在该网络接口的子网段内

drwxr-xr-x 3 root root 4096Aug  5 03:53 kernels

5、真实WEB服务器配置及arp抑制... 5

[root@LVS1 ~]# ipvsadm -L -n

[root@RS1 ~]# echo"1" >/proc/sys/net/ipv4/conf/all/arp_ignore

# This should be changed towhatever you set DocumentRoot to.

[root@RS1 ~]# cat/etc/httpd/conf/httpd.conf|grep DocumentRoot  <==查找系统站点目录路径

朋友使用的是wrr调度算法,该算法中,谁的权重值高,会优先分配给谁

RS2(虚拟机)

[root@RS2 src]# echo"2" >/proc/sys/net/ipv4/conf/lo/arp_announce

[root@RS2 ~]#/etc/init.d/httpd start

内部人员IP地址

[root@LVS1 src]# tar -zxfipvsadm-1.24.tar.gz

[root@LVS1 src]# ln -s /usr/src/kernels/2.6.18-348.12.1.el5-x86_64/usr/src/linux<==编译有使用的路径为/usr/src/linux,可在Makefile中查看,因为不做链接,会编译失败

抑制ARP响应

角色

[root@LVS1 ~]# ipvsadm -A -t10.0.0.1000:1000 -s wrr -p 20  <== -A加带地址,-t指定VIP TCP端口,-s指定调度算法–p会话保持时间

该抑制只在真实服务器上配置

#还有这些加载ipvsadm土最好的办法,用modprobe ip_vs

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

 -> 192.168.1.3:1000               Route   1     0         0  

IP Virtual Server version 1.2.1(size=4096)

我的内核版本不满足,使用ipvsadm-1.24

ipvsadm-1.26对内核有要求,要求内核版本在2.6.28及完后 的版本,因为符合了系统环境,时要安装依赖包yum install libnl*popt* -y

1arp_ignore:

目录

TCP  10.0.0.1000:1000 wrr persistent 20

192.168.1.3/24

[root@RS1 ~]# echo"2" >/proc/sys/net/ipv4/conf/all/arp_announce

# DocumentRoot: The directoryout of which you will serve your

1 2都代表哪几种内容,可在最后附录中查看,也可本人网上搜索

total 16

 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

[root@LVS1 ~]# ipvsadm --set1000 5 1000   <== 设置连接超时值

内部人员IP地址

 -> 192.168.1.3:1000               Route   1     0          0

2)加带真实服务器

[root@LVS1 ~]# ifconfig eth010.0.0.1000 netmask 255.255.255.0   #VIP

 IP配置参考步骤2安装准备

0 - (默认值): 宣告任何网络接口上对任何本地IP地址的arp查询请求

我所使用的源包下载目录/usr/local/src

Httpd服务测试:

为哪几种要绑定VIP呢?因为DR模式原理是LVS调度器修改mac地址为真实服务器地址,报文的目的IP还是VIP没修改,,网卡只会把目的MAC和目的IP全部都不 本人的报文上送CPU,也不真实服务器上时要配置VIP!

通过分析,得出,访问10.0.0.1000时,会发送arp请求10.0.0.1000mac,而这些网络所含310.0.0.1000地址,此时,那谁给的arp宣告到客户机,访问的为啥让谁了。因为RS1arp宣告先到,就访问的RS1

ipvsadm –D –t10.0.0.1000:1000 –s wrr

客户机(本人电脑)

对网络接口上,本地IP地址的发出的,ARP宣告,作出相应级别的限制: 确定不同程度的限制,宣告对来自本地源IP地址发出Arp请求的接口

 -> 192.168.1.2:1000               Route   1     0         0        

[root@RS2 src]# echo"RS2" >/var/www/html/index.html

[root@RS1 ~]# echo"RS1" >/var/www/html/index.html

IP Virtual Server version 1.2.1(size=4096)

本文主要讲解centos5.x LVS DR模式,环境搭建,理论知识请参考LVS中文官网

RS1(虚拟机)

[root@RS1 ~]# echo"1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

[root@RS2 src]# ifconfig lo10.0.0.1000 netmask 255.255.255.255  

测试成功!

[root@LVS1 src]# cd ipvsadm-1.24

1)配置VIPDIP

3)下载ipvsadm

[root@RS1 ~]# hostname RS1

1 -尽量处理没得该网络接口子网段的本地地址做出arp宣告. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的完后 很有用.此都不 检查来访IP与非 为所有接口上的子网段内ip之一.因为改来访IP不属于各个网络接口上的子网段内,没得将采用级别2的土最好的办法来进行处理.

[root@LVS1 ~]# ipvsadm -a -t10.0.0.1000:1000 -r 192.168.1.2:1000 -g -w 1  <== -a指定真实服务器, -t lvsVIP-r真实服务器ip及端口,-w权重值-g先择DR模式(-mNAT模式)

2ipvsadm安装前准备... 2

lrwxrwxrwx1 root root   43 Aug  5 03:56 linux ->/usr/src/kernels/2.6.18-348.12.1.el5-x86_64<==要使用ll /usr/src/查看,因为软链接一闪一闪的,代表链接失败

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

[root@LVS1 ~]# ifconfigeth0:1 192.168.1.1 netmask 255.255.255.0 #DIP

Prot LocalAddress:PortScheduler Flags

Prot LocalAddress:PortScheduler Flags

Prot LocalAddress:PortScheduler Flags

[root@RS2 ~]# yum installhttpd –y

 -> RemoteAddress:Port           ForwardWeight ActiveConn InActConn

#    DocumentRoot/www/docs/dummy-host.example.com

ipvsadm –d –t10.0.0.1000:1000 –r 192.168.1.2:1000

[root@LVS1 src]# ll /usr/src/

IP Virtual Server version 1.2.1(size=4096)

10.0.0.1000/24

显示的值是RS1,则此时该链接是分配到192.168.1.2

2)在RS1 RS2上安装httpd服务

1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求

我的LVS环境:

2.6.18-10008.el5 x86_64

LVS调度器(虚拟机)

[root@RS1 ~# ps -ef|grephttpd<==查看httpd服务与非 起来

[root@RS2 src]# echo"1" >/proc/sys/net/ipv4/conf/all/arp_ignore

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

 -> 192.168.1.2:1000               Route   1     0          0        

[root@RS1 src]# cat/etc/redhat-release

[root@LVS1 ipvsadm-1.24]# ipvsadm

[root@RS1 ~]# ifconfig eth0|grep "inet addr"   <==此地址用来本人电脑用CRT软件登陆设备,一并也用来发送arp请求客户机MAC(因为是直接返回页面给客户机,而当前网络是同一物理网段,时要同网段才正常)。

[root@LVS1 ~]# ipvsadm -L –n      <== 查看表内容,加带了两台负载转发的真实服务器

TCP  10.0.0.1000:1000 wrr persistent 20

[root@LVS1 ~]# ipvsadm -d -t10.0.0.1000:1000 -r 192.168.1.3:1000  <==删除完后 配置

arp响应限制

 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

此时配置完成,为啥让测试时突然出先完后 问題,再次登陆CRT 10.0.0.1000地址时,登陆到RS1上去了,再刷新,登陆到RS2上去了。为啥在么在处理呢?

[root@RS1 ~]# yum installhttpd –y

[root@RS2 ~# ps -ef|grephttpd

[root@RS1 ~]# /etc/init.d/httpdstart

[root@LVS1 ipvsadm-1.24]# make&&make install   <==因为编译失败,请按上端步骤一步一步排错。

 -> 192.168.1.3:1000               Route   2     0         0        

2arp_announce:

4-7 - 保留未使用

因为是使用的VM环境,本人PC当作客户机(即公网地址),调度器与服务器全部都不 VM中虚拟机,也不客户和所有服务器之间全部都不 物理直接相连网络,逻辑拓扑图如下:

该页面因为显示乱码,因为有乱码,在IE上右键勾上情況栏,为啥让在页面栏下拉选项中确定编码,有(GB2312UTF-8),因为UTF-8显示乱码,则选GB2312。因为GB2312显示乱码,则选UTF-8.

 -> RemoteAddress:Port           ForwardWeight ActiveConn InActConn

[root@RS1 ~]# echo"2" >/proc/sys/net/ipv4/conf/lo/arp_announce

4LVS负载均衡配置... 4

[root@LVS1 ~]# ipvsadm -a -t10.0.0.1000:1000 -r 192.168.1.3:1000 -g -w 1

[root@LVS1 ~]# ipvsadm -L -n

因为有会话保持功能,接下来修改权重值

[root@LVS1 ~]# ipvsadm -L –n     <== 查看表内容,加带了一组VIP地址和端口

CentOS release 5.8 (Final)

定义对目标地址为本地IPARP询问不同的应答模式0

Prot LocalAddress:PortScheduler Flags

[root@RS2 src]# ifconfig eth0:1192.168.1.3 netmask 255.255.255.0  <==配置内部人员IP地址

[root@LVS1 ~]# ipvsadm -a -t10.0.0.1000:1000 -r 192.168.1.3:1000 -g -w 2 <==重新配置权重值为2

为哪几种使用lo口呢?因为lo口为本地环回口,处理本地局域网IP地址冲突!

10.0.0.11000/24

6LVS负载均衡测试... 6

3 - 不宣告该网络界面的arp请求,而只对设置的唯一和连接地址做出宣告

3httpdipvsadm下载... 3

ip_vs                 122113  0

因为加带服务器地址写错了,可用如下命令删除,即大A加带改为大D删除,小a加带改为小d删除

 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

前言... 1

[root@RS1 ~]# ifconfig eth0:1192.168.1.2 netmask 255.255.255.0   <==配置内部人员IP地址

[root@RS2 src]# ifconfigeth0|grep "inet addr"  <==此地址用来本人电脑用CRT软件登陆设备,一并也用来发送arp请求客户机MAC(因为是直接返回页面给客户机,而当前网络是同一物理网段,时要同网段才正常)。

[root@LVS1 ipvsadm-1.24]# lsmod |grepip_vs  <==查看内核模块,有代表ipvsadm加载进内核当中,此时LVS安装完毕

[root@RS1 src]# uname -rm

drwxr-xr-x 2 root root 4096 May11  2011 debug

[root@RS1 ~]# ifconfig lo10.0.0.1000 netmask 255.255.255.255   <==每台真实服务器都时要配置VIP

TCP  10.0.0.1000:1000 wrr persistent 20

192.168.1.1/24

7、附:arp抑制参数... 7

[root@LVS1 ipvsadm-1.24]# lsmod |grepip_vs     <==查看内核模块与非 有ipvsadm

再次进行测试:

8 -不宣告所有(本地地址)的arp查询

10.0.0.237/24

         inet addr:10.0.0.238  Bcast:10.0.0.255  Mask:255.255.255.0

10.0.0.238/24

TCP  10.0.0.1000:1000 wrr persistent 20

Prot LocalAddress:PortScheduler Flags

IP Virtual Server version 1.2.1(size=4096)

1LVS环境组网... 2

         inet addr:10.0.0.237  Bcast:10.0.0.255  Mask:255.255.255.0

[root@LVS1 ~]# ipvsadm –C      <==手工清空完后 表内容