4.7. RADOS


バックフィル中の進行が遅く、CPU 使用率が高い問題が解決されました

以前は、OSD シャードで最小のインデックスを持つワーカースレッドは、アイテムが mClock キューからスケジュールされるまで、または通知されるまで待機する代わりに、メインのワーカーループに戻りました。これにより、ビジーループと高い CPU 使用率が発生しました。

この修正により、最小のスレッドインデックスを持つワーカースレッドが適切なロックを再取得し、通知されるまで、または mClock スケジューラーによって示される期間が経過するまで待機します。ワーカースレッドは、項目が mClock キューからスケジュールできるようになるまで、または通知されるまで待機し、メインのワーカーループに戻ることで、ビジーループを排除し、CPU 使用率が高い問題を解決します。

(BZ#2114612)

STS から返された一時認証情報を使用する場合にラージオブジェクトの名前変更が失敗しなくなりました。

以前のリリースでは、ラージオブジェクトの名前変更中の iam ポリシーの権限評価が間違っていたため、STS から返された一時的な認証情報が使用されると、ラージオブジェクトの名前変更が失敗していました。

今回の修正により、STS から返された一時認証情報を使用してラージオブジェクトの名前が変更されるときに、iam ポリシーが正しく評価されるようになりました。

(BZ#2166572)

小さな書き込みが遅延されるようになりました

以前は、Ceph はユニットの割り当て中に書き込みを遅延していました。アロケーションユニットが 64 K のように大きい場合は、小さな書き込みは遅延の対象にはなりませんでした。

今回の更新により、大きなアロケーションユニットが遅延している場合でも、小さな書き込みがディスクブロックで動作し、遅延されるようになりました。

(BZ#2107406)

モニターの数を減らしても Ceph Monitor がクラッシュしなくなりました。

以前のリリースでは、ユーザーが ceph orch apply mon NUMBER コマンドを使用してクォーラム内のモニターの数を減らすと、cephadm はシャットダウンする前にモニターを削除していました。Ceph は、モニターの削除前にシャットダウン中であると想定することが原因でアサーションがトリガーされていました。

今回の修正により、サニティーチェックが追加され、モニターの現在のランクがクォーラムランク以上の場合も対処できるようになりました。モニターはモニターマップに存在しなくなり、そのアドレスが存在しなくなったことが原因でモニターのピアはこのモニターに ping を送信しません。その結果、シャットダウン前にモニターが削除された場合に、アサーションはトリガーされません。

(BZ#1945266)

初期サービスマップを処理する Ceph Manager チェックが緩和されました

以前は、クラスターをアップグレードするときに、Ceph Manager は以前にアクティブだった Ceph Manager から複数の service_map バージョンを受信していました。これにより、新たにアクティブになったマネージャーが、以前にアクティブであったマネージャーが送信したバージョンよりも新しいバージョンでマップを受信してしまうと、コード内の不正なチェックが原因でマネージャーのデーモンがクラッシュしました。

今回の修正により、初期サービスマップを処理する Ceph Manager のチェックが緩和され、サービスマップが正しくチェックされるようになり、Ceph Manager のフェイルオーバー中にアサーションが発生しなくなります。

(BZ#1984881)

ceph --help コマンドでは、yaml フォーマッターが ceph orch コマンドに対してのみ有効であることを表示するようになりました。

以前のリリースでは、ceph config dump コマンドなど、ceph コマンドで有効な yaml 形式のオプションである ceph --help コマンドの仕様が欠けていることがわかりました。

今回の修正により、ceph --help コマンドの出力には、yaml フォーマッターが ceph orch コマンドに対してのみ有効であることが表示されます。

(BZ#2040709)

PG ログの破損した重複エントリーは、オフラインおよびオンラインのトリミングで削除できる

以前は、PG ログ重複エントリーのトリミングは、人間のオペレーターよりもはるかに高い頻度で PG オートスケーラーによって使用される低レベルの PG 分割操作中に阻止されていました。重複を取り除くと、PG ログのメモリー増大が大幅に増大し、OSD がメモリーが不足するとクラッシュしていました。OSD を再起動しても、PG ログはディスクに保存され、起動時に RAM に再ロードされるため、問題が解決されませんでした。

この修正により、オフライン (ceph-objectstore-tool コマンドを使用) とオンライン (OSD 内) の両方のトリミングで、オンラインのトリミング装置を妨害してメモリー増加の原因となっていた PG ログの破損した重複エントリーを削除できるようになりました。将来の調査に役立つように、重複エントリーの数を OSD のログに出力するデバッグの改善が実装されています。

(BZ#2093106)

starts メッセージが追加され、スクラブまたはディープスクラブプロセスが開始されたことを通知します。

以前は、starts メッセージがクラスターログにないため、配置グループ (PG) のスクラビングプロセスがいつ開始されたかをユーザーが判断できませんでした。これにより、PG のスクラブまたはディープスクラブにかかる時間を計算することが困難になりました。

この修正により、scrub starts または deep-scrub starts メッセージが表示され、PG のスクラブまたはディープスクラブプロセスが開始されたことをユーザーに通知します。

(BZ#2094955)

PG 自動スケーリングが無効になっている場合、autoscale-status コマンドで NEW PG_NUM 値が表示されなくなりました。

以前のリリースでは、PG 自動スケーリングが有効になっていない場合でも、autoscale-status コマンドは NEW PG_NUM 値を表示していました。これは、PG オートスケーラーが NEW PG_NUM 値をプールに適用したかのようにエンドユーザーに表示されていましたが、実際はそうではありません。

今回の修正により、noautoscale フラグが設定されている場合、New PG_NUM 値が autoscale-status コマンド出力に表示されなくなります。

(BZ#2099193)

ユーザーは、クラスターのアップグレード後に複製されたオブジェクトを削除できる。

以前は、クラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードした後、以前のバージョンで作成されたオブジェクトのスナップショットを削除すると、クローンが残り削除できませんでした。これは、SnapMapper キーが誤って変換されたためです。

この修正により、SnapMapper の従来の対話が新しいキー形式に一致するように更新され、以前のバージョンの Ceph で複製されたオブジェクトをアップグレード後に簡単に削除できるようになりました。

(BZ#2107404)

ceph daemon heap stats コマンドは、デーモンに必要な使用状況の詳細を返すようになりました。

以前のリリースは、ceph daemon osd.x heap stats コマンドは、Ceph デーモンの現在のヒープ使用量ではなく、空の出力を返していました。その結果、ユーザーは必要なヒープ使用量を取得するために ceph Tell heap stats コマンドを使用する必要がありました。

今回の修正により、ceph daemon heap stats コマンドが ceph tell コマンドを使用して得られるものと同様の Ceph デーモンのヒープ使用情報を返すようになりました。

(BZ#2119101)

Prometheus メトリクスは、要求されるたびにすべての Ceph Monitor の正しい Ceph バージョンを反映するようになりました。

以前のバージョンでは、Prometheus メトリクスは、モニターのアップグレード時に Ceph Monitor の一致しない Ceph バージョンを報告していました。その結果、この不整合を解決するには、アクティブな Ceph Manager デーモンを再起動する必要がありました。さらに、Ceph マネージャーは、handle_mon_map パラメーターを通じてモニターのメタデータを更新していました。これは、モニターがクラスターから削除または追加されたとき、アクティブな mgr が再起動されたとき、または mgr のフェイルオーバー時にトリガーされました。

今回の修正により、ceph mon metadata コマンドを使用した mon メタデータの取得に依存する代わりに、MON は mon メタデータを含むメタデータ更新リクエストを明示的に mgr に送信するようになりました。

(BZ#2121265)

再マッピング された配置グループに、正しいレプリカのセットが使用されるようになりました

以前は、再マッピング された配置グループの場合、誤ったレプリカのセットにスクラブ情報が照会され、存在しないはずの不一致が特定されて、スクラブプロセスが失敗していました。

今回の修正により、正しいレプリカのセットが照会されるようになりました。

(BZ#2130666)

対象の rank_removedlive_pinging および dead_pinging 状態でスタックしなくなりました

以前のリリースでは、場合によっては、モニターのランクが変更される前にモニターマップの paxos_size が更新されていました。たとえば、paxos_size は 5 から 4 に減りますが、モニターの最高ランクは 4 のままであるため、古いコードは、dead_pinging 状態からのランクの削除をスキップします。これが原因で、ターゲットのランクが dead_pinging のままになり、election strategy: 3peer_tracker スコアが異常な値になっていました。

今回の修正により、rank_removed == paxos_size() の場合に、ターゲットの Rank_removedlive_pingingDead_pinging 状態の両方から消去するケースが追加され、ランクが上記の状態でとどまることがなくなりました。

(BZ#2142143)

サイトのフェイルオーバー中に Ceph モニターが停止しなくなりました。

以前のリリースは、removed_ranks 変数では、モニターマップが更新されるたびにその内容が破棄されませんでした。そのため、2 サイトのストレッチクラスターにあるモニターが置き換えられ、サイトの片方がフェイルオーバーすることで、スコアに関連するランクなど、接続スコアが一致しなくなりました。

接続スコアに一貫性がない場合は、モニター選出期間中にデッドロックが発生し、Ceph が応答しなくなる可能性があります。これが発生すると、接続スコアに関連付けられたモニターランクをそれ自体で修正する方法がなくなります。

今回の修正により、removed_ranks 変数はモニターマップが更新されるたびにクリアされます。モニターが選出期間中にスタックすることはなくなり、モニターの交換時やサイトのフェイルオーバー時に Ceph が応答しなくなることもなくなりました。さらに、ceph daemon mon.NAME connection scores reset コマンドを使用して接続スコアを手動で強制的に修正する方法もあります。

(BZ#2142983)

ユーザーはレプリカの size1 に設定できるようになりました。

以前のリリースでは、ユーザーはプールの size1 に設定できませんでした。check_pg_num() 関数は、プールの予測配置グループ番号を誤って計算し、アンダーフローが発生しました。結果が誤っているため、pg_num が最大制限を超えているように見えていました。

今回の修正により、最近の check_pg_num() 関数の編集が元に戻され、アンダーフローが発生することなく計算が適切に動作するようになり、ユーザーはレプリカのサイズを 1 に設定できるようになりました。

(BZ#2153654)

require-osd-release フラグがクラスターのアップグレード後に適切なリリースに設定されていない場合、Ceph クラスターはヘルス警告を発行します。

以前のバージョンでは、アップグレード後に require-osd-release フラグの不一致を検出するコードのロジックが、コードのリファクタリング作業中に誤って削除されていました。アップグレード後の ceph -s 出力で警告が発生しないため、適切なリリースにフラグを設定せずにクラスターに加えられた変更により、配置グループ (PG) が特定の状態でスタックし、Ceph のメモリー消費が過剰に行われ、他の多くの問題を含む要求が遅くなっていました。

今回の修正により、require-osd-release フラグがクラスターのアップグレード後に適切なリリースに設定されていない場合、Ceph クラスターはヘルス警告を発行するようになりました。

(BZ#2061697)

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat