2012年1月24日13:12 もじもじ <[email protected]>:
> ステップ5:
> 負荷分散も FreeBSD でやってしまいたい。
> ソリューションを何にするのかが問題ですね(^^;
FreeBSDのみで出来ないと悔しいので、やってみました。
できるかできないかだけで、パフォーマンスの計測はやってません。
マシン環境環境:
以下の仮想マシンを1台の物理サーバに展開
PC1: Client (FreeBSD 9.0 RELEASE i386)
PC2: Load Balancer (FreeBSD 9.0 RELEASE i386)
PC3: WEB Server 1 (FreeBSD 9.0 RELEASE i386)
PC4: WEB Server 2 (FreeBSD 9.0-RC3 amd64)
ネットワーク: 全て同一サブネット(10.0.0.0/24)
PC2での作業:
・portsからnet/replaydをインストール
・/etc/rc.confに以下のように
ifconfig_em0="inet 10.0.0.210 netmask 0xffffff00"
ifconfig_em0_alias0="inet 10.0.0.219 netmask 0xffffffff"
pf_enable="YES"
relayd_enable="YES"
・/usr/local/etc/relayd.confを以下のように記述
webserver1="10.0.0.211"
webserver2="10.0.0.212"
vipaddress="10.0.0.219"
redirect www {
listen on $vipaddress port http interface em0
route to <webservers> port www check http "/" code 200 interface em0
}
PC3での作業
・portsからwww/apache22をインストール
・/etc/rc.confを以下のように
ifconfig_em0="inet 10.0.0.211 netmask 0xffffff00"
ifconfig_lo0="inet 10.0.0.219 netmask 0xffffffff"
PC4での作業
・portsからwww/apache22をインストール
・/etc/rc.confを以下のように
ifconfig_em0="inet 10.0.0.212 netmask 0xffffff00"
ifconfig_lo0="inet 10.0.0.219 netmask 0xffffffff"
これでPC1から10.0.0.219の80番ポートに話しかけると、211か212のどちらかが応答してくれます。
本当にDSRでパケットが落ちてきてるか、まだ検証していないのですが、とりあえずload balancerとしては動作してくれたようです。