lvsにおけるdrモード構成スクリプト
4555 ワード
1 drモード紹介
1.1 lvsのインストール
インストールの詳細:http://blog.csdn.net/CleverCode/article/details/50586957.
1.2 lvsモード
lvsには3つのモードdr,nat,tunがある.ここではまずdrモードについて説明します.
1.3 dr特徴1)Load BalancerとすべてのReal Serverは同じローカルエリアネットワークセグメントにある.
2)Real Serverは要求を処理した後,スケジューラで返す必要がなく,ユーザに直接返す.
1.4プロセス要求プロセス:顧客=>vip=>RealServer.
応答プロセス:RealServer=>お客様.
2環境の構成
2.1 LoadBalancer DIP:192.168.142.133(eth0).
VIP:192.168.142.211(eth0:1).
2.2 RealServer1 DIP:192.168.142.130(eth0).
2.3 RealServer2 DIP:192.168.142.131(eth0).
3構成スクリプト
3.1 LoadBalancer#mkdir-p/usr/local/lvsの構成
# cd/usr/local/lvs
# vi lvs-dr.sh
開始
#sh lvs-dr.sh start
3.2 RealServer 1#mkdir-p/usr/local/lvsの構成
# cd/usr/local/lvs
# vi realServer.sh
開始
#sh realServer.sh start
3.3 RealServer 2を構成同理RealServer 1を構成する.
4 Webサーバテストの確立
1)RealServer 1とRealServer 2のインストールと構成Nginx(詳細:http://blog.csdn.net/clevercode/article/details/45442155)
2)RealServer 1のwebサーバルートディレクトリにindexを作成する.html
# vi index.html
if you see this page,then you know this ip is 192.168.142.130 and this page is from nginx!
3)RealServer 2のwebサーバルートディレクトリにindexを作成する.html
# vi index.html
if you see this page,then you know this ip is 192.168.142.131 and this page is from nginx!
4)hostまたはdnsを構成する.my.domain.comはVIP:192.168.142.211を指す.
5)ページを更新すると、異なる内容が表示されます.
1.1 lvsのインストール
インストールの詳細:http://blog.csdn.net/CleverCode/article/details/50586957.
1.2 lvsモード
lvsには3つのモードdr,nat,tunがある.ここではまずdrモードについて説明します.
1.3 dr特徴1)Load BalancerとすべてのReal Serverは同じローカルエリアネットワークセグメントにある.
2)Real Serverは要求を処理した後,スケジューラで返す必要がなく,ユーザに直接返す.
1.4プロセス要求プロセス:顧客=>vip=>RealServer.
応答プロセス:RealServer=>お客様.
2環境の構成
2.1 LoadBalancer DIP:192.168.142.133(eth0).
VIP:192.168.142.211(eth0:1).
2.2 RealServer1 DIP:192.168.142.130(eth0).
2.3 RealServer2 DIP:192.168.142.131(eth0).
3構成スクリプト
3.1 LoadBalancer#mkdir-p/usr/local/lvsの構成
# cd/usr/local/lvs
# vi lvs-dr.sh
#!/bin/sh
# lvs-dr.sh
#
# lvs dr LVS server
#
#
# vip rip 。VS/DR MAC , realserver ,
# IP , realserver , LVS , LVS 。
# set the vip and port
VIP=192.168.142.211
VPORT1=80
# set the rip and port
# web
RIP1=192.168.142.130
RIP2=192.168.142.131
# port
RPORT1=80
Usage (){
echo "Usage:`basename $0` (start|stop|status) "
exit 1
}
if [ $# -ne 1 ];then
Usage
fi
case $1 in
start)
echo "start LVS of DirectorServer"
echo 1 > /proc/sys/net/ipv4/ip_forward
# set the vip
/sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:1
# clear ipvs table
/sbin/ipvsadm -C
# add lvs vip and port
/sbin/ipvsadm -A -t $VIP:$VPORT1 -s rr
# add rip and port
/sbin/ipvsadm -a -t $VIP:$VPORT1 -r $RIP1:$RPORT1 -g -w 1
/sbin/ipvsadm -a -t $VIP:$VPORT1 -r $RIP2:$RPORT1 -g -w 1
/sbin/ipvsadm -L -n
;;
stop)
echo "close LVS DirectorServer"
/sbin/ipvsadm -C
/sbin/ifconfig eth0:1 down
;;
status)
/sbin/ipvsadm -L -n
;;
*)
Usage
esac
開始
#sh lvs-dr.sh start
3.2 RealServer 1#mkdir-p/usr/local/lvsの構成
# cd/usr/local/lvs
# vi realServer.sh
#!/bin/sh
# realServer.sh
#
# lvs dr RIP server
#
VIP=192.168.142.211
#vip's broadcast
BROADCAST=192.168.142.255
Usage ()
{
echo "Usage:`basename $0` (start|stop)"
exit 1
}
if [ $# -ne 1 ];then
Usage
fi
case $1 in
start)
echo "reparing for Real Server"
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/eth0/arp_announce
/sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $BROADCAST up
/sbin/route add -host $VIP dev lo:0
;;
stop)
/sbin/ifconfig lo:0 down
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/eth0/arp_announce
echo "stop Real Server"
;;
*)
Usage
esac
開始
#sh realServer.sh start
3.3 RealServer 2を構成同理RealServer 1を構成する.
4 Webサーバテストの確立
1)RealServer 1とRealServer 2のインストールと構成Nginx(詳細:http://blog.csdn.net/clevercode/article/details/45442155)
2)RealServer 1のwebサーバルートディレクトリにindexを作成する.html
# vi index.html
if you see this page,then you know this ip is 192.168.142.130 and this page is from nginx!
3)RealServer 2のwebサーバルートディレクトリにindexを作成する.html
# vi index.html
if you see this page,then you know this ip is 192.168.142.131 and this page is from nginx!
4)hostまたはdnsを構成する.my.domain.comはVIP:192.168.142.211を指す.
5)ページを更新すると、異なる内容が表示されます.