sidetech

インフラエンジニアの寄り道メモ。

RackTablesでVRRPのIPを振る方法

梅雨にもどったんかいっ・・・というぐらい各地で大雨ですね。あ、関東だけでしたっけ?
まぁ暑すぎたり、雨降り過ぎたりとかで、平均しちゃうとアレ?みたいなことになるんですかね。アベレージは時に判断を見誤るんでご注意を。

さて本題。
RacktTablesって、なんでかどっかで少し残念な動きになっていて、採用しきれなかったりする場合があるんじゃないかと思います。結構カスタマイズも出来る様になってきているんですが、アップデートの頻度の遅さと、アップデートする度に結構ソースが変わっちゃっていたりして、ソースを改造して使っている人も悲鳴もんですよね。

で、今回はソース改造っす(すんません)。

IPを扱う時に、VIPの場合はTypeを「Shared」とすることでIP重複利用のアラートを回避し管理する事が出来ますが、VRRPのようなVIPでもありルーターIPでもある場合は如何すればよいでしょうか。

Racktablesvrrp00
typeをRouterにすると以下の様に怒られます。
Racktablevrrp01
このまま赤いエラーの状態は気持ち悪いし、管理衛生上も良くないですね。

私が利用しているRackTablesバージョンは「0.20.10」なので、それ以前のソースについては全く保証が出来ませんが、以下のファイルソースを書き換えると、この悩みが解消されます。

【RackTable/inc】内にあるfunctions.phpを編集します。

編集箇所は以下の行を探してください。
『 if ($nallocs > 1 && $nallocs != $refc['shared'] || $nallocs && $nreserved) 』

この行を以下の赤文字部分を追加します。
『 if ($nallocs > 1 && $nallocs !=$refc['router'] && $nallocs != $refc['shared'] || $nallocs && $nreserved) 』

こんだけです。エラー除外判定にsharedだけでなくrouterも追加している感じです。

Racktablevrrp02

という事で、忌まわしい赤帯が消えました[E:happy02]

ただ、アラートっをしないようにぶっ飛ばしただけなので、RouterIPのバッティングしやすくなります。ご注意を~[E:coldsweats01]

また、こういった情報はですね・・・バグトラッカーに出ていたりします。
有用そうなものはご紹介していこうと思いますが、待てない人は

https://bugs.racktables.org/view.php?id=1187

自分で読んで使いやすくしてみてください。
機能がない・対応していない・・・というのは、もしかすると

ほんのちょっとの工夫で出来たりするかもしれない。