天天看點

《開源營運技術精髓》之負載均衡-1.2

<b></b>

<b>6.1.2</b><b> lvs</b><b>用戶端</b>

Lvs的用戶端指負載均衡其/轉發器(director)後面提供服務的真實機器。負載均衡類型(lb_kind)一般分直接路由模式DR 、網絡位址轉換模式 NAT以及隧道模式TUN三種。Lvs用戶端的配置是根據其所采用的負載均衡種類(lb_kind)來做相應操作的。在我們的應用環境裡,為了獲得最高的性能,采用的負載均衡種類(lb_kind)是直接路由模式DR。

不管采取哪一種模式,lvs用戶端都不需安裝額外的軟體。

Lvs可支援的用戶端包括:各種GNU/linux、大部分unix以及windows。目前我已經成功運作的lvs用戶端環境有centos、redhat、freebsd、windows等。需要注意的是,由于用戶端作業系統的不同,lvs用戶端的配置也就各不相同了。本書中,将以centos及freebsd兩種作業系統作為lvs的用戶端,給出其直接路由模式DR的配置方法。

●     lvs用戶端(真實伺服器)作業系統是centos時的配置檔案

[root@huludao-2 ~]# <b>more /usr/local/bin/lvs_real</b>

#!/bin/bash

#description : start realserver

VIP=61.135.20.16

/etc/rc.d/init.d/functions

case "$1" in

start)

echo " start LVS of REALServer"

/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up

echo "1" &gt;/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" &gt;/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" &gt;/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" &gt;/proc/sys/net/ipv4/conf/all/arp_announce

;;

stop)

/sbin/ifconfig lo:0 down

echo "close LVS Directorserver"

echo "0" &gt;/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0" &gt;/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0" &gt;/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" &gt;/proc/sys/net/ipv4/conf/all/arp_announce

*)

echo "Usage: $0 {start|stop}"

exit 1

esac

這裡對配置檔案裡重要的一些項進行說明:

1、  vip(virtual ip)。直接路由模式的vip必須跟伺服器對外提供服務的ip位址在同一個網段,并且lvs 負載均衡器和其他所有提供相同功能的伺服器都使用這個vip.

2、  vip被綁定在環回接口lo0:0上,其廣播位址是其本身,子網路遮罩是255.255.255.255。這與标準的網絡位址設定有很大的不同。采用這種可變長掩碼方式把網段劃分成隻含一個主機位址的目的是避免ip位址沖突。

3、  echo “1”,echo “2” 這段的作用是抑制arp廣播。如果不做arp抑制,将會有衆多的機器向其他宣稱:“嗨!我是奧巴馬,我在這裡呢!”,這樣就亂套了。

●     lvs用戶端(真實伺服器)作業系統是freebsd時的配置檔案

fav1# more /usr/local/bin/lvs_real_bsd

#!/usr/local/bin/bash

/sbin/ifconfig lo0 $VIP  netmask 255.255.255.255 alias -arp up

/sbin/ifconfig lo0 alias down

/sbin/ifconfig lo0 127.0.0.1 arp up

在這裡,我們同樣對這個配置腳本的某些項進行說明:

1、vip位址設定和arp抑制用 /sbin/ifconfig lo0 $VIP  netmask 255.255.255.255 alias -arp up

這麼一行就實作了。

我們把這兩種作業系統的lvs用戶端做個比較,發現freebsd的配置書寫上要簡潔一些,是不是可以認為freebsd的網絡功能比linux強大呢?

本文轉自sery51CTO部落格,原文連結:http://blog.51cto.com/sery/186859 ,如需轉載請自行聯系原作者

繼續閱讀