第5章 3 つのアベイラビリティーゾーン向けの一般的なストレッチクラスター設定
ストレージ管理者は、Ceph OSD を使用して 3 つのアベイラビリティーゾーンに対して一般的なストレッチクラスター設定を行うことができます。
Ceph は、ネットワークとクラスターが同等に信頼性が高く、障害が CRUSH マップ全体にランダムに分散しているため、Ceph OSD の損失にも耐えることができます。多くの OSD がシャットダウンされた場合でも、残りの OSD とモニターは引き続き動作します。
単一のクラスターを使用すると、データの可用性は単一障害点のある単一のロケーションに制限されます。ただし、状況によっては、より高い可用性が必要になる場合があります。3 つのアベイラビリティーゾーンを使用することで、クラスターは停電や、自然災害が発生した場合のデータセンター全体の損失にも耐えることができます。
3 つのアベイラビリティーゾーンの一般的なストレッチクラスター設定では、3 つのデータセンターがサポートされ、各サイトにはデータのコピーが 2 つ保持されます。これにより、データセンターが停止した場合でも、別のサイトからデータにアクセスして書き込むことができます。この設定では、プールのレプリケーションサイズは 6
、プールの min_size
は 3
になります。
標準の Ceph 設定は、ネットワークまたはデータセンターの多くの障害に耐え、データの一貫性を損なうことはありません。障害後に十分な数の Ceph サーバーを復元すると、回復します。Ceph は、データセンターを失った場合も、可用性を維持しますが、モニターの定足数を形成し、プールの min_size
を満たすために十分なコピー、またはサイズを満たすために再度複製する CRUSH ルールで、すべてのデータを利用可能にすることができます。
5.1. 一般的なストレッチクラスターのデプロイメントの制限
一般的なストレッチクラスターを使用する場合は、次の制限を考慮する必要があります。
- 3 つのアベイラビリティーゾーンの一般的なストレッチクラスター設定では、2 つ以上のゾーン間のネットスプリットシナリオ中の I/O 操作はサポートされません。基本的な Ceph コマンドではクラスターに引き続きアクセスできますが、ネットスプリットが解決されるまで I/O は使用できなくなります。これは、タイブレーカーモニターがクラスターの 1 つのゾーンを分離し、ネットスプリット中に低下モードで I/O 操作を続行できるストレッチモードとは異なります。ストレッチモードの詳細は、ストレージクラスターのストレッチモード を参照してください。
3 つのアベイラビリティーゾーン設定では、Red Hat Ceph Storage は複数のホスト障害に耐えられるように設計されています。ただし、クラスター内の OSD の 25% 超がダウンすると、Ceph は OSD を
out
としてマークしなくなる可能性があります。この動作は、mon_osd_min_in_ratio
パラメーターによって制御されます。デフォルトでは、mon_osd_min_in_ratio
は 0.75 に設定されています。つまり、追加の OSD をout
とマークするには、クラスター内の OSD の少なくとも 75% がin
(アクティブ) のままである必要があります。この設定により、あまりにも多くの OSD がout
とマークされることを防ぎます。そうしないと、大量のデータ移動が発生する可能性があるためです。データの移動により、クライアント I/O への影響が大きくなり、OSD がサービスに戻ったときに回復時間が長くなる可能性があります。Red Hat Ceph Storage が OSD を out とマークしなくなると、一部の配置グループ (PG) が存続する OSD への再バランスに失敗し、配置グループ (PG) が非アクティブになる可能性があります。
重要mon_osd_min_in_ratio
値を調整すると、より多くの OSD が out とマークされ、再バランスがトリガーされる可能性がありますが、これは慎重に行う必要があります。mon_osd_min_in_ratio
パラメーターの詳細は、Ceph Monitor および OSD 設定オプション を参照してください。