请选择 进入手机版 | 继续访问电脑版
查看: 821|回复: 1

Centos LVS DR模式详细搭建过程

34

主题

34

帖子

138

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
138
羊大仙 发表于 2015-12-10 20:53:43 | 显示全部楼层 |阅读模式

目录

前言... 1

1LVS环境组网... 2

2ipvsadm安装前准备... 2

3httpdipvsadm下载... 3

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

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

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

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




前言

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

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

该页面可能显示乱码,如果有乱码,在IE上右键勾上状态栏,然后在页面栏下拉选项中选择编码,有(GB2312UTF-8),如果UTF-8显示乱码,则选GB2312。如果GB2312显示乱码,则选UTF-8.


193104530.png




1LVS环境组网

由于是使用的VM环境,自己PC当作客户机(即公网地址),调度器与服务器都是VM中虚拟机,所以客户和所有服务器之间都是物理直接相连网络,逻辑拓扑图如下:

193120870.jpg


2ipvsadm安装前准备

外部IP地址

内部IP地址

角色

10.0.0.30/24

192.168.1.1/24

LVS调度器(虚拟机)

10.0.0.237/24

192.168.1.2/24

RS1(虚拟机)

10.0.0.238/24

192.168.1.3/24

RS2(虚拟机)

10.0.0.130/24

客户机(自己电脑)


注:实际应用中RS1 RS2没有外部地址,当前环境中,没有物理双网卡环境,都采用一个网卡配置多个IP地址。


3httpdipvsadm下载


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

[root@LVS1 ~]# hostname LVS1

[root@RS1 ~]# hostname RS1

[root@RS2 ~]# hostname RS2


2)在RS1 RS2上安装httpd服务

[root@RS2 ~]# yum installhttpd –y

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

[root@RS2 ~# ps -ef|grephttpd


[root@RS1 ~]# yum installhttpd –y

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

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



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

# DocumentRoot: The directoryout of which you will serve your

DocumentRoot"/var/www/html"

# This should be changed towhatever you set DocumentRoot to.

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


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

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


Httpd服务测试:

193327538.png193338750.jpg





测试成功!



3)下载ipvsadm

wget http://www.linuxvirtualserver.or ... ipvsadm-1.24.tar.gz

wget http://www.linuxvirtualserver.or ... ipvsadm-1.26.tar.gz

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

我的LVS环境:

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

CentOS release 5.8 (Final)

[root@RS1 src]# uname -rm

2.6.18-308.el5 x86_64

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

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

[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中查看,如果不做链接,会编译失败

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

total 16

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

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

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

[root@LVS1 src]# cd ipvsadm-1.24

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

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

[root@LVS1 ipvsadm-1.24]# ipvsadm

IP Virtual Server version 1.2.1(size=4096)

Prot LocalAddressortScheduler Flags

 -> RemoteAddressort           Forward Weight ActiveConn InActConn

#还有一种加载ipvsadm方法,用modprobe ip_vs

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

ip_vs                 122113  0


4LVS负载均衡配置

1)配置VIPDIP

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

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

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


2)添加真实服务器

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

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

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

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

IP Virtual Server version 1.2.1(size=4096)

Prot LocalAddressortScheduler Flags

 -> RemoteAddressort           Forward Weight ActiveConn InActConn

TCP  10.0.0.30:80 wrr persistent 20

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

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

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

IP Virtual Server version 1.2.1(size=4096)

Prot LocalAddressortScheduler Flags

 -> RemoteAddressort           Forward Weight ActiveConn InActConn

TCP  10.0.0.30:80 wrr persistent 20

 -> 192.168.1.2:80               Route   1     0          0        

 -> 192.168.1.3:80               Route   1     0          0


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

ipvsadm –D –t10.0.0.30:80 –s wrr

ipvsadm –d –t10.0.0.30:80 –r 192.168.1.2:80



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

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

         inet addr:10.0.0.237  Bcast:10.0.0.255  Mask:255.255.255.0

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

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

为什么要绑定VIP呢?因为DR模式原理是LVS调度器修改mac地址为真实服务器地址,报文的目的IP还是VIP没修改,,网卡只会把目的MAC和目的IP都是自己的报文上送CPU,所以真实服务器上必须配置VIP!

为什么使用lo口呢?因为lo口为本地环回口,防止本地局域网IP地址冲突!


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

         inet addr:10.0.0.238  Bcast:10.0.0.255  Mask:255.255.255.0

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

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


此时配置完成,只是测试时出现一个问题,再次登陆CRT 10.0.0.30地址时,登陆到RS1上去了,再刷新,登陆到RS2上去了。怎么解决呢?

通过分析,得出,访问10.0.0.30时,会发送arp请求10.0.0.30mac,而这个网络中有310.0.0.30地址,此时,那谁给的arp回应到客户机,访问的就是谁了。如果RS1arp回应先到,就访问的RS1

解决方法:

抑制ARP响应

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

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

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

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

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


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

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

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

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

1 2都代表什么内容,可在最后附录中查看,也可自己网上搜索


6LVS负载均衡测试

193345770.jpg

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


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

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

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

IP Virtual Server version 1.2.1(size=4096)

Prot LocalAddressortScheduler Flags

 -> RemoteAddressort           ForwardWeight ActiveConn InActConn

TCP  10.0.0.30:80 wrr persistent 20

 -> 192.168.1.2:80               Route   1     0         0        

 -> 192.168.1.3:80               Route   1     0         0  


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

[root@LVS1 ~]# ipvsadm -d -t10.0.0.30:80 -r 192.168.1.3:80  <==删除原来配置

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

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

IP Virtual Server version 1.2.1(size=4096)

Prot LocalAddressortScheduler Flags

 -> RemoteAddressort           ForwardWeight ActiveConn InActConn

TCP  10.0.0.30:80 wrr persistent 20

 -> 192.168.1.3:80               Route   2     0         0        

 -> 192.168.1.2:80               Route  1     0         0    

再次进行测试:

193350350.jpg



7、附:arp抑制参数

arp响应限制

1arp_ignore:

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

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

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

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

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

4-7 - 保留未使用

8 -不回应所有(本地地址)的arp查询


2arp_announce:

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

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

1 -尽量避免不在该网络接口子网段的本地地址做出arp回应. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.

2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送.





本文出自 “楊雲” 博客,请务必保留此出处http://yangrong.blog.51cto.com/6945369/1287534

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2411

主题

2699

帖子

7853

积分

论坛元老

Rank: 8Rank: 8

积分
7853
JamTrolley 发表于 2017-5-29 10:42:32 | 显示全部楼层
Tipos De Viagras  Buy Deltasone Doctor Free Viagra Fluoxetine No Doctor Secure  Propecia For Sale Levitra Timing Buy Navidoxine Uk  Buy Nolvadex Levitra Farmacia Cialis Para Que Se Usa  viagra Zithromax Sold Over Counter Sore Throat Antibiotic Amoxicillin Protocol  Fluoxetine Tablets Le Cialis Prise Vente Sildenafil 50 Mg  Cheap Clomid No Rx Cephalexin Indication Sinus Cephalexin  Cheapest Deltasone Online Nombre Generico Del Viagra Dapoxetina Ebay  Levitra Tadora 40 Mg Zentel 400mg By Money Order Shipped Ups  Nolvadex Price Buy Zithromax Usa Cytotec 20mg Canada  Buy Claravis Propecia Bewertung Amoxicillin And Creatine Interactions  Accutane Online Buy Doxycycline In Mexico Sildenafil Citrate 100mg Best Price  Dapoxetina Priligy Generic Levaquin France With Free Shipping With Doctor Consult Generic Overnight Hydrochlorothiazide Medicine Online  Price Generic Kamagra Provera (Modus Medroxyprogesterone) Viagra Prix Reduit  Nolvadex Dosage Pct Price Of Cialis In Usa Over The Counter Viagra  Cheap Cialis And Viagra Propecia Side Effects Rash Doxycycline Where Can I Buy  Order Zithromax Purchasing Amoxicilina With Overnight Delivery Prednisone Buy Online No Prescription  Buy Amoxicillin Online Pharmacy In Canada Cialis Psicologico  levitra. brand name bayer.. 20 mg. 75 Mil Indocin Online Canadian Pharmacy Cialis Y Ejercicio  Xenical Online Lowest Price Viagra 100mg Canada 2014 Ha 45 Amoxicillin Capsule  Cheap Viagra Online Sine Worldwide Free Shipping Hydrochlorothiazide In Germany Tablets Low Price  Amoxicillin 500mg The Canadian Drugstore Fast Delivery Generic Viagra  Atomoxetine Tablets Levitra Scheda Tecnica Viagra Cialis Vendita  Dapoxetine Online Pharmacy Pharmacy Express Reviews Viagra Para El Hombre  Cheap Amoxil Tablets Acheter Levitra Generique 20mg Where To Purchase Secure Ordering Fedex Amoxicilina Medicine  Generic Prozac Pricing Order Zithromax Online Without Prescription Prix Du Viagra Au Luxembourg  Prozac Usa Viagra Rezeptfrei Packstation Farmacia Kamagra Vendita  Viagra Cheap Buy Clomid In Australia Online Cialis En Yahoo  Buy Amoxil Online Usa Seledruff Viagra Apotheke Hamburg  Cheapest Inderal Avis Cialis Viagra Dutasteride Buy Now Medication  How Much Propecia Generic Propecia Tablets Site Pour Achat Cialis  Strattera Prices Canada Cephalexin For Pets Buy Hydrochlorothiazide Online  Prices Inderal Ventajas De Propecia Silagra Online Bestellenatomoxetine  Nolvadex 20mg Tablets Minocycline Vs Amoxicillin Viagra Levitra Prezzo  How Much Propecia 100 Mg Viagra Preise Nizagara 100  Buy Cheap Zithromax Buy Zithromax For Chlamydia
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表