- ベストアンサー
サーバーの切り替え
よくわからないので教えてください。 メインとサブの2台のWEBサーバーがあります。 メインが落ちたときにサブに切り替えたいのですがよくわかりません。 HeartBeatというのを使えばそれが実現できるのでしょうか? また、DB(MySQL)の切り替えはどうするのでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
どの程度クリティカルか、によります。 1秒も無駄にできない、確実にサービスを継続させたい、ということであれば、ルータからスイッチから機材すべてをフルメッシュで構築し、ロードバランサーで複数のwebサーバを自動的に切り替える方法が現在最も用いられている方法です。この場合は普通DBは別の複数台のマシンに構築してあり、レプリケーションされているのが普通です(ただしこの辺はアプリケーションの作りにもよりますので一概には言えませんが)。 最も簡単な例では、DNSサーバのTTLをたとえば60秒にしておき、一定時間ごとにwebサーバの死活監視を行い障害時にはゾーンファイルを書き換えて再読み込みをする、というスクリプトを動かすとか。 もちろんHeartBeatを使用する方法もありますし、他にもいくつか方法は考えられますが、どれが適切かはクリティカル度や予算、信頼性、スキル、アプリケーションの仕様など様々な条件を考える必要があるので一概には言えません。 なおDBの件ですが、それぞれのwebサーバに個別にDBがあるということだと思いますが、MySQLの場合は簡単にレプリケーション構成をとれるのでデータの同期は問題ありません。ただし切り替えはある程度手動なりスクリプトを書くなりが必要になるかもしれません。 最初にも書きましたが、webサーバだけを冗長化してもその他の経路・サービスに単一障害点があれば冗長化としては不完全です。あらゆる事態を想定し、どこまで予算を割くべきサービスなのかをよく考えて構成してください。
その他の回答 (2)
- pakuti
- ベストアンサー率50% (317/631)
HeartBeatで運用経験がありますがあまり出来の良いソフトとは言えません。 高負荷状態で、システムが応答できない場合に自動で再起動をかける ようにしていましたが、処理が甘いらしく システムが壊れて復旧不能になった事が2回ほどありました。 (LifeKeeperでも同様の経験があり) heartbeatは設定になれるまで苦労するかと思われます。 予算を計上出来るのであれば、商用パッケージを利用する方が良いかと思います。 参考情報 UrtlaMonky http://ultramonkey-l7.sourceforge.jp/?q=node/1 MySQL冗長 http://itpro.nikkeibp.co.jp/members/ITPro/oss/20040524/2/ http://techblog.yahoo.co.jp/cat207/db/mysql_failover/
- foitec
- ベストアンサー率43% (1080/2457)
>メインが落ちたときにサブに切り替えたい 即時に切替えるとなるとかなりのコストが要求されます。 >HeartBeatというのを使えばそれが実現できるのでしょうか 両サーバをフェイルオーバークラスタとして稼動させる必要があります。 http://www.atmarkit.co.jp/flinux/rensai/cluster01/cluster01.html HeartBeatそのも野に起因する問題も考えておく必要があります。 HertBeat検出に頼らず障害発生時に手動でサーバーを切替える方法もありますが・・ 方法やハードウエア、ソフトウエアなどは多数あり、復旧時間もそれにより異なります。 http://techtarget.itmedia.co.jp/tt/news/0810/22/news01.html