歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

DR配置:Linux Virtual Server負載均衡

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:

cd ipvsadm-1.24

make

make install

安裝完成後,下一步我們開始配置IPVS,本文主要介紹Direct Routing方式的配置。

2. 配置IPVS(Direct Routing)

2.1.網絡結構

三台計算機,一台Director安裝Linux作負載均衡器,另兩台Real Server提供服務。

Director:eth0=192.168.34.40,eth0:0(Virtual IP) =192.168.34.41

RealServer1:IP=192.168.34.26

RealServer2:IP=192.168.34.27

服務端口:443

客戶通過Virtual IP 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,作為Virtual IP。

步驟2:配置IPVS Table腳本

編寫sh腳本如下:

VIP=192.168.34.41 #Vritual IP地址
RIP1=192.168.34.27 #Real Server 1 IP
RIP2=192.168.34.26 #Real Server 2 IP
GW=192.168.34.1 #Real Server 網關IP

#清除IPVS Table

ipvsadm -C

#設置IPVS Table

ipvsadm -A -t $VIP:443 -s wlc
ipvsadm -a -t $VIP:443 -r $RIP1:443 -g -w 1
ipvsadm -a -t $VIP:443 -r $RIP2:443 -g -w 1

#將IPVS Table保存到/etc/sysconfig/ipvsadm /etc/rc.d/init.d/ipvsadm save

#啟動IPVS

service ipvsadm start #或者/etc/rc.d/init.d/ipvsadm start也可以

#顯示IPVS狀態

ipvsadm -l

#腳本結束----------------------------

該腳本配置IPVS Table,並將配置保存到/etc/sysconfig/ipvsadm文件中。以後修改IPVS TABLE可直接修改該腳本。當然,您也可以直接編輯該文件來實現IPVS Table的配置。

配置完畢後執行/etc/rc.d/init.d/ipvsadm start(或service ipvsadm start)啟動IPVS。

通過以上兩個步驟,就完成了負載均衡器IPVS的配置。

2.3.Real Server配置

Real Server主要做兩個配置,一是添加一個虛擬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。然後禁用再啟用該網卡即可。

2.3.2.Linux系統

3.配置LDirectord RealServer故障檢測及管理

LDirectord進程定時檢測各Real Server運行狀態,當檢測到某台Real Server故障時,則將該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:

tar zxf libnet.tar.gz

cd libnet

./configure

make

make install

安裝HeartBeat:

./ConfigureMe configure

make

make install

安裝完後執行以下命令加入自啟動項:

chkconfig –add ldirectord

3.2.配置LDirectord

heartbeat/ldirectord目錄下有個ldirectord.cf文件。該文件是ldirectord的配置范例。

在/etc/ha.d/目錄下新建一個ldirectord.cf文件,按配置范例格式進行配置,主要配置項如下:

checktimeout=3 #檢測超時3s

checkinterval=1 #檢測間隔1s

fallback=127.0.0.1:443 #所有服務器都故障時訪問該服務器

autoreload=yes #配置文件改變時自動加載

logfile="/var/log/ldirectord.log" #日志文件

quiescent=yes

virtual=192.168.34.41:443 #虛擬IP

real=192.168.34.26:443 gate

real=192.168.34.27:443 gate

fallback=127.0.0.1:443 #所有服務器都故障時訪問該服務器

service=none

scheduler=wlc

persistent=600

protocol=tcp

checktype=on

3.3.啟動ldirectord

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

注意,啟動時如果提示ldirectord某行出錯,一般是有些運行需要的軟件沒安裝,大部分是perl開頭的軟件包。

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

 

Copyright © Linux教程網 All Rights Reserved