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

Back to archive index

稲垣 tadas****@gmail*****
2010年 2月 3日 (水) 11:20:51 JST


田沼様

お世話になります。
稲垣です。

/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