• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レンタルサーバーを自動的に障害復旧させる方法)

レンタルサーバーの障害復旧方法と冗長性の確保

このQ&Aのポイント
  • Linux系のレンタルサーバーにおいて、メインのサーバーに障害が発生した場合でも予備のサーバーへ自動的に切り替える方法を探しています。
  • 現在の仕様では手動で切り替える必要があり、時間もかかってしまうため、障害復旧には課題があります。
  • 冗長性を確保するために、共用サーバーや専用サーバーの利用方法やバックアップソフトの選定についてアドバイスをいただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

MySQLのレプリケーションを使えればデータ不整合はかなり防げると思います。が、マスターが消失した場合の運用(DB更新など)を考える必要があるかもしれませんし、共用サーバでは無理と思います。たぶん。 障害時の自動切換えについては、例えば5分ごとにpingやhttpポートに接続する監視スクリプトを動かし、異常があった場合はDNSのゾーンを書き換えるとかが考えられますが、ダウンタイムを短くするにはTTLを短くする必要があり、アクセスの多いサイトだとDNSにも負担がかかる可能性があります。 お金をかけない方法はいろいろ考えられますが、突き詰めて考えるとNo1の方も仰るとおり結局どこかで妥協を迫られます。 例えば上記DNSの仕組みも、「じゃあDNSサーバのトラブル時はどうするのよ」とか。 私の構築したシステムの一例ですが、Webサーバの裏にMySQLサーバが2台あり、別のMySQLサーバ(更新管理用マスター)のスレーブになっています。Webサーバは通常スレーブの1台のみに接続していますが、こちらに異常があるともう一台のスレーブに自動的に接続先を切り替えます。これはWebサーバからスクリプトでSQL接続を試行し、異常があるとhostsを書き換えることで実現してます。 (実際にはWebサーバも2台、その上にバランサーが2台、WebサーバとMySQLサーバの間もスイッチ2台+bondingで冗長化されています) HAてのは金がかかりますよねぇ・・・

nyaridon
質問者

お礼

ご丁寧な回答に感謝します。レプリケーションについては検討したのですが、下記にもあるように自動切換えでないために断念しておりました。 「残念ながら、マスタの切り替えを自動で行う機能はMySQL本体には実装されていません(注1)ので、切り替え処理は手動で行うか、切り替えプログラムを自作する必要があります。 とはいえ、バックアップをレストアして復旧する方法に比べれば、かなり短い時間で復旧できるはずです。」 http://www.irori.org/doc/mysql-rep.html lowrider_2005様はそのあたりをスクリプトで自動化なさったわけですね。構築システムの例は大変、参考になりました。ありがとうございます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

高価なシステムと言うのは高い信頼性を保証するための ものです。 質問者さんはおっしゃっていることが中途半端です。 手間も金は掛けたくないが、信頼性はべらぼうに 高めたいというのは理屈に合いません。 ソレほどまでに障害への対応が必要ならMySQLを 選択するコト自体が正しくないでしょう。 リアルタイムにシンクロを取れる仕組みを探して ください。 一応対策テキなはなしでは・・・ 冗長性と言うイミでは、ミドルウェアレベルで、 更新をマルチにおこなうシステムが有効かも しれません。

nyaridon
質問者

お礼

仰るとおりかと思います。ご指摘の「リアルタイムにシンクロを取れる仕組み」については、現状ではお金をかけるしかないということなのですね。

関連するQ&A