4.3. Ceph のバックフィルおよびリカバリー操作の削減

Ceph OSD が削除されると、Ceph はバックフィルおよびリカバリー操作を使用してクラスターをリバランスします。Ceph は配置グループポリシーに従って、データのコピーを複数保管するためにこの操作を実行します。これらの操作は、システムリソースを使用します。Ceph クラスターに負荷がかかっている場合、リソースがバックフィルおよびリカバリーに回されるので、パフォーマンスが低下します。

OSD 削除時のこのパフォーマンスへの影響を軽減するには、バックフィルおよびリカバリー操作の優先度を低くすることができます。この手法のマイナス面は、データのレプリカがより少ない状態が長くなるので、データがリスクにさらされる可能性が若干高くなることです。

以下の表で説明するパラメーターが、バックフィルおよびリカバリー操作の優先度を設定するのに使用されます。

パラメーター説明デフォルト値

osd_recovery_op_priority

OSD クライアントの操作に関して、リカバリー操作の優先度を設定します。

3

osd_recovery_max_active

同時に要求できる 1 OSD あたりのアクティブなリカバリー要求の数を設定します。要求が増えるにつれてリカバリーは加速されますが、それらの要求によりクラスターにかかる負荷が増大します。レイテンシーを低くするには、このパラメーターを 1 に設定します。

3

osd_max_backfills

単一の OSD との間で許容されるバックフィルの最大数を設定します。

1

このデフォルト設定を変更するには、~/templates に以下の内容の環境ファイル ceph-backfill-recovery.yaml を追加します。

parameter_defaults:
  CephConfigOverrides:
    osd_recovery_op_priority: ${priority_value}
    osd_recovery_max_active: ${no_active_recovery_requests}
    osd_max_backfills: ${max_no_backfills}