前提と問題
LVS keepalived で DSR のロードバランシングを行っています。
上図のように apache, mysql(クラスタリング) を同居させたリアルサーバが2台あり、冗長化しています。
ブラウザからは http://192.168.1.5/ にアクセスすることでapacheへのアクセスがロードバランシングされ、apache からは mysql://192.168.1.5/ にアクセスすることにより、mysql接続がロードバランシングされます。
この冗長化により、いずれかのサーバがダウンしても稼働を継続させることができます。
問題としては、上図の 192.168.1.4 から VIPである 192.168.1.5 に対してアクセスを行った場合、192.168.1.4 自身が自分でパケットを受け取り処理していまうことです。
具体的な例
例えば、 192.168.1.4 の apache は生きているが、mysql がダウンした場合、 192.168.1.4 の apache から VIPである 192.168.1.5 に対してアクセスしますが、そのパケットを 192.168.1.4 自身が受け取り、処理しようとしてしまいます。
当然、 192.168.1.4 の mysql はダウンしているため、応答しません。
片系の mysql のみがダウンした場合でもサービスを継続できるような方法がありましたら教えてください。
お力をお貸しいただければ幸いです。

回答2件
あなたの回答
tips
プレビュー