3.2.3.7. バックフィル
新規 OSD がクラスターに参加する際に、CRUSH はクラスター内の OSD から新たに追加された OSD に配置グループを再割り当てします。新規 OSD が再割り当てされた配置グループをすぐに許可するように強制すると、新規 OSD に過剰な負荷が生じる可能性があります。OSD を配置グループでバックフィルすると、このプロセスはバックグラウンドで開始できます。バックフィルが完了すると、新しい OSD の準備が整い次第、要求への対応を開始します。
バックフィル操作中は、いくつかの状態のうちの 1 つを確認できます。backfill_wait
は、バックフィル操作が保留されているが、まだ進行していないことを示します。backfill
は、バックフィル操作が進行中であることを示します。backfill_too_full
は、バックフィル操作が要求されたが、ストレージ容量が不足しているために完了できなかったことを示します。配置グループをバックフィルできない場合は、incomplete
とみなされることがあります。
Cephは、OSD、特に新しい OSD への配置グループの再割り当てに伴い負荷の急増を管理するいくつかの設定を提供しています。デフォルトでは、osd_max_backfills
は、OSD から 10 への同時バックフィルの最大数を設定します。osd backfill full ratio
により、OSD は、OSD が完全な比率 (デフォルトでは 85%) に近づけている場合にバックフィル要求を拒否することができます。OSD がバックフィル要求を拒否する場合は、osd backfill retry interval
により、OSD はデフォルトで 10 秒後に要求を再試行できます。また、OSD は、スキャン間隔 (デフォルトで 64 および 512) を管理するために、osd backfill scan min
および osd backfill scan max
を設定することもできます。
ワークロードによっては、通常のリカバリーを完全に回避し、代わりにバックフィルを使用することが推奨されます。バックフィルはバックグラウンドで実行されるため、I/O は OSD のオブジェクトで続行できます。復元せずにバックフィルを強制するには、osd_min_pg_log_entries
を 1
に設定し、osd_max_pg_log_entries
を 2
に設定します。この状況がご使用のワークロードに適切な場合についての詳細は、Red Hat サポートアカウントチームにお問い合わせください。