KVM を使用して複数の仮想マシンを実行するサーバーがあります。正常に動作しているものの、その 1 台の物理サーバーでハードウェア障害が発生する可能性が心配です。
私たちは毎晩別の物理サーバーにバックアップを取っていますが、バックアップの復元には時間がかかります。システム全体が故障した場合、数時間のダウンタイムが発生します。
メイン サーバーに何らかの障害が発生した場合に切り替えられるフェイルオーバー システム (別の物理サーバー) を用意したいと考えています。
これに関していくつか質問があります:
- フェイルオーバー システムをメイン システムのミラーリングにするにはどうすればよいでしょうか。単一のハードウェア障害によってすべてが停止することがないように、異なる物理マシンを使用する必要があります。ネットワーク経由の RAID 1 のようなソフトウェアはありますか。これは何らかの形で負荷分散に関連していますか。
- メインマシンが応答しない場合、フェイルオーバーマシンにリクエストをどのように送信しますか? 時間どおりに応答しない場合は、定期的に ping を実行して DNS 情報を更新する必要がありますか?
- 仮想マシン レベルで機能するものがあれば素晴らしいでしょう。つまり、単一の仮想マシンがダウンした場合、その仮想マシンへの要求はフェイルオーバー システムのコピーに転送されるはずです。
答え1
あなたのシナリオに最適なソリューションの 1 つは、DRBD+Heartbeat です。DRBD は、サーバー間でディスク/パーティション/LV をリアルタイムで複製します。これは、I/O が多いサーバーには推奨されませんが、小規模および中規模の環境では非常にうまく機能します。
ドキュメントは非常に優れています。サイトをご覧ください。「DRBD 対応アプリケーション」というセクションがあり、例とすぐに使用できるソリューションが紹介されています。「Xen を DRBD と共に使用する」をベースとして使用し、KVM に適応させることができます。
私はこのソリューションを採用したサーバーを多数所有しており、完璧に動作しています。