RedHat5 LVS负载均衡Word文件下载.docx
- 文档编号:16393229
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:16
- 大小:503.55KB
RedHat5 LVS负载均衡Word文件下载.docx
《RedHat5 LVS负载均衡Word文件下载.docx》由会员分享,可在线阅读,更多相关《RedHat5 LVS负载均衡Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
客户通过VirtualIPAddress(虚拟服务的IP地址)访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台服务器,将报文的目标地址VirtualIPAddress改写成选定服务器的地址,报文的目标端口改写成选定服务器的相应端口,最后将修改后的报文发送给选出的服务器。
同时,调度器在连接Hash表中记录这个连接,当这个连接的下一个报文到达时,从连接Hash表中可以得到原选定服务器的地址和端口,进行同样的改写操作,并将报文传给原选定的服务器。
当来自真实服务器的响应报文经过调度器时,调度器将报文的源地址和源端口改为VirtualIPAddress和相应的端口,再把报文发给用户。
当使用VS/NAT方法时,如果有大量的响应数据经过调度器,调度器将成为整个集群的瓶颈。
*使用VS/TUN方法:
VS/TUN的连接调度和管理与VS/NAT中的一样,只是它的报文转发方法不同。
调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的服务器;
服务器收到报文后,先将报文解封获得原来目标地址为VIP的报文,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。
*使用VS/DR方法:
调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连,如通过交换机或者高速的HUB相连。
VIP地址为调度器和服务器组共享,调度器配置的VIP地址是对外可见的,用于接收虚拟服务的请求报文;
所有的服务器把VIP地址配置在各自的Non-ARP网络设备上,它对外面是不可见的,只是用于处理目标地址为VIP的网络请求。
在VS/DR中,调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。
因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。
当服务器发现报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。
二、本实验拓扑图
在实际环境中可修改192.168.0.200、192.168.0.10、192.168.0.11为真IP。
三、LVS在RedHat5上的安装
1、需要的安装包:
操作系统:
RedHat5
LVS安装包:
php-common-5.1.6-5.el5.i386.rpm
php-cli-5.1.6-5.el5.i386.rpm
php-5.1.6-5.el5.i386.rpm
ipvsadm-1.24-8.1-i386.rpm
piranha-0.8.4-7.el5.i386.rpm
如果系统中没有安装Apache还需要Apache的安装包。
2、在ActiveLVSRouter上安装PHP
Shell#rpm-ivhphp-common-5.1.6-5.el5.i386.rpm
Shell#rpm-ivhphp-cli-5.1.6-5.el5.i386.rpm
Shell#rpm-ivhphp-5.1.6-5.el5.i386.rpm
Shell#vi/etc/httpd/conf/httpd.conf
查找AddTypeapplication/x-compress.Z
AddTypeapplication/x-gzip.gz.tgz
在其下加入:
AddTypeapplication/x-tar.tgz
AddTypeapplication/x-httpd-php.php
AddTypeimage/x-icon.ico
修改DirectoryIndex行,添加index.php
修改为DirectoryIndexindex.phpindex.htmlindex.html.var
#vi/var/www/html/test.php
添加以下行:
//php标记(用<
代替[)
[?
php
phpinfo();
?
]
wq保存退出。
Shell#/etc/init.d/httpdrestart
//重新启动Apache
打开浏览器进行测试,输入http:
//localhost/test.php,如果能够成功显示PHP变量则说明PHP安装成功。
3、在ActiveLVSRouter上安装LVS所需要的包
Shell#rpm-ivhipvsadm-1.24-8.1-i386.rpm
Shell#rpm-ivhpiranha-0.8.4-7.el5.i386.rpm
4、在ActiveLVSRouter上配置VIP虚拟IP和主机路由
安装IPVS后,就可以配置LVS集群了,首先在DirectorServer上绑定一个虚拟IP(也叫VIP),此IP用于对外提供服务,执行如下命令:
Shell#ifconfigeth0:
0192.168.2.200broadcast192.168.2.200netmask255.255.255.255up
此处在eth0设备上绑定了一个虚拟设备eth0:
0,同时设置了一个虚拟IP是192.168.2.200,也就是上面我们规划的IP地址,然后指定广播地址也为192.168.2.200,需要特别注意的是,这里的子网掩码为255.255.255.255。
然后给设备eth0:
0指定一条路由,执行如下指令:
Shell#routeadd-host192.168.2.200deveth0:
0
5、在ActiveLVSRouter上打开数据转发
Shell#vi/etc/sysctl.conf
找到下面行:
net.ipv4.ip_forward=0
将0改成1,
net.ipv4.ip_forward=1
执行如下命令来应用:
sysctl-p
声明服务,添加服务器
#ipvsadm-A-t
192.168.1.101:
80-srr
#ipvsadm-a-t192.168.1.101:
80-r192.168.1.200-g
80-r192.168.1.201–g
保存
Serviceipvsadmsave
6、在BackupLVSRouter上重复2、3、4、5步。
6、在ActiveLVSRouter上初始化piranha的密码
Shell#piranha-passwd
输入两遍密码即可。
在ActiveLVSRouter上启动需要的服务
Shell#/etc/init.d/piranha-guistart
在ActiveLVSRouter上配置LVS(两种方法实现piranha的配置)
一:
通过编译文件来进行piranha的配置
Piranha安装完毕后,会产生/etc/sysconfig/ha/lvs.cf文件,默认此文件是空的,可以通过Piranha提供的web界面配置此文件,也可以直接手动编辑此文件,编辑好的lvs.cf文件内容类似如下,注意,“#”号后面的内容为注释。
[root@localhost~]#more/etc/sysconfig/ha/lvs.cf
serial_no=18
#序号。
primary=192.168.60.56
#指定主DirectorServer的真实IP地址,是相对与有备用的DirectorServer而言的,也就是给DirectorServer做HACluster。
service=lvs
#指定双机的服务名。
backup_active=0
#是否激活备用DirectorServer。
“0”表示不激活,“1”表示激活。
backup=0.0.0.0
#这里指定备用DirectorServer的真实IP地址,如果没有备用DirectorServer,可以用“0.0.0.0”代替。
heartbeat=0
#是否开启心跳,1表示开启,0表示不开启。
heartbeat_port=539
#指定心跳的UDP通信端口。
keepalive=5
#心跳间隔时间,单位是秒。
deadtime=10
#如果主DirectorServer在deadtime(秒)后没有响应,那么备份Director
Server就会接管主DirectorServer的服务。
network=direct
#指定LVS的工作模式,direct表示DR模式,nat表示NAT模式,tunnel表示TUNL模式。
debug_level=NONE
#定义debug调试信息级别。
virtual{
#指定虚拟服务的名称。
active=1
#是否激活此服务。
address=192.168.60.200eth0:
#虚拟服务绑定的虚拟IP以及网络设备名。
port=80
#虚拟服务的端口。
send="
GET/HTTP/1.0\r\n\r\n"
#给realserver发送的验证字符串。
expect="
HTTP"
#服务器正常运行时应该返回的文本应答信息,用来判断realserver是否工作正常。
use_regex=0
#expect选项中是否使用正则表达式,0表示不使用,1表示使用。
load_monitor=none
#LVS中的DirectorServer能够使用rup或ruptime来监视各个realserver的负载状态。
该选项有3个可选值,rup、ruptime和none,如果选择rup,每个realserver就必须运行rstatd服务。
如果选择了ruptime,每个realserver就必须运行rwhod服务。
scheduler=rr
#指定LVS的调度算法。
protocol=tcp
#虚拟服务使用的协议类型。
timeout=6
#realserver失效后从lvs路由列表中移除失效realserver所必须经过的时间,以秒为单位。
reentry=15
#某个realserver被移除后,重新加入lvs路由列表中所必须经过的时间,以秒为单位。
quiesce_server=0
#如果此选项为1.那么当某个新的节点加入集群时,最少连接数会被重设
为零,因此LVS会发送大量请求到此服务节点,造成新的节点服务阻塞,
建议设置为0。
serverRS1{
#指定realserver服务名。
address=192.168.60.132
#指定realserver的IP地址。
#是否激活此realserver服务。
weight=1
#指定此realserver的权值,是个整数值,权值是相对于所有realserver节点而言的,权值高的realserver处理负载的性能相对较强。
}
serverRS2{
address=192.168.60.144
active=1
weight=1
编辑完成,然后启动pulse服务,即启动lvs服务
[root@localhost~]#servicepulsestart
同理,此种方式下也要启用系统的包转发功能:
[root@localhost~]#echo"
1"
>
/proc/sys/net/ipv4/ip_forward
到此为止,Piranha工具方式配置DirectorServer完毕。
二:
图形界面配置piranha
首先在浏览器中输入http:
//localhost:
3636打开piranha,输入用户名:
piranha,密码:
上面设置的密码。
登录后将看到监视屏幕。
配置GlobalSettings(是对ActiveLVSRouter的配置),点击DirectRouting,然后输入公网IP,和局域网IP。
点击ACCEPT按钮保存设置。
配置Redundancy(是对BackupLVSRouter的配置),输入公网IP,和局域网IP。
点击ADD按钮添加一个服务。
按下面配置添加的服务。
配置完成后不要忘记点击ACCEPT按钮保存设置。
点击REALSERVER连接,配置RealServer。
点击ADD按钮添加一个节点,点击EDIT按钮编辑节点,点击(DE)ACTIVATE按钮激活节点。
点击MONITORINGSCRIPTS连接修改监控设置,在此保持默认。
点击VIRTUALSERVERS连接,然后点击(DE)ACTIVATE按钮激活上面设置的服务。
7、在ActiveLVSRouter上启动pulse进程
Shell#/etc/init.d/pulsestart
Shell#chkconfig--level2345piranha-guion
Shell#chkconfig--level2345pulseon
拷贝配置文件到BackupLVSRouter。
Shell#scp/etc/sysconfig/ha/lvs.cfgroot@192.168.0.21:
/etc/sysconfig/ha/
8、在BackupLVSRouter上启动pulse进程
9、配置RealServer
在RealServer上创建一个脚本:
Shell#vi/root/lvsRealServer.sh
#!
/bin/bash
#Description:
RealServerStart!
#Writeby:
iStone
#LastModefiy:
2007.12.15
VIP=192.168.0.200
/sbin/ifconfiglo:
0$VIPbroadcast$VIPnetmask255.255.255.255up
/sbin/routeadd-host$VIPdevlo:
echo"
/proc/sys/net/ipv4/conf/lo/arp_ignore
2"
/proc/sys/net/ipv4/conf/lo/arp_announce
/proc/sys/net/ipv4/conf/all/arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce
#end
保存退出,并给执行权限。
Shell#chmodu+x/root/lvsRealServer.sh
Shell#./root/lvsRealServer.sh
将脚本加入/etc/rc.d/rc.local
Shell#vi/etc/rc.d/rc.local
/root/lvsRealServer.sh
在每个RealServer上重复本步。
10、测试,在其它机器上访问虚拟IP
回到ActiveLVSRouter上,输入ipvsadm命令
如果看到以上输出,说明LVS配置成功。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RedHat5 LVS负载均衡 LVS 负载 均衡