4.3. Ceph のバックフィルおよびリカバリー操作の削減
Ceph OSD が削除されると、Ceph はバックフィルおよびリカバリー操作を使用してクラスターをリバランスします。Ceph は配置グループポリシーに従って、データのコピーを複数保管するためにこの操作を実行します。これらの操作は、システムリソースを使用します。Ceph クラスターに負荷がかかっている場合、リソースがバックフィルおよびリカバリーに回されるので、パフォーマンスが低下します。
OSD 削除時のこのパフォーマンスへの影響を軽減するには、バックフィルおよびリカバリー操作の優先度を低くすることができます。この手法のマイナス面は、データのレプリカがより少ない状態が長くなるので、データがリスクにさらされる可能性が若干高くなることです。
以下の表で説明するパラメーターが、バックフィルおよびリカバリー操作の優先度を設定するのに使用されます。
パラメーター | 説明 | デフォルト値 |
---|---|---|
| OSD クライアントの操作に関して、リカバリー操作の優先度を設定します。 | 3 |
| 同時に要求できる 1 OSD あたりのアクティブなリカバリー要求の数を設定します。要求が増えるにつれてリカバリーは加速されますが、それらの要求によりクラスターにかかる負荷が増大します。レイテンシーを低くするには、このパラメーターを 1 に設定します。 | 3 |
| 単一の 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}