LVS-DR構成
一、ネットカードの配置:
client:windows
192.168.2.26
director:rhel5.6 x 64シングルNIC
NIC構成:eth 0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:C4:0D:1F
ONBOOT=yes
IPADDR=192.168.2.230
NETMASK=255.255.255.0
GATEWAY=192.168.2.254
NIC構成:eth 0:0--対外サービスのIP
DEVICE=eth0:0
BOOTPROTO=static
HWADDR=00:0C:29:C4:0D:1F
ONBOOT=yes
IPADDR=192.168.2.220
NETMASK=255.255.255.255
realserver1:rhel5.6 x64,apache
NIC構成:eth 0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:0c:29:9f:69:74
IPADDR=192.168.2.232
NETMASK=255.255.255.0
GATEWAY=192.168.2.254
NICの配置:lo:0--directorはこのサーバーに委託して、このサーバーは自分に送ったかどうかを確認します
DEVICE=lo:0
IPADDR=192.168.2.220
NETMASK=255.255.255.255
ONBOOT=yes
realserver2:rhel5.6 x64,apache
NIC構成:eth 0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:0C:29:52:AE:FA
IPADDR=192.168.2.233
NETMASK=255.255.255.0
GATEWAY=192.168.2.254
NICの配置:lo:0--directorはこのサーバーに委託して、このサーバーは自分に送ったかどうかを確認します
DEVICE=lo:0
IPADDR=192.168.2.220
NETMASK=255.255.255.255
ONBOOT=yes
二、director配置
1、環境がip_をサポートしているかどうかを確認するvs,以下の結果は,システムサポートを示す.
[root@localhost ~]# modprobe -l | grep ipvs
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_lblc.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_lc.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_nq.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_sed.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_wrr.ko
2、ipvsadmコンフィギュレーションツールをインストールし、yumをインストールすればよい
yum -y install ipvsadm
3、転送機能を起動する
変更/etc/sysctl.conf、次の2行があることを確認します.
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter=1この行のデフォルト値は1です.チェックしてください.
変更の有効化:
sysctl -p
4、lvs転送規則を構成する:
[root@localhost ~]# vim/lvs.sh
ipvsadm -C
ipvsadm -A -t 192.168.2.220:80 -s rr
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.232:80 -g
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.233:80 -g
注意:
1、実际のサーバーの性能があまり违わない场合にrr転送方式を使ってもshellの次の1本1本の入力ができることが望ましい.ここでは便利のために、使用スクリプトを管理する.
2、仮想サーバーIPは必ず外部に见られる公网IPに违いない!!
永続リンクスクリプト:
[root@localhost ~]# vim/lvs.sh
ipvsadm -C
ipvsadm -A -t 192.168.2.220:80 -s rr -p
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.232:80 -g
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.233:80 -g
注意:-p黙は300秒と考え、300秒になってもクライアントがリンク状態を処理すると、lvsサーバは永続リンクテンプレートを更新し、300秒継続し、時間値をカスタマイズすることもできます.単位(秒):-p 3600
5、起動
sh/lvs.sh--この時点ですでにサービスを提供できます
サービスipvsadm save--保存しないとサービスipvsadm stop(マシンを再起動)後にchkconfigを使用した自己起動ルールが失われます
service ipvsadm start
停止:service ipvsadm stop
再起動:service ipvsadm restart
起動後のステータスを表示するには、次の手順に従います.
[root@localhost ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.220:http rr
-> 192.168.2.232:http Route 1 0 0
-> 192.168.2.233:http Route 1 0 0
6、POSTの追加
[root@localhost~]#chkconfig--level 3 ipvsadm on//推奨、サービスipvsadm saveが必要
または
[root@localhost ~]# echo "/bin/sh/lvs.sh">>/etc/rc.local
三、realserver配置(2台同様)
起動スクリプトを追加(起動に追加)
四:テスト
クライアントは192.168.2.2.220にアクセスし、異なるサーバ上のコンテンツが表示されます.
Director接続ステータスを表示するには、次の手順に従います.
[root@localhost ~]# ipvsadm -lcn
IPVS connection entries
pro expire state source virtual destination
TCP 14:56 ESTABLISHED 192.168.2.26:62460 192.168.2.220:80 192.168.2.233:80
TCP 01:47 FIN_WAIT 192.168.2.26:62459 192.168.2.220:80 192.168.2.232:80
補足:構成完了後、LVSがWEBサービスを開始すると、アクセス2.220のトラフィックが転送され、アクセス2.230は影響を受けません.
client:windows
192.168.2.26
director:rhel5.6 x 64シングルNIC
NIC構成:eth 0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:C4:0D:1F
ONBOOT=yes
IPADDR=192.168.2.230
NETMASK=255.255.255.0
GATEWAY=192.168.2.254
NIC構成:eth 0:0--対外サービスのIP
DEVICE=eth0:0
BOOTPROTO=static
HWADDR=00:0C:29:C4:0D:1F
ONBOOT=yes
IPADDR=192.168.2.220
NETMASK=255.255.255.255
realserver1:rhel5.6 x64,apache
NIC構成:eth 0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:0c:29:9f:69:74
IPADDR=192.168.2.232
NETMASK=255.255.255.0
GATEWAY=192.168.2.254
NICの配置:lo:0--directorはこのサーバーに委託して、このサーバーは自分に送ったかどうかを確認します
DEVICE=lo:0
IPADDR=192.168.2.220
NETMASK=255.255.255.255
ONBOOT=yes
realserver2:rhel5.6 x64,apache
NIC構成:eth 0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:0C:29:52:AE:FA
IPADDR=192.168.2.233
NETMASK=255.255.255.0
GATEWAY=192.168.2.254
NICの配置:lo:0--directorはこのサーバーに委託して、このサーバーは自分に送ったかどうかを確認します
DEVICE=lo:0
IPADDR=192.168.2.220
NETMASK=255.255.255.255
ONBOOT=yes
二、director配置
1、環境がip_をサポートしているかどうかを確認するvs,以下の結果は,システムサポートを示す.
[root@localhost ~]# modprobe -l | grep ipvs
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_lblc.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_lc.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_nq.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_sed.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
/lib/modules/2.6.18-238.el5/kernel/net/ipv4/ipvs/ip_vs_wrr.ko
2、ipvsadmコンフィギュレーションツールをインストールし、yumをインストールすればよい
yum -y install ipvsadm
3、転送機能を起動する
変更/etc/sysctl.conf、次の2行があることを確認します.
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter=1この行のデフォルト値は1です.チェックしてください.
変更の有効化:
sysctl -p
4、lvs転送規則を構成する:
[root@localhost ~]# vim/lvs.sh
ipvsadm -C
ipvsadm -A -t 192.168.2.220:80 -s rr
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.232:80 -g
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.233:80 -g
注意:
1、実际のサーバーの性能があまり违わない场合にrr転送方式を使ってもshellの次の1本1本の入力ができることが望ましい.ここでは便利のために、使用スクリプトを管理する.
2、仮想サーバーIPは必ず外部に见られる公网IPに违いない!!
永続リンクスクリプト:
[root@localhost ~]# vim/lvs.sh
ipvsadm -C
ipvsadm -A -t 192.168.2.220:80 -s rr -p
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.232:80 -g
ipvsadm -a -t 192.168.2.220:80 -r 192.168.2.233:80 -g
注意:-p黙は300秒と考え、300秒になってもクライアントがリンク状態を処理すると、lvsサーバは永続リンクテンプレートを更新し、300秒継続し、時間値をカスタマイズすることもできます.単位(秒):-p 3600
5、起動
sh/lvs.sh--この時点ですでにサービスを提供できます
サービスipvsadm save--保存しないとサービスipvsadm stop(マシンを再起動)後にchkconfigを使用した自己起動ルールが失われます
service ipvsadm start
停止:service ipvsadm stop
再起動:service ipvsadm restart
起動後のステータスを表示するには、次の手順に従います.
[root@localhost ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.220:http rr
-> 192.168.2.232:http Route 1 0 0
-> 192.168.2.233:http Route 1 0 0
6、POSTの追加
[root@localhost~]#chkconfig--level 3 ipvsadm on//推奨、サービスipvsadm saveが必要
または
[root@localhost ~]# echo "/bin/sh/lvs.sh">>/etc/rc.local
三、realserver配置(2台同様)
起動スクリプトを追加(起動に追加)
#!/bin/bash
VIP0=192.168.2.220
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo " Start Realserver."
/sbin/ifconfig lo:0 $VIP0 netmask 255.255.255.255 up
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
;;
stop)
/sbin/ifconfig lo:0 down
echo " Stop Realserver."
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 88
;;
esac
四:テスト
クライアントは192.168.2.2.220にアクセスし、異なるサーバ上のコンテンツが表示されます.
Director接続ステータスを表示するには、次の手順に従います.
[root@localhost ~]# ipvsadm -lcn
IPVS connection entries
pro expire state source virtual destination
TCP 14:56 ESTABLISHED 192.168.2.26:62460 192.168.2.220:80 192.168.2.233:80
TCP 01:47 FIN_WAIT 192.168.2.26:62459 192.168.2.220:80 192.168.2.232:80
補足:構成完了後、LVSがWEBサービスを開始すると、アクセス2.220のトラフィックが転送され、アクセス2.230は影響を受けません.