這裏使用lvs軟件來實現web的集羣
實驗環境,vmware虛擬機,三臺,一臺充當director,另外兩臺充當web服務器
director的ip地址爲:192.168.0.64 10.0.1.10(雙網卡)
web的ip分別爲:10.0.1.11 10.0.1.12
物理機充當客戶端,ip爲192.168.0.68
這裏爲了方便使用yum來安裝
這裏爲了方便查看兩臺realserver的web切換過程我們配置他們的網頁不同。
1.首先配置好相應的ip地址和和網關
第一臺realserver上配置
route add default gw 10.0.1.10 配置網關
yum install httpd -y
vim /var/www/html/index.html
hi this is test 1
:wq
service httpd start
第二臺realserver的配置
route add default gw 10.0.1.10 配置網關
yum install httpd -y
vim /var/www/html/index.html
hi this is test 2
:wq
service httpd start
director上的配置
yum install ipvsadm
cat /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
此時可以查看一下兩臺realserver上的網頁是否可以正常訪問。
elinks --dump http://10.0.1.11
elinks --dump http://10.0.1.12
ipvsadm -A -t 192.168.0.64:80 -s rr
ipvsadm -a -t 192.168.0.64:80 -r 10.0.1.11 -m
ipvsadm -a -t 192.168.0.64:80 -r 10.0.1.12 -m
查看定義
ipvsadm -L -n
此時你就可以通過windows的瀏覽器輸入
http://192.168.0.64來查看你的網頁了
此時不斷刷新,你就會不端的看到兩者進行切換。
hi this is test 1
hi this is test 2
此時你的兩臺realserver模擬的簡單集羣就算完成了。
這裏可以修改rr爲wlc,
ipvsadm -E -t 192.168.0.64:80 -s wlc
更改權重
ipvsadm -e -t 192.168.0.64:80 -r 10.0.1.11 -m -w 3
watch -n 1 'ipvsadm -L -n'
使用ab來測試你的web的性能
ab -c 10 -n 10000 http://192.168.0.64/index.html
表示用10個併發請求訪問10000此
安裝lvs-dr集羣
此時用兩臺虛擬機來做realserver,一臺director
此時realserver兩臺的地址爲172.16.99.11 172.16.99.12 他們共同的vip都爲172.16.99.68
此時director的地址爲vip172.16.99.68 dip爲172.16.99.10
windows客戶端的ip地址爲172.16.99.66
此時在兩臺realserver上的基本配置都相同,如下
此時在兩臺realserver上都配置如下
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
表示不響應對vip的arp查詢請求。
此時設置一條特殊的路由信息,設置lo爲自己與自己在一個網絡,與其它任何都不在一個網絡。
ifconfig lo:0 172.16.99.68 broadcast 172.16.99.68 netmask 255.255.255.255 up
設定lo:0的ip爲172.16.99.68並且設定廣播給自己。
添加路由信息。設定同過lo:0的ip都是源ip
route add -host 172.16.99.68 dev lo:0
此時可以通過下面這條命令來查看路由表信息。
route -n
安裝apache,並設定一個網頁
yum install httpd -y
vim /var/www/html/index.html
hi this is test 1 (網頁內容,可以隨便寫)
:wq
service httpd start
此時在director上設置
設置eth0的地址爲dip
ifconfig eth0 172.16.99.10
設置eth0:0的ip爲vip
ifconfig eth0:0 172.16.99.68 broadcast 172.16.99.68 netmask 255.255.255.255 up
此時添加路由信息。(非必須)
route add -host 172.16.99.68 dev eth0:0
此時配置ipvsadm
yum install ipvsadm
ipvsadm -A -t 172.16.99.68:80 -s wlc
ipvsadm -a -t 172.16.99.68 -r 172.16.99.11 -g -w 2
ipvsadm -a -t 172.16.99.68 -r 172.16.99.12 -g -w 4
查看配置
ipvsadm -L -n
此時你就可以通過windows訪問服務器了
http://172.16.99.68/index
不段刷新就可以看到你在網頁上定義的內容了 。
此時你可以在director上監控流量,客戶機上訪問的情況
director上
watch -n 1 'ipvsadm -L -n --rate'
可以再使用一臺linux機器使用ab來測量apache的壓力
ab -c 20 -n 10000 http://172.16.99.68/index.html