5.4.3. CRUSH 配置の制御
デフォルトの CRUSH ルールは、異なるホストにある OSD を提供します。たとえば、以下のようになります。
chunk nr 01234567 step 1 _cDD_cDD step 2 cDDD____ step 3 ____cDDD
各チャンクに 1 つずつ、正確に 8 つの OSD が必要です。ホストが 2 つ隣り合ったラックにある場合は、最初の 4 つのチャンクを最初のラックに配置し、残りを 2 番目のラックに配置できます。1 つの OSD の失われた状態からのリカバリーには、2 つのラック間で帯域幅を使用する必要はありません。
たとえば、以下のようになります。
crush-steps='[ [ "choose", "rack", 2 ], [ "chooseleaf", "host", 4 ] ]'
rack タイプのクラッシュバケットを 2 つ選択し、それぞれに 4 つの OSD (タイプ host の異なるバケットに配置) を選択するルールを作成します。
また、細かい制御のためにルールを手動で作成することもできます。