[Ultramonkey-l7-users 308] Re: fallback設定について

Back to archive index

Kohei TANUMA tanum****@nttco*****
2010年 2月 3日 (水) 14:39:07 JST


稲垣さま

田沼です。

こちらでは正常な動作を確認できました。
以下についてご確認ください。

・LB サーバ(172.31.208.181)に mod_ssl 等の HTTPS を処理する
  モジュールがインストールされているか
・HTTPS で使うサーバ証明書が LB サーバとリアルサーバで同じものを
  使っているか(ブラウザによってエラーになります)


2010/02/03 13:58, 稲垣 wrote:
> 田沼様
> 
> お世話になります。
> 稲垣です。
> 
> リアルサーバのhttpdを停止したらfallbackのあて先が表示されました。
> ただ、httpsの方がfallbackに同じ宛先を指定しているのですが表示されません。
> 
> 「プロキシサーバへの接続を拒否されました。」
> がブラウザに表示されます。
> 
> 以上、宜しくお願いします。
> 
> Kohei TANUMA さんは書きました:
>> 稲垣さま
>>
>> 田沼です。
>>
>> fallback は実際のリアルサーバが全て異常と判断された際の
>> 代替サーバになりますので、リアルサーバが正常な場合は
>> 追加されない仕様のはずです。
>>
>> リアルサーバの監視は ldirectord の checktype や service 設定に
>> 従いますので、例えば、checktype = negotiate, service = http の
>> 場合は、192.168.1.1, 192.168.1.2 の Apache 等を停止した際に
>> fallback 設定の 127.0.0.1:80 が自動的に追加されるはずです。
>> checktype = ping の場合は、ケーブルを抜く、インタフェースを
>> down させるなどして ping がリアルサーバに届かない状態にして
>> みてください。
>> checktype = on の場合は、常にリアルサーバが正常と判断されるため
>> fallback は追加されないと思います。
>>
>> 以上、宜しくお願い致します。
>>
>>
>> 2010/02/03 11:20, 稲垣 wrote:
>>   
>>> 田沼様
>>>
>>> お世話になります。
>>> 稲垣です。
>>>
>>> /etc/ha.d/ldirectord.cfに127.0.0.1:80を追加しましたが、
>>> fallbackの設定が追加されなくなりました。
>>>
>>> # 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.208.181:https rr
>>> -> 192.168.1.1:https Masq 1 0 0
>>> -> 192.168.1.2:https Masq 1 0 0
>>> TCP 172.31.208.181:http rr
>>> -> 192.168.1.2:http Masq 1 0 1
>>> -> 192.168.1.1:http Masq 1 0 1
>>>
>>> なんででしょうか?
>>>
>>> 以上、宜しくお願い致します。
>>>
>>>
>>> Kohei TANUMA さんは書きました:
>>>     
>>>> 稲垣さま
>>>>
>>>> 田沼です。
>>>>
>>>> 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*****"
>>>>>>>>> #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
>>>>>>>>>
>>>>>>>>> 何か設定不備等ありますか?
>>>>>>>>> 以上、ご教授の程宜しくお願いします。
>>>>>>>>>                 





Ultramonkey-l7-users メーリングリストの案内
Back to archive index