あれから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 <shig...@mimura.bz> さんは書きました: > 2012年1月24日13:12 もじもじ <mojimoji...@yahoo.co.jp>: > > ステップ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としては動作してくれたようです。 -- もじもじ <mojimoji...@yahoo.co.jp>