From tadashi.1027 @ gmail.com Tue Feb 2 10:50:01 2010 From: tadashi.1027 @ gmail.com (=?ISO-2022-JP?B?GyRCMHAzQBsoQg==?=) Date: Tue, 02 Feb 2010 10:50:01 +0900 Subject: [Ultramonkey-l7-users 290] =?iso-2022-jp?b?ZmFsbGJhY2sbJEJAX0RqJEskRCQkJEYbKEI=?= Message-ID: <4B6784C9.1050200@gmail.com> お世話になっております。 稲垣です。 ipvsadmコマンドで全リアルサーバ(HTTP)をメンテナンス状態にし、 fallbackサーバを表示させたいのですが、 /etc/ha.d/ldirectord.cfに記載したfallbackサーバが表示されません。 ipvsadm -lの状態はfallbackサーバを表示しております。 /etc/ha.d/ldirectord.cfの設定はHTTPのリアル設定をコメントしております。 /etc/httpd/conf/httpd.confのListenは81になっており、直にたたくと問題なく 表示されます。 # ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.31.207.10:http rr -> LB01:http Local 1 0 0 # cat /etc/ha.d/ldirectord.cf # Global Directives checktimeout=3 checkinterval=1 fallback=127.0.0.1:81 autoreload=no logfile="/var/log/ldirectord.log" #logfile="local0" #emailalert="admin @ x.y.z" #emailalertfreq=3600 #emailalertstatus=all quiescent=no # Sample for an http virtual service virtual=172.31.207.10:80 # real=172.31.206.1:80 masq 1 # real=172.31.206.2:80 masq 1 service=http request="index.html" # receive="Test Page" scheduler=rr # persistent=600 # netmask=255.255.255.255 # protocol=tcp checktype=negotiate 何か設定不備等ありますか? 以上、ご教授の程宜しくお願いします。 From tadashi.1027 @ gmail.com Tue Feb 2 10:57:48 2010 From: tadashi.1027 @ gmail.com (=?ISO-2022-JP?B?GyRCMHAzQBsoQg==?=) Date: Tue, 02 Feb 2010 10:57:48 +0900 Subject: [Ultramonkey-l7-users 291] =?iso-2022-jp?b?aXB2c2FkbRskQiUzJV4lcyVJJE4xP01RJEskRCQkJEYbKEI=?= Message-ID: <4B67869C.4040809@gmail.com> お世話になっております。 稲垣です。 /etc/ha.d/ldirecotord.cfファイルの設定をいじらずに ipvsadmコマンドでバーチャルサービス、リアルサービスの 有効無効を制御したいと考えております。 そういった場合は、バーチャルサービス、リアルサービスを 削除する方法がいいのでしょうか? それとも、バーチャルサービス、リアルサービスを残したまま 文字通り「有効・無効」に切り替えることはできるでしょうか? 以上、宜しくお願い致します。 From tanuma.kouhei @ nttcom.co.jp Tue Feb 2 11:40:08 2010 From: tanuma.kouhei @ nttcom.co.jp (Kohei TANUMA) Date: Tue, 02 Feb 2010 11:40:08 +0900 Subject: [Ultramonkey-l7-users 292] Re: =?iso-2022-jp?b?ZmFsbGJhY2sbJEJAX0RqJEskRCQkJEYbKEI=?= In-Reply-To: <4B6784C9.1050200@gmail.com> References: <4B6784C9.1050200@gmail.com> Message-ID: <4B679088.2000904@nttcom.co.jp> 稲垣さま 田沼と申します。 LVS についてはあまりわからないのですが、 ldirectord の動作を確認したところ fallback 行で forward 設定を省略すると gate として設定されるようです。 ldirectord.cf の fallback を以下のように変更してみてください。 fallback=127.0.0.1:81 masq 以上です。 2010/02/02 10:50, 稲垣 wrote: > お世話になっております。 > 稲垣です。 > > ipvsadmコマンドで全リアルサーバ(HTTP)をメンテナンス状態にし、 > fallbackサーバを表示させたいのですが、 > /etc/ha.d/ldirectord.cfに記載したfallbackサーバが表示されません。 > > ipvsadm -lの状態はfallbackサーバを表示しております。 > > /etc/ha.d/ldirectord.cfの設定はHTTPのリアル設定をコメントしております。 > /etc/httpd/conf/httpd.confのListenは81になっており、直にたたくと問題なく > 表示されます。 > > > # ipvsadm -l > IP Virtual Server version 1.2.1 (size=4096) > Prot LocalAddress:Port Scheduler Flags > -> RemoteAddress:Port Forward Weight ActiveConn InActConn > TCP 172.31.207.10:http rr > -> LB01:http Local 1 0 0 > > # cat /etc/ha.d/ldirectord.cf > > # Global Directives > checktimeout=3 > checkinterval=1 > fallback=127.0.0.1:81 > autoreload=no > logfile="/var/log/ldirectord.log" > #logfile="local0" > #emailalert="admin @ x.y.z" > #emailalertfreq=3600 > #emailalertstatus=all > quiescent=no > > # Sample for an http virtual service > virtual=172.31.207.10:80 > # real=172.31.206.1:80 masq 1 > # real=172.31.206.2:80 masq 1 > service=http > request="index.html" > # receive="Test Page" > scheduler=rr > # persistent=600 > # netmask=255.255.255.255 > # protocol=tcp > checktype=negotiate > > 何か設定不備等ありますか? > 以上、ご教授の程宜しくお願いします。 From tadashi.1027 @ gmail.com Tue Feb 2 11:55:28 2010 From: tadashi.1027 @ gmail.com (=?ISO-2022-JP?B?GyRCMHAzQBsoQg==?=) Date: Tue, 02 Feb 2010 11:55:28 +0900 Subject: [Ultramonkey-l7-users 293] Re: =?iso-2022-jp?b?ZmFsbGJhY2sbJEJAX0RqJEskRCQkJEYbKEI=?= In-Reply-To: <4B679088.2000904@nttcom.co.jp> References: <4B6784C9.1050200@gmail.com> <4B679088.2000904@nttcom.co.jp> Message-ID: <4B679420.2090407@gmail.com> 田沼様 お世話になっております。 稲垣です。 > fallback=127.0.0.1:81 masq > ご指摘の通りに設定しましたが、表示されません。 以上、宜しくお願い致します。 Kohei TANUMA さんは書きました: > 稲垣さま > > 田沼と申します。 > > LVS についてはあまりわからないのですが、 > ldirectord の動作を確認したところ fallback 行で > forward 設定を省略すると gate として設定されるようです。 > ldirectord.cf の fallback を以下のように変更してみてください。 > > fallback=127.0.0.1:81 masq > > 以上です。 > > > 2010/02/02 10:50, 稲垣 wrote: > >> お世話になっております。 >> 稲垣です。 >> >> ipvsadmコマンドで全リアルサーバ(HTTP)をメンテナンス状態にし、 >> fallbackサーバを表示させたいのですが、 >> /etc/ha.d/ldirectord.cfに記載したfallbackサーバが表示されません。 >> >> ipvsadm -lの状態はfallbackサーバを表示しております。 >> >> /etc/ha.d/ldirectord.cfの設定はHTTPのリアル設定をコメントしております。 >> /etc/httpd/conf/httpd.confのListenは81になっており、直にたたくと問題なく >> 表示されます。 >> >> >> # ipvsadm -l >> IP Virtual Server version 1.2.1 (size=4096) >> Prot LocalAddress:Port Scheduler Flags >> -> RemoteAddress:Port Forward Weight ActiveConn InActConn >> TCP 172.31.207.10:http rr >> -> LB01:http Local 1 0 0 >> >> # cat /etc/ha.d/ldirectord.cf >> >> # Global Directives >> checktimeout=3 >> checkinterval=1 >> fallback=127.0.0.1:81 >> autoreload=no >> logfile="/var/log/ldirectord.log" >> #logfile="local0" >> #emailalert="admin @ x.y.z" >> #emailalertfreq=3600 >> #emailalertstatus=all >> quiescent=no >> >> # Sample for an http virtual service >> virtual=172.31.207.10:80 >> # real=172.31.206.1:80 masq 1 >> # real=172.31.206.2:80 masq 1 >> service=http >> request="index.html" >> # receive="Test Page" >> scheduler=rr >> # persistent=600 >> # netmask=255.255.255.255 >> # protocol=tcp >> checktype=negotiate >> >> 何か設定不備等ありますか? >> 以上、ご教授の程宜しくお願いします。 >> > > > From tanuma.kouhei @ nttcom.co.jp Tue Feb 2 12:01:18 2010 From: tanuma.kouhei @ nttcom.co.jp (Kohei TANUMA) Date: Tue, 02 Feb 2010 12:01:18 +0900 Subject: [Ultramonkey-l7-users 294] Re: =?iso-2022-jp?b?aXB2c2FkbRskQiUzJV4lcyVJJE4xP01RJEskRCQkGyhC?= =?iso-2022-jp?b?GyRCJEYbKEI=?= In-Reply-To: <4B67869C.4040809@gmail.com> References: <4B67869C.4040809@gmail.com> Message-ID: <4B67957E.5020000@nttcom.co.jp> 稲垣さま 田沼です。 こちらについては要件にもよるかと思います。 削除と無効化ではサービス停止には変わりはないですが、 既存の接続をどのように扱うかが異なります。 バーチャルサービスやリアルサーバを削除した場合、 その際に接続しているクライアントが全て切断されますが、 リアルサーバを無効化した場合は、新規のクライアントのみが 接続できなくなり、無効化した際に接続しているクライアントは そのまま維持されます。 (接続したままのクライアント数は ipvsadm の ActiveConn の 数や ipvsadm -lc で確認できると思います) メンテナンス時など、とりあえず新規コネクションは止めて 既存コネクションがはけてからメンテナンスを行うなどの場合は 無効にする方法が有効かと思います。 無効化は以下のコマンドでリアルサーバの weight を 0 にする ことで実現されます。 ■ real が gate 設定の場合 ipvsadm -e -t VIRTUAL:PORT -r REAL:PORT -g -w 0 ■ real が masq 設定の場合 ipvsadm -e -t VIRTUAL:PORT -r REAL:PORT -m -w 0 詳細は man ipvsadm (-w, --weight のところ) をご確認ください。 以上です。 2010/02/02 10:57, 稲垣 wrote: > お世話になっております。 > 稲垣です。 > > /etc/ha.d/ldirecotord.cfファイルの設定をいじらずに > ipvsadmコマンドでバーチャルサービス、リアルサービスの > 有効無効を制御したいと考えております。 > > そういった場合は、バーチャルサービス、リアルサービスを > 削除する方法がいいのでしょうか? > > それとも、バーチャルサービス、リアルサービスを残したまま > 文字通り「有効・無効」に切り替えることはできるでしょうか? > > 以上、宜しくお願い致します。 From tanuma.kouhei @ nttcom.co.jp Tue Feb 2 12:05:45 2010 From: tanuma.kouhei @ nttcom.co.jp (Kohei TANUMA) Date: Tue, 02 Feb 2010 12:05:45 +0900 Subject: [Ultramonkey-l7-users 295] Re: =?iso-2022-jp?b?ZmFsbGJhY2sbJEJAX0RqJEskRCQkJEYbKEI=?= In-Reply-To: <4B679420.2090407@gmail.com> References: <4B6784C9.1050200@gmail.com> <4B679088.2000904@nttcom.co.jp> <4B679420.2090407@gmail.com> Message-ID: <4B679689.5000301@nttcom.co.jp> 稲垣さま 田沼です。 表示されないというのはページが表示されないという意味でしょうか? 先のメールの ipvsadm の結果では以下のように fallback サーバの ポートを 81 に設定しているにもかかわらずポートが 80 で 追加されているのが問題と考えました。 >>> TCP 172.31.207.10:http rr >>> -> LB01:http Local 1 0 0 masq を追加した後の ipvsadm -ln の結果を 確認させていただけますでしょうか。 2010/02/02 11:55, 稲垣 wrote: > 田沼様 > > お世話になっております。 > 稲垣です。 > >> fallback=127.0.0.1:81 masq >> > ご指摘の通りに設定しましたが、表示されません。 > > 以上、宜しくお願い致します。 > > > Kohei TANUMA さんは書きました: >> 稲垣さま >> >> 田沼と申します。 >> >> LVS についてはあまりわからないのですが、 >> ldirectord の動作を確認したところ fallback 行で >> forward 設定を省略すると gate として設定されるようです。 >> ldirectord.cf の fallback を以下のように変更してみてください。 >> >> fallback=127.0.0.1:81 masq >> >> 以上です。 >> >> >> 2010/02/02 10:50, 稲垣 wrote: >> >>> お世話になっております。 >>> 稲垣です。 >>> >>> ipvsadmコマンドで全リアルサーバ(HTTP)をメンテナンス状態にし、 >>> fallbackサーバを表示させたいのですが、 >>> /etc/ha.d/ldirectord.cfに記載したfallbackサーバが表示されません。 >>> >>> ipvsadm -lの状態はfallbackサーバを表示しております。 >>> >>> /etc/ha.d/ldirectord.cfの設定はHTTPのリアル設定をコメントしております。 >>> /etc/httpd/conf/httpd.confのListenは81になっており、直にたたくと問題なく >>> 表示されます。 >>> >>> >>> # ipvsadm -l >>> IP Virtual Server version 1.2.1 (size=4096) >>> Prot LocalAddress:Port Scheduler Flags >>> -> RemoteAddress:Port Forward Weight ActiveConn InActConn >>> TCP 172.31.207.10:http rr >>> -> LB01:http Local 1 0 0 >>> >>> # cat /etc/ha.d/ldirectord.cf >>> >>> # Global Directives >>> checktimeout=3 >>> checkinterval=1 >>> fallback=127.0.0.1:81 >>> autoreload=no >>> logfile="/var/log/ldirectord.log" >>> #logfile="local0" >>> #emailalert="admin @ x.y.z" >>> #emailalertfreq=3600 >>> #emailalertstatus=all >>> quiescent=no >>> >>> # Sample for an http virtual service >>> virtual=172.31.207.10:80 >>> # real=172.31.206.1:80 masq 1 >>> # real=172.31.206.2:80 masq 1 >>> service=http >>> request="index.html" >>> # receive="Test Page" >>> scheduler=rr >>> # persistent=600 >>> # netmask=255.255.255.255 >>> # protocol=tcp >>> checktype=negotiate >>> >>> 何か設定不備等ありますか? >>> 以上、ご教授の程宜しくお願いします。 From tadashi.1027 @ gmail.com Tue Feb 2 12:19:08 2010 From: tadashi.1027 @ gmail.com (=?ISO-2022-JP?B?GyRCMHAzQBsoQg==?=) Date: Tue, 02 Feb 2010 12:19:08 +0900 Subject: [Ultramonkey-l7-users 296] Re: =?iso-2022-jp?b?ZmFsbGJhY2sbJEJAX0RqJEskRCQkJEYbKEI=?= In-Reply-To: <4B679689.5000301@nttcom.co.jp> References: <4B6784C9.1050200@gmail.com> <4B679088.2000904@nttcom.co.jp> <4B679420.2090407@gmail.com> <4B679689.5000301@nttcom.co.jp> Message-ID: <4B6799AC.3080608@gmail.com> 田沼様 お世話になっております。 稲垣です。 コマンド結果は以下の通りです。 # ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.31.207.10:80 rr -> 127.0.0.1:81 Local 1 0 1 以上宜しくお願いします。 Kohei TANUMA さんは書きました: > 稲垣さま > > 田沼です。 > > 表示されないというのはページが表示されないという意味でしょうか? > 先のメールの ipvsadm の結果では以下のように fallback サーバの > ポートを 81 に設定しているにもかかわらずポートが 80 で > 追加されているのが問題と考えました。 > > >>>> TCP 172.31.207.10:http rr >>>> -> LB01:http Local 1 0 0 >>>> > > masq を追加した後の ipvsadm -ln の結果を > 確認させていただけますでしょうか。 > > > 2010/02/02 11:55, 稲垣 wrote: > >> 田沼様 >> >> お世話になっております。 >> 稲垣です。 >> >> >>> fallback=127.0.0.1:81 masq >>> >>> >> ご指摘の通りに設定しましたが、表示されません。 >> >> 以上、宜しくお願い致します。 >> >> >> Kohei TANUMA さんは書きました: >> >>> 稲垣さま >>> >>> 田沼と申します。 >>> >>> LVS についてはあまりわからないのですが、 >>> ldirectord の動作を確認したところ fallback 行で >>> forward 設定を省略すると gate として設定されるようです。 >>> ldirectord.cf の fallback を以下のように変更してみてください。 >>> >>> fallback=127.0.0.1:81 masq >>> >>> 以上です。 >>> >>> >>> 2010/02/02 10:50, 稲垣 wrote: >>> >>> >>>> お世話になっております。 >>>> 稲垣です。 >>>> >>>> ipvsadmコマンドで全リアルサーバ(HTTP)をメンテナンス状態にし、 >>>> fallbackサーバを表示させたいのですが、 >>>> /etc/ha.d/ldirectord.cfに記載したfallbackサーバが表示されません。 >>>> >>>> ipvsadm -lの状態はfallbackサーバを表示しております。 >>>> >>>> /etc/ha.d/ldirectord.cfの設定はHTTPのリアル設定をコメントしております。 >>>> /etc/httpd/conf/httpd.confのListenは81になっており、直にたたくと問題なく >>>> 表示されます。 >>>> >>>> >>>> # ipvsadm -l >>>> IP Virtual Server version 1.2.1 (size=4096) >>>> Prot LocalAddress:Port Scheduler Flags >>>> -> RemoteAddress:Port Forward Weight ActiveConn InActConn >>>> TCP 172.31.207.10:http rr >>>> -> LB01:http Local 1 0 0 >>>> >>>> # cat /etc/ha.d/ldirectord.cf >>>> >>>> # Global Directives >>>> checktimeout=3 >>>> checkinterval=1 >>>> fallback=127.0.0.1:81 >>>> autoreload=no >>>> logfile="/var/log/ldirectord.log" >>>> #logfile="local0" >>>> #emailalert="admin @ x.y.z" >>>> #emailalertfreq=3600 >>>> #emailalertstatus=all >>>> quiescent=no >>>> >>>> # Sample for an http virtual service >>>> virtual=172.31.207.10:80 >>>> # real=172.31.206.1:80 masq 1 >>>> # real=172.31.206.2:80 masq 1 >>>> service=http >>>> request="index.html" >>>> # receive="Test Page" >>>> scheduler=rr >>>> # persistent=600 >>>> # netmask=255.255.255.255 >>>> # protocol=tcp >>>> checktype=negotiate >>>> >>>> 何か設定不備等ありますか? >>>> 以上、ご教授の程宜しくお願いします。 >>>> > > > From tadashi.1027 @ gmail.com Tue Feb 2 12:24:15 2010 From: tadashi.1027 @ gmail.com (=?ISO-2022-JP?B?GyRCMHAzQBsoQg==?=) Date: Tue, 02 Feb 2010 12:24:15 +0900 Subject: [Ultramonkey-l7-users 297] Re: =?iso-2022-jp?b?aXB2c2FkbRskQiUzJV4lcyVJJE4xP01RJEskRCQkGyhC?= =?iso-2022-jp?b?GyRCJEYbKEI=?= In-Reply-To: <4B67957E.5020000@nttcom.co.jp> References: <4B67869C.4040809@gmail.com> <4B67957E.5020000@nttcom.co.jp> Message-ID: <4B679ADF.6040903@gmail.com> 田沼様 ご回答どうもありがとうございます。 weightを0にするやり方がよさそうですね。 つまり、バーチャルサービス丸ごと無効化したい場合は、 それに紐づく全てのリアルサービスのweightを0にしてやればよいということで しょうか? 以上、宜しくお願い致します。 Kohei TANUMA さんは書きました: > 稲垣さま > > 田沼です。 > > こちらについては要件にもよるかと思います。 > 削除と無効化ではサービス停止には変わりはないですが、 > 既存の接続をどのように扱うかが異なります。 > > バーチャルサービスやリアルサーバを削除した場合、 > その際に接続しているクライアントが全て切断されますが、 > リアルサーバを無効化した場合は、新規のクライアントのみが > 接続できなくなり、無効化した際に接続しているクライアントは > そのまま維持されます。 > (接続したままのクライアント数は ipvsadm の ActiveConn の > 数や ipvsadm -lc で確認できると思います) > メンテナンス時など、とりあえず新規コネクションは止めて > 既存コネクションがはけてからメンテナンスを行うなどの場合は > 無効にする方法が有効かと思います。 > > 無効化は以下のコマンドでリアルサーバの weight を 0 にする > ことで実現されます。 > > ■ real が gate 設定の場合 > ipvsadm -e -t VIRTUAL:PORT -r REAL:PORT -g -w 0 > > ■ real が masq 設定の場合 > ipvsadm -e -t VIRTUAL:PORT -r REAL:PORT -m -w 0 > > 詳細は man ipvsadm (-w, --weight のところ) をご確認ください。 > > 以上です。 > > > > 2010/02/02 10:57, 稲垣 wrote: > >> お世話になっております。 >> 稲垣です。 >> >> /etc/ha.d/ldirecotord.cfファイルの設定をいじらずに >> ipvsadmコマンドでバーチャルサービス、リアルサービスの >> 有効無効を制御したいと考えております。 >> >> そういった場合は、バーチャルサービス、リアルサービスを >> 削除する方法がいいのでしょうか? >> >> それとも、バーチャルサービス、リアルサービスを残したまま >> 文字通り「有効・無効」に切り替えることはできるでしょうか? >> >> 以上、宜しくお願い致します。 >> > > > From tanuma.kouhei @ nttcom.co.jp Tue Feb 2 14:49:29 2010 From: tanuma.kouhei @ nttcom.co.jp (Kohei TANUMA) Date: Tue, 02 Feb 2010 14:49:29 +0900 Subject: [Ultramonkey-l7-users 298] Re: =?iso-2022-jp?b?ZmFsbGJhY2sbJEJAX0RqJEskRCQkJEYbKEI=?= In-Reply-To: <4B6799AC.3080608@gmail.com> References: <4B6784C9.1050200@gmail.com> <4B679088.2000904@nttcom.co.jp> <4B679420.2090407@gmail.com> <4B679689.5000301@nttcom.co.jp> <4B6799AC.3080608@gmail.com> Message-ID: <4B67BCE9.6060301@nttcom.co.jp> 稲垣さま 田沼です。 LVS の理解が不足してるので間違っているかもしれませんが 私なりにわかったところまで回答します。 先に結論として、127.0.0.1 を real や fallback に指定する場合は バーチャルサービスと同一のポートで動かす必要があるのではないかと 思います。(つまり fallback 81 番ポートは無理) そのため、先程の私の masq を指定するというのは間違いのようです。 127.0.0.1 への振り分けはダイレクトにパケットが配送される ようで、バーチャルサービス宛(172.31.207.10:80宛) のパケットが 127.0.0.1:81 の Apache に飛ぶのでコネクションがリセットされて いるように見えます。 試しに、iptables で 80 宛を 81 宛に無理やり書き換えると、 Apache で正常に処理することができました。 iptables -t nat -A PREROUTING -i eth0 -p tcp -d 172.31.207.10 --dport 80 -j DNAT --to 172.31.207.10:81 ただし、これだと通常の real が使い物にならなくなるので却下…。 (上記 iptables の -A を -D で削除) 以下の設定で動作確認できました。 ■ ldirectord fallback = 127.0.0.1:80 virtual = 172.31.207.10:80 real = 172.31.206.1:80 masq 1 real = 172.31.206.2:80 masq 1 checktype = negotiate service = http request = "index.html" receive = "test" scheduler = rr protocol = tcp ■ 172.31.207.10 の Apache ... Listen 80 ... ■ ipvsadm -ln (real が正常な場合) IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.31.207.10:80 rr -> 172.31.206.1:80 Masq 1 0 0 -> 172.31.206.2:80 Masq 1 0 0 ■ ipvsadm -ln (real 全てが異常な場合 - index.html の test 文字を消す) IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.31.207.10:80 rr -> 127.0.0.1:80 Local 1 0 0 -> 172.31.206.1:80 Masq 0 0 0 -> 172.31.206.2:80 Masq 0 0 0 とりあえず上記で fallback の Apache のページが表示されました。 稲垣さんの設定の場合だと fallback のポートを 80 に設定し (masq も消して)172.31.207.10 のサーバで HTTPd を 80 ポートで 動かすように修正する必要があると思います。 ただし、間違いがあるかもしれませんので、他の識者の方々つっこみ お願いします。 以上です。 2010/02/02 12:19, 稲垣 wrote: > 田沼様 > > お世話になっております。 > 稲垣です。 > > コマンド結果は以下の通りです。 > # ipvsadm -ln > IP Virtual Server version 1.2.1 (size=4096) > Prot LocalAddress:Port Scheduler Flags > -> RemoteAddress:Port Forward Weight ActiveConn InActConn > TCP 172.31.207.10:80 rr > -> 127.0.0.1:81 Local 1 0 1 > > 以上宜しくお願いします。 > > Kohei TANUMA さんは書きました: >> 稲垣さま >> >> 田沼です。 >> >> 表示されないというのはページが表示されないという意味でしょうか? >> 先のメールの ipvsadm の結果では以下のように fallback サーバの >> ポートを 81 に設定しているにもかかわらずポートが 80 で >> 追加されているのが問題と考えました。 >> >> >>>>> TCP 172.31.207.10:http rr >>>>> -> LB01:http Local 1 0 0 >>>>> >> masq を追加した後の ipvsadm -ln の結果を >> 確認させていただけますでしょうか。 >> >> >> 2010/02/02 11:55, 稲垣 wrote: >> >>> 田沼様 >>> >>> お世話になっております。 >>> 稲垣です。 >>> >>> >>>> fallback=127.0.0.1:81 masq >>>> >>>> >>> ご指摘の通りに設定しましたが、表示されません。 >>> >>> 以上、宜しくお願い致します。 >>> >>> >>> Kohei TANUMA さんは書きました: >>> >>>> 稲垣さま >>>> >>>> 田沼と申します。 >>>> >>>> LVS についてはあまりわからないのですが、 >>>> ldirectord の動作を確認したところ fallback 行で >>>> forward 設定を省略すると gate として設定されるようです。 >>>> ldirectord.cf の fallback を以下のように変更してみてください。 >>>> >>>> fallback=127.0.0.1:81 masq >>>> >>>> 以上です。 >>>> >>>> >>>> 2010/02/02 10:50, 稲垣 wrote: >>>> >>>> >>>>> お世話になっております。 >>>>> 稲垣です。 >>>>> >>>>> ipvsadmコマンドで全リアルサーバ(HTTP)をメンテナンス状態にし、 >>>>> fallbackサーバを表示させたいのですが、 >>>>> /etc/ha.d/ldirectord.cfに記載したfallbackサーバが表示されません。 >>>>> >>>>> ipvsadm -lの状態はfallbackサーバを表示しております。 >>>>> >>>>> /etc/ha.d/ldirectord.cfの設定はHTTPのリアル設定をコメントしております。 >>>>> /etc/httpd/conf/httpd.confのListenは81になっており、直にたたくと問題なく >>>>> 表示されます。 >>>>> >>>>> >>>>> # ipvsadm -l >>>>> IP Virtual Server version 1.2.1 (size=4096) >>>>> Prot LocalAddress:Port Scheduler Flags >>>>> -> RemoteAddress:Port Forward Weight ActiveConn InActConn >>>>> TCP 172.31.207.10:http rr >>>>> -> LB01:http Local 1 0 0 >>>>> >>>>> # cat /etc/ha.d/ldirectord.cf >>>>> >>>>> # Global Directives >>>>> checktimeout=3 >>>>> checkinterval=1 >>>>> fallback=127.0.0.1:81 >>>>> autoreload=no >>>>> logfile="/var/log/ldirectord.log" >>>>> #logfile="local0" >>>>> #emailalert="admin @ x.y.z" >>>>> #emailalertfreq=3600 >>>>> #emailalertstatus=all >>>>> quiescent=no >>>>> >>>>> # Sample for an http virtual service >>>>> virtual=172.31.207.10:80 >>>>> # real=172.31.206.1:80 masq 1 >>>>> # real=172.31.206.2:80 masq 1 >>>>> service=http >>>>> request="index.html" >>>>> # receive="Test Page" >>>>> scheduler=rr >>>>> # persistent=600 >>>>> # netmask=255.255.255.255 >>>>> # protocol=tcp >>>>> checktype=negotiate >>>>> >>>>> 何か設定不備等ありますか? >>>>> 以上、ご教授の程宜しくお願いします。 >>>>> From d.calpon @ gmail.com Tue Feb 2 18:26:01 2010 From: d.calpon @ gmail.com (cal darc) Date: Tue, 2 Feb 2010 18:26:01 +0900 Subject: [Ultramonkey-l7-users 299] Re: =?iso-2022-jp?b?W1VsdHJhbW9ua2V5LXVzZXJzIDE1Nl0gGyRCRjEbKEI=?= =?iso-2022-jp?b?GyRCMGwlNSE8JVA+ZSROJV0hPCVISkwlIiVRJUMlQUosGyhC?= =?iso-2022-jp?b?GyRCOzYkSzRYJDckRhsoQg==?= In-Reply-To: <4B668D0C.7000304@nttcom.co.jp> References: <3b7460bc1001172356v192c4292rf681f3fbef760ca6@mail.gmail.com> <20100131.101032.625859878980777572.kt@wheel.jp> <4B668D0C.7000304@nttcom.co.jp> Message-ID: <3b7460bc1002020126y37cbbf26s8b8a818bed21599d@mail.gmail.com> 田沼様 立石様 お世話になっております。かるです。 まさに/user/test.htmlでのアクセスで、 ブラウザでのリロードで行っております。 デーモン立ち上げ後、初回アクセスから/user/test.htmlへのアクセスが 80にいくこともありますし、20回ほどリロードした際にようやく80にいくこともありました。 また、ご指摘の通りアクセスログをみましても、80のログには、/user/test.htmlへのアクセスが残っております。 また大変恐縮ですが、立石様には個別にご返信させて頂いたのですが、 ultramonkey-userへの投稿時から現在までの間に、 netscaler vpx, pound + lvsを調査し、後者の方で行くことと相成りました。。 この度はご返信いただき、有難うございました。 2010年2月1日17:13 Kohei TANUMA : > かるさん > > 田沼と申します。 > > 同様の構成、設定で確認しましたが、再現させることができません。 > > 以下は、同一サーバ内で Apache をポート別で 2 つ起動し、 > 別のサーバから ab で /user/test.html へアクセスした際の > 振り分け状態です。 > > (TEST-L7)# l7vsadm -K -n > Layer-7 Virtual Server version 2.1.3-0 > Prot LocalAddress:Port ProtoMod Scheduler Reschedule Protomod_key_string > -> RemoteAddress:Port Forward Weight ActiveConn InactConn > TCP 192.168.100.100:80 url rr 0 --uri-pattern-match /user/.+html > -> 192.168.100.101:8080 Masq 1 0 0 > TCP 192.168.100.100:80 sessionless rr 1 > -> 192.168.100.101:80 Masq 1 0 0 > > (CLIENT)# ab -c 100 -n 10000 http://192.168.100.100/user/test.html > > (TEST-L7)# l7vsadm -K -n > Layer-7 Virtual Server version 2.1.3-0 > Prot LocalAddress:Port ProtoMod Scheduler Reschedule Protomod_key_string > -> RemoteAddress:Port Forward Weight ActiveConn InactConn > TCP 192.168.100.100:80 url rr 0 --uri-pattern-match /user/.+html > -> 192.168.100.101:8080 Masq 1 0 10000 > TCP 192.168.100.100:80 sessionless rr 1 > -> 192.168.100.101:80 Masq 1 0 0 > > 上記の通り、全て 8080 側に振り分けています。 > > 「たまに」の際の URL は他の場合と同じでしょうか。 > (つまりブラウザのリロードで、たまに 80 側に振られる?) > > 別 IP に分けるとうまくいくということですので違う可能性が高いですが > 考えられるのは、/user/xxx.css や /user/xxx.js、/user/ などの > 振り分けパターンに当てはまらないもの(htmlという文字が含まれない)が > 80 側に振られているのではないかという点ですがいかがでしょうか。 > > 80 と 8080 で Apache のアクセスログを分けている場合は、 > 80 側のアクセスログに /user/xxx/xxx.html 等のパターンにマッチするログが > 本当に存在しているか確認してみてください。 > > > > 2010/01/31 10:10, TATEISHI Katsuyuki wrote: >> かるさま、 >> 立石と申します。こんにちは。 >> >> ultramonkey-users @ lists.sourceforge.jp は UltraMonkey (L7がつ >> かないほう)のメーリングリストなので、 UltraMonkey-L7 の話題は >> ultramonkey-l7-users @ lists.sourceforge.jp に送ったほうがいい >> です。 >> # まぎらわしいですよね・・・ >> >> とりあえずこのメールから ultramonkey-l7-users のほうに Cc し >> ますので、内容に付いてはそちらで。 >> >> 私がお力になれるかどうかわかりませんが、少なくとも分かる人が >> いる可能性が高いと思いますので。 >> >> From: cal darc >> Subject: [Ultramonkey-users 156] 同一サーバ上のポート別アパッチ分散に関して >> Date: Mon, 18 Jan 2010 16:56:26 +0900 >> >>> 初投稿させて頂きます。かると申します。 >>> >>> ■ネットワーク構成 >>> 192.168.1.158 (ホスト名TEST-L7: Ultramonkey installed) >>> | >>> ______________ >>> | | >>> 192.168.1.157:80 192.168.1.157:8080 >>> >>> ■目的 >>> 192.168.1.157サーバ上に2つのApacheをそれぞれ80と8080で立ち上げ、 >>> http://xxx/user/yyy.htmlというURLでアクセスがきた場合に、8080の方に送り、 >>> それ以外の場合、80の方に送りたい。 >>> >>> ■ログ >>> 2010/01/18 16:47:25 [INFO] l7vsd_network VSD20010342 [[AccessLog] >>> (SRC)192.168.1.20:50761 -> (DST)192.168.1.157:8080 ] TEST-L7 >>> 0x2b6d46e8af60 conn.c:3238 >>> 2010/01/18 16:47:35 [INFO] l7vsd_network VSD20010342 [[AccessLog] >>> (SRC)192.168.1.20:50767 -> (DST)192.168.1.157:8080 ] TEST-L7 >>> 0x2b6d46e8af60 conn.c:3238 >>> 2010/01/18 16:47:48 [INFO] l7vsd_network VSD20010342 [[AccessLog] >>> (SRC)192.168.1.20:50773 -> (DST)192.168.1.157:8080 ] TEST-L7 >>> 0x2b6d46e8af60 conn.c:3238 >>> 2010/01/18 16:47:51 [INFO] l7vsd_network VSD20010342 [[AccessLog] >>> (SRC)192.168.1.20:50774 -> (DST)192.168.1.157:80 ] TEST-L7 >>> 0x2b6d46e8af60 conn.c:3238 >>> ↑※何回かアクセスすると、何故か80に行く。。 >>> >>> ■問題 >>> 同一サーバ上にポート別でアパッチを立ち上げ、リダイレクトさせようとした場合、 >>> 8080の方へ行くべきアクセスが、「たまに」80の方へ行く。 >>> >>> ■l7directord.confの中身 >>> virtual = 192.168.1.158:http >>> real = 192.168.1.157:8080 masq 1 >>> module = url --uri-pattern-match '/user/.+html' >>> scheduler = rr >>> # sorryserver = 192.168.1.157:8080 >>> maxconn = 1000 >>> qosup = 100M >>> qosdown = 100M >>> checktype = on >>> service = http >>> request = "index.html" >>> receive = "html" >>> quiescent = no >>> checkcount = 2 >>> #realdowncallback = /opt/down.sh >>> #realrecovercallback = /opt/recover.sh >>> #customcheck = ping -c1 -w1 _IP_ >>> >>> >>> virtual = 192.168.1.158:http >>> real = 192.168.1.157:http masq 1 >>> module = sessionless >>> scheduler = rr >>> # sorryserver = 192.168.1.157:8080 >>> maxconn = 1000 >>> qosup = 100M >>> qosdown = 100M >>> checktype = on >>> service = http >>> request = "index.html" >>> receive = "html" >>> quiescent = no >>> checkcount = 2 >>> #realdowncallback = /opt/down.sh >>> #realrecovercallback = /opt/recover.sh >>> #customcheck = ping -c1 -w1 _IP_ >>> >>> 80と8080でそれぞれ別IPですと、上手くいくようです。。 >>> 大変お手数ですがご教示の程、宜しくお願いいたします。 > >