web-dev-qa-db-ja.com

安価で信頼性の高い高可用性ソリューション?

サーバーの1つ(Apache/MySQL/Virtualminセットアップ)の信頼性を向上させる方法を探しています。これまでのところ、過去6か月間(DNS障害、DDOS、Dom0障害、ネットワーク停止、DomU障害、…;良い2日目に一度に)、そのサーバーであらゆる種類のクラスターファックが発生しました。 1日も経たないうちに、それはまだ心配です。そのホストには約50の顧客Webサイトがあり、サーバーがダウンするたびにそれらは私たちの喉に届きます(サーバーの可用性は、契約上保証されている99%を超えていますが、まあ…あなたサーバーがダウンタイムを起こしたのは、360日ではなく、5回だったことを思い出してください)。

これまでの計画:

  1. DNSサーバーのバックアップ(それほど問題にはならないはずです)
  2. サーバー自体の高可用性セットアップ。ここでの問題は、セカンダリホストへのデータ複製です。

ホストは異なる(Hetzner、btw。)データセンターにあるため、帯域幅はかなり制限され(100 MBitアップリンク、実際のユーザー用に少なくともある程度の帯域幅が残っているはずです…)、データ暗号化は多かれ少なかれ固定要件が少ない。

DRBD自体はWAN経由で拡張性が低く、暗号化も提供しません。 DRBDプロキシは帯域幅の問題を解決すると主張していますが(私が見る限り、暗号化の問題は解決していません)、私が読んだものからすると単純に高すぎます。年間5,000ドルは多すぎます(それは何よりも多いと確信しています)そのサーバーで収益を上げています)。

一方、私の個人的な経験から、OpenVPN/SSHトンネルは、不要なフェイルオーバーをトリガーする誤ったアラートが発生しないことを保証するのに十分な信頼性がありません(オーバーヘッドがハードディスクのパフォーマンスをさらに低下させることを気にしないでください)。

だから...どのような選択肢がありますか?それとも私は単に何かを見落としているのですか?

編集:明確にするために、ファイルシステム/ブロックデバイスレベルでのレプリケーションをお勧めします。アプリケーションレベルのレプリケーションは可能ですが、アプリケーションごとに1つではなく、1つのレプリケーションソリューションを実行したいと思います。

2
Creshal

DRBDレプリケーションでやや立ち往生しているようです。これはあなたのニーズに合わないからだと思います。ブロックデバイスを複製し、帯域幅を大量に消費します(ただし、リンク圧縮によってかなり軽減される可能性があります)。データベースの場合は MySQLレプリケーションメカニズム 、ファイルシステムの場合は lsyncd のように、より高いレベルでのレプリケーションに満足できないかどうかを確認してください。

linux-ha プロジェクトのものと一緒に接着したり、監視と組み合わせて半自動または手動のフェイルオーバーメカニズムを設定したりするのは確かに少し手間がかかりますが、長期的には必要なものが得られるはずです。 。

もちろん、トラフィックには暗号化されたトンネルが必要ですが、OpenVPNの使用に消極的であるとは理解していません。トンネルはバックアップ/スタンバイシステムのためだけにあり、証人がいるためです。自動フェイルオーバーを使用したHAセットアップ)またはトンネルの存在から独立した監視システム(監視を使用したセットアップ)では、トンネルの停止時にフェイルオーバーは発生せず、停止時にトンネルを修正するためのアラームを取得するだけです(もちろん必要です。そうしないと、最新のスタンバイシステムにフェイルオーバーする機能が失われます。

4
the-wabbit