6.7. 復元
クラスターが起動したとき、または Ceph OSD が予期せず終了して再起動したとき、OSD は書き込み操作を行う前に他の Ceph OSD とのピアリングを開始します。
Ceph OSD がクラッシュしてオンラインに戻ると、通常、配置グループのオブジェクトのより新しいバージョンが含まれる他の Ceph OSD との同期が取れなくなります。このような場合、Ceph OSD はリカバリーモードに入り、データの最新コピーを取得してマップを最新の状態に戻そうとします。Ceph OSD が停止していた時間によっては、OSD のオブジェクトや配置グループが大幅に古くなっている可能性があります。また、障害ドメイン (例: ラックなど) ダウンした場合、複数の Ceph OSD が同時にオンラインに戻る可能性があります。そのため、復旧作業には時間とリソースが必要になります。
運用パフォーマンスを維持するために、Ceph はリカバリー要求数、スレッド数、およびオブジェクトチャンクサイズを制限してリカバリーを実行し、これにより Ceph は劣化した状態でも適切なパフォーマンスを発揮することができます。
- osd_recovery_delay_start
- 詳細
- ピアリングが完了すると、Ceph はオブジェクトの回復を開始する前に、指定された秒数だけ遅延します。
- 型
- 浮動小数点 (Float)
- デフォルト
-
0
- osd_recovery_max_active
- 詳細
- OSD ごとに一度のアクティブな復旧要求の数。リクエストが増えれば復旧も早くなりますが、その分クラスターへの負荷も大きくなります。
- 型
- 32 ビット整数
- デフォルト
-
3
- osd_recovery_max_chunk
- 詳細
- 復元したデータチャンクをプッシュする際の最大サイズ
- 型
- 64 ビット整数未署名
- デフォルト
-
8 << 20
- osd_recovery_threads
- 詳細
- データを復元するためのスレッド数
- 型
- 32 ビット整数
- デフォルト
-
1
- osd_recovery_thread_timeout
- 詳細
- 復元スレッドがタイムアウトするまでの最大時間 (秒単位)
- 型
- 32 ビット整数
- デフォルト
-
30
- osd_recover_clone_overlap
- 詳細
-
復元時のクローンのオーバーラップを保持します。常に
true
に設定する必要があります。 - 型
- ブール値
- デフォルト
-
true