以下、2015-04-15のサポートへの問い合わせより判明したこと
——————————————–
御社で提供しているLBは冗長化構成なのか。
→違う。
(ん?ハイパーバイザー配下でHA校正とうたっているのでは?LBは対象外なの?)
じゃあLB自体に障害があった際にはどうなる?
→配下ノードへの負荷分散以前に接続できなくなる。(keepalivedなどが動いているわけではない)
じゃあなぜIPが2つ付与されるのか?1つはメイン用でもう1つはスタンバイ用ではないのか?
→仕様上そうなっていて(1つはバーチャル用でもう1つが実IP)、もう1つがスタンバイ用というわけではない
じゃあLBをもう1つ作ってスタンバイ用にできるのか。
→LBをもう1つ作ることはできるが、死活監視する機能がない(ユーザ側で設定もできない)ので、スタンバイとしては機能しない。
では話は変わるが、LBのIPは増減できないのか?
→できない。
LBにローカルのNICおよびローカルIPは付与できないのか
→できない。決められたパブリックの仮想NICとパブリックIPが自動的に2つ付与される。じゃあWEBなどからローカル経由で複数のDBに負荷分散できないということか?
→できない。
では御社のLBはWEBなどの外部公開用サーバの負荷分散が前提ということか。
→そういうこと。
じゃあLAN内DBに負荷分散したいときは?
→LB用のVMを独自に立てていただく必要がある。
——————————————–
その後判明したこと
・仕様変更により仮想サーバ間のip forwarding(パケット転送)ができなくなった。
http://d.hatena.ne.jp/turkey_hate/20130416
・フェイルオーバー時、keepalivedによって、各サーバのネットワーク構成はスタンバイがプライマリに昇格となるが(ip add show で確認)、ブロードキャストが、切り替わった後の躯体のARPを返してくれない?もしくは返すがパケット転送規制によりMacアドレスを取得できない?
↓
・LAN内サーバから、スタンバイ機(この時プライマリ)のMacアドレスが取得できない?
※tcpdumpで確認。ずっと”who has ***.***.***.***? tell 接続元IP”を繰り返している。
※ちなみに接続元のサーバで、スタンバイ機のMacアドレスをARPコマンドで明示的に登録してもダメ。
↓
・よって独自のオートフェイルオーバー構成付きLAN内LBは立てられない?
・バランシングを目的としたLBだけ(冗長化構成無し)ならできる?←それなら理屈上オートフェイルオーバーもできるはずだが。。。
http://blog.code4u.org/archives/444
http://gmo1973.blogspot.jp/2013/01/blog-post_21.html
もしかしたら、ローカル側のパケット転送だけDROPしているのかも。
この件については引き続き調査中。