细致教程之Linux负载均衡
创始人
2024-06-29 09:20:36
0次

linux作为一个具有代表性的开源系统,受到广大的用户所喜爱。那么如何在LVS下进行负载均衡的使用呢?现在我们就来详细地为大家介绍一下,主要是使用ipvsadm来实现负载均衡。那么按照一贯的程序,首先是安装程序,然后是配置。

Linux Virtua Server负载均衡ipvsadm使用方法

1.安装ipvsadm

下载ipvsadm,下载时需注意对应自己的内核版本。

ipvsadm下载网址:http://www.linuxvirtualserver.org/software/

本文使用的是FC8系统,内核版本2.6.23.1,对应ipvsadm版本1.24。

安装时需要Linux内核源码,如果安装系统时没有安装源码,需要再下载内核源码。本文使用的内核是linux-2.6.23.1.tar.bz2。把内核解压到/usr/src/linux-2.6.23.1。下面开始编译安装:

建立内核快捷方式:ln-s/usr/src/linux-2.6.23.1/usr/src/linux

解压ipvsadm:tar zxvf ipvsadm-1.24.tar.gz

安装ipvsadm:

  1. cd ipvsadm-1.24  
  2. make  
  3. make install 

安装完成后,下一步我们开始配置IPVS,本文主要介绍Direct Routing方式的配置。#p#

2.配置IPVS(Direct Routing)

2.1.网络结构

三台计算机,一台Director安装Linux作负载均衡器,另两台ReaServer提供服务。

  1. Director:eth0=192.168.34.40,eth0:0(VirtuaIP) =192.168.34.41  
  2. RealServer1:IP=192.168.34.26  
  3. RealServer2:IP=192.168.34.27 

服务端口:443

客户通过VirtuaIP 192.168.34.41访问服务器。Load Balancer将来自客户的访问按一定的负载均衡机制分发到192.168.34.26和192.168.34.27这两台实际提供服务的服务器。

2.2.Load Balancer配置

步骤1:配置Director IP

在Director上配置好eth0的IP(192.168.34.40),然后在eth0上新增一个IP(192.168.34.41),命名为eth0:0,作为VirtuaIP。

步骤2:配置IPVS Table脚本

  1. 编写sh脚本如下:  
  2. VIP=192.168.34.41 #VrituaIP地址  
  3. RIP1=192.168.34.27 #ReaServer 1 IP  
  4. RIP2=192.168.34.26 #ReaServer 2 IP  
  5. GW=192.168.34.1 #ReaServer 网关IP  
  6.  
  7. #清除IPVS Table  
  8. ipvsadm-C  
  9.  
  10. #设置IPVS Table  
  11. ipvsadm-A-t $VIP:443-s wlc  
  12. ipvsadm-a-t $VIP:443-r $RIP1:443-g-w 1  
  13. ipvsadm-a-t $VIP:443-r $RIP2:443-g-w 1  
  14.  
  15. #将IPVS Table保存到/etc/sysconfig/ipvsadm  
  16. /etc/rc.d/init.d/ipvsadm save  
  17.  
  18. #启动IPVS  
  19. service ipvsadm start #或者/etc/rc.d/init.d/ipvsadm start也可以  
  20. #显示IPVS状态  
  21. ipvsadm-l  
  22.  
  23. #脚本结束----------------------------  
  24. 该脚本配置IPVS Table,并将配置保存到/etc/sysconfig/ipvsadm文件中。  
  25. 以后修改IPVS TABLE可直接修改该脚本。当然,您也可以直接编辑该文件来实现IPVS Table的配置。  
  26. 配置完毕后执行/etc/rc.d/init.d/ipvsadm start(或service ipvsadm start)启动IPVS。  
  27. 通过以上两个步骤,就完成了负载均衡器IPVS的配置。 

2.3.ReaServer配置

ReaServer主要做两个配置,一是添加一个虚拟IP,二是关闭该IP的ARP响应。

2.3.1.Windows系统

对于Windows系统的服务器,只要添加一个Loopback的网卡,IP地址设置成虚拟IP(192.168.34.41),子网掩码设置成255.255.255.255,网关地址留空。

操作:
从控制面板选择添加硬件;
选择"是,硬件已连好";
选择"添加新的硬件设备";
选择"安装我手动从列表选择的硬件";
选择"网络适配器";

从厂商列表选择"Microsoft",从网卡列表选择"Microsoft Loopback Adapter";

点下一步开始安装硬件,安装完毕后出现一个新的网卡,配置好IP和子网掩码。Windows子网掩码无法配置成255.255.255.255,我们可以先按默认的保存配置,然后从注册表修改子网掩码。

注册表修改子网掩码:

从注册表

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]下找到对应的网卡,将SubnetMask修改成255.255.255.255。然后禁用再启用该网卡即可。#p#

3.配置LDirectord RealServer故障检测及管理

LDirectord进程定时检测各ReaServer运行状态,当检测到某台ReaServer故障时,则将该Server从负载均衡调度列表删除,当恢复正常时再加入。

3.1.安装LDirectord

LDirectord软件包含在HeartBeat软件包中。安装HeartBeat时就同时安装了LDirectord。HeartBeat下载网址:http://www.linuxvirtualserver.org/software/。

安装HeartBeat还需要安装libnet等软件包。可以到网上下载这些软件包来安装。Libnet下载网址:http://www.packetfactory.net/libnet/dist/libnet.tar.gz

安装libnet:

  1. tar zxf libnet.tar.gz  
  2. cd libnet  
  3. ./configure  
  4. make  
  5. make install 

安装HeartBeat:

  1. ./ConfigureMe configure  
  2. make  
  3. make install 

安装完后执行以下命令加入自启动项:

chkconfig-add ldirectord

3.2.配置LDirectord

heartbeat/ldirectord目录下有个ldirectord.cf文件。该文件是ldirectord的配置范例。在/etc/ha.d/目录下新建一个ldirectord.cf文件,按配置范例格式进行配置,主要配置项如下:

  1. checktimeout=3 #检测超时3s  
  2. checkinterval=1 #检测间隔1s  
  3. fallback=127.0.0.1:443 #所有服务器都故障时访问该服务器  
  4. autoreload=yes #配置文件改变时自动加载  
  5. logfile="/var/log/ldirectord.log" #日志文件  
  6. quiescent=yes  
  7. virtual=192.168.34.41:443 #虚拟IP  
  8. real=192.168.34.26:443 gate  
  9. real=192.168.34.27:443 gate  
  10. fallback=127.0.0.1:443 #所有服务器都故障时访问该服务器  
  11. service=none  
  12. scheduler=wlc  
  13. persistent=600  
  14. protocol=tcp  
  15. checktype=on 

3.3.启动ldirectord

/etc/rc.d/init.d ldirectord start

Linux负载均衡安装中注意:启动时如果提示ldirectord某行出错,一般是有些运行需要的软件没安装,大部分是perl开头的软件包。

  1. net-snmp-5.3-4.2.i386.rpm  
  2. net-snmp-libs-5.3-4.2.i386.rpm  
  3. perl-Compress-Zlib-1.41-1.2.2.i386.rpm  
  4. perl-HTML-Parser-3.50-1.i386.rpm  
  5. perl-HTML-Tagset-3.10-2.1.noarch.rpm  
  6. perl-libwww-perl-5.805-1.1.noarch.rpm  
  7. perl-MailTools-1.74-1.fc5.noarch.rpm  
  8. perl-TimeDate-1.16-3.2.noarch.rpm  
  9. perl-URI-1.35-2.2.noarch.rpm 

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...