[转帖]linux virtual server(LVS)的构建_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3639 | 回复: 0   主题: [转帖]linux virtual server(LVS)的构建        下一篇 
Leon
注册用户
等级:少校
经验:1436
发帖:116
精华:7
注册:2013-1-4
状态:离线
发送短消息息给Leon 加好友    发送短消息息给Leon 发消息
发表于: IP:您无权察看 2013-1-5 11:00:50 | [全部帖] [楼主帖] 楼主

一、使用Nat模式的LVS的构建

1.配置分发器。

#配置网卡
ifconfig eth0 10.1.1.250
ifconfig eth1 192.168.10.250
#打开网卡转发
#echo '1' > /proc/sys/net/ipv4/ip_forward //临时启用网卡转发
#编辑/etc/sysctl.conf文件可以永久启用网卡转发
#vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
#安装ipvsadm软件包并增加新的ipvsadm服务
#安转ipvsadm软件包
mount /dev/cdrom /media
cd /media/Cluster
rpm -Uvh ipvsadm-1.24-12.el5.i386.rpm
#增加一个新的服务
ipvsadm -A -t 10.1.1.250:80 -s rr
#-A 添加新的服务                                                                         


#-t 指定服务所使用的虚拟ip地址:端口                                          


#-s 指定服务使用的算法(rr算法是将数据包依次分发给服务中的主机)  


#把服务和服务池(server pool)进行关联
ipvsadm -a -t 10.1.1.250:80 -r 192.168.10.1 -m
ipvsadm -a -t 10.1.1.250:80 -r 192.168.10.2 -m
#-a  添加real server


#-r 指定real server的ip


#-m 指定使用nat模式


#查看建立的服务
ipvsadm -ln
##结果如下
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.1.250:80 rr
-> 192.168.10.1:80             Masq    1      0          0
-> 192.168.10.2:80             Masq    1      0          0


2.配置server pool下的真实主机(real server)

#配置服务器ip
ifconfig eth0 192.168.10.1
#配置服务器的默认网关
route add default gw 192.168.10.250
#安装apache服务
yum install httpd
#ifconfig eth0 > /var/www/html/index.html //生成一个页面用于测试
#启动apache服务
/etc/init.d/httpd restart


3.同理配置其他真实主机

4.使用客户端访问http://10.1.1.250测试服务器  

    在这个过程中,首先,用户向分发器发送请求,该请求的目的IP地址为分发器的对外IP(10.1.1.250)、源IP为用户IP(10.1.1.1);当数据包到达分发器时,分发器对该数据包进行目的地址转换,将用户请求数据包的目的地址(10.1.1.250)转换为服务器池中的某台主机的ip(192.168.10.1),然后将数据包从对内网卡转发出来;该真实主机在接受到用户请求时,将对用户的请求进行处理,并将应答请求数据包返回给分发器,此时该应答数据包的目的IP为用户的IP地址(10.1.1.1),而其源IP地址为该真实主机的IP地址(192.168.10.1),其目的MAC为分发器的MAC地址;当分发器接受到该数据包时,将对此数据包进行源地址转换,将该数据包的源IP地址(192.168.10.1)转换成为分发器的对外IP地址(10.1.1.1),并将该数据包从分发器的对外网卡传送出去。

    使用NAT模式构建LVS时,当同时进行的并发很大时,大量的数据包流经分发器,容易造成分发器出现问题。

二、使用DR模式构建LVS

1.配置路由器

ifconfig eth0 10.1.1.254
ifconfig eth1 192.168.10.254
echo 1 > /proc/sys/net/ipv4/ip_forward


2.配置分发器IP地址

#配置eth0的IP
ifconfig eth0 192.168.10.11
#配置默认网关
route add default gw 192.168.10.254
#添加一个虚拟ip,并使其不对外进行广播
ifconfig eth0:0 192.168.10.250 netmask 255.255.255.255 broadcast 192.168.19.250 up
#配置默认路由
route add 192.168.10.250/32 dev eth0:0
#设定分发规则
yum install ipvsadm -y
ipvsadm -A -t 192.168.10.250:80 -s rr
ipvsadm -a -t 192.168.10.250:80 -r 192.168.10.1 -g
ipvsadm -a -t 192.168.10.250:80 -r 192.168.10.2 -g
# -g 指定LVS使用的分发使用DR模式


3.real server的配置

#配置服务器IP
ifconfig eth0 192.168.10.1
#绑定vip
ifconfig lo:0 192.168.10.250 netmask 255.255.255.255 broadcast 192.168.19.250 up
#设置到主机的路由
route add -host 192.168.19.250 dev lo:0
#设置默认路由
route add default gw 192.168.10.254
#禁止真实主机将192.168.10.250进行arp广播
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
================arp_announce=============


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

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

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

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

================arp_ignore=============


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

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

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

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

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

4-7 - 保留未使用 

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

#重启apache服务
/etc/init.d/httpd restart


4.配置其他真实主机并测试服务器

    在DR模式中,首先,用户向分发器发送请求,请求数据包在封装时,目的ip使用虚拟IP地址(192.168.10.250),源IP地址使用客户机IP。数据包在到达真实服务器途中,只改变源目MAC,源目IP始终不变。当请求数据包到达分发器时,分发器仅进行数据包的分配,此时只更改请求数据包源目MAC。当真实服务器接受到数据包,此时真实服务器则进行数据包的处理,应答用户请求,应答数据包的源IP为虚拟IP(192.168.18.250),目的地址为用户IP地址(10.1.1.100),并直接将数据包传递给路由器的内网接口,此时数据包不经过分发器,不会受到分发器瓶颈的影响。

本文出自 “smileliuyb” 博客,请务必保留此出处http://smileliuyb.blog.51cto.com/6235781/1107168




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论