あれから2日もたってしまいました。
Mimura さんの案がとても参考になりました。
で、構築しようと思って、はたと・・・・
以下のネットワーク構成があるとします。
リアルサーバからの帰りのパケットはどうやって返るのでしょ
うか・・・
Router(IP:172.16.0.1) --+--(VIP:172.16.0.2, 192.168.0.1)LB
+--(IP:192.168.0.2, lo0: 172.16.0.2)WebServer1
+--(IP:192.168.0.3, lo0: 172.16.0.2)WebServer2
+--(IP:192.168.0.4, lo0: 172.16.0.2)WebServer3
:
Router と同一セグメントにいないからパケットが戻れない・・・?
そのため、以下のページでは、リアルサーバに TagVLAN を構
成し、IP アドレスを付けないでルーティングするとかなんと
か書いてあります。ちょっと理解不能です。
http://dsas.blog.klab.org/archives/cat_50022203.html
そもそも、この様な構成をする事自体間違っているのでしょう
か。
Tue, 24 Jan 2012 17:27:00 +0900 に、
Shigeki Mimura <[email protected]> さんは書きました:
> 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としては動作してくれたようです。
--
もじもじ <[email protected]>