11.6.5. mClock プロファイルを使用した劣化および置き忘れたオブジェクトの回復率
劣化したオブジェクトのリカバリーは、バックグラウンドリカバリーバケットに分類されます。すべての mClock プロファイルにおいて、劣化したオブジェクトのリカバリーは、置き忘れられたオブジェクトのリカバリーよりも高い優先順位が与えられます。これは、劣化したオブジェクトには、単なる置き忘れられたオブジェクトには存在しないデータの安全性の問題が存在するためです。
バックフィルまたは置き忘れたオブジェクトの回復操作は、バックグラウンドのベストエフォートバケットに分類されます。balanced および high_client_ops mClock プロファイルによれば、バックグラウンドベストエフォートクライアントは予約 (ゼロに設定) によって制約されませんが、他に競合するサービスがない場合、参加している OSD の容量の一部を使用するように制限されます。
したがって、balanced または high_client_ops プロファイルを使用し、他のバックグラウンドで競合するサービスがアクティブな場合、以前の WeightedPriorityQueue (WPQ) スケジューラーと比較すると、バックフィル速度が遅くなることが予想されます。
より高いバックフィル率が必要な場合は、以下のセクションに記載されている手順に従ってください。
埋め戻し率の向上
balanced または high_client_ops プロファイルを使用するときにバックフィル速度を速くするには、次の手順に従います。
- バックフィルの間、'high_recovery_ops' mClock プロファイルに切り替えます。これを実現するには、mClock プロファイルの変更 を参照してください。バックフィルフェーズが完了したら、mClock プロファイルを以前にアクティブだったプロファイルに切り替えます。'high_recovery_ops' プロファイルを使用してもバックフィル率に大幅な改善が見られない場合は、次のステップに進みます。
- mClock プロファイルを以前にアクティブだったプロファイルに戻します。
-
'osd_max_backfills' をより高い値 (たとえば、
3) に変更します。これを実現するには、バックフィルと回復オプションの変更 を参照してください。 - バックフィルが完了したら、手順 3 で説明したのと同じ手順に従って、'osd_max_backfills' をデフォルト値の 1 にリセットできます。
osd_max_backfills を変更すると、他の操作が発生する可能性があることに注意してください。たとえば、バックフィルフェーズ中にクライアント操作の遅延が長くなる可能性があります。したがって、クラスター内の他の操作へのパフォーマンスへの影響を最小限に抑えるために、osd_max_backfills を少しずつ増やすことを推奨します。