1.5. Ceph Manager バランサーモジュールの使用


バランサーは、Ceph Manager のモジュールで、OSD 全体の配置グループ (PG) の配置を最適化することで、自動または監視された方法でバランスの取れた分散を実現します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。

バランサーの起動

  1. balancer モジュールが有効になっていることを確認します。

    [root@mon ~]# ceph mgr module enable balancer
    Copy to Clipboard Toggle word wrap
  2. balancer モジュールをオンにします。

    [root@mon ~]# ceph balancer on
    Copy to Clipboard Toggle word wrap

モード

現在、サポートされるバランサーモードが 2 つあります。

  • crush-compat: CRUSH compat モードは、Ceph Luminous で導入された compat の weight-set 機能を使用して、CRUSH 階層のデバイスの別の重みセットを管理します。通常の重みは、デバイスに保存する目的のデータ量を反映するために、デバイスのサイズに設定したままにする必要があります。その後バランサーは、可能な限り目的のディストリビューションに一致するディストリビューションを達成するために、weight-set の値を少しずつ増減させ、値を最適化します。PG の配置は擬似ランダムプロセスであるため、配置には自然なばらつきが伴います。重みを最適化することで、バランサーはこの自然なばらつきに対応します。

    このモードは、古いクライアントと完全に後方互換性があります。OSDMap および CRUSH マップが古いクライアントと共有されると、バランサーは最適化された重みを実際の重みとして提示します。

    このモードの主な制限は、階層のサブツリーが OSD を共有する場合に、バランサーが配置ルールの異なる複数の CRUSH 階層を処理できないことです。この設定では、共有 OSD での領域の使用を管理するのが困難になるため、一般的には推奨されません。そのため、通常、この制限は問題にはなりません。

  • upmap: Luminous 以降、OSDMap は、通常の CRUSH 配置計算への例外として、個々の OSD の明示的なマッピングを保存できます。これらの upmap エントリーにより、PG マッピングを細かく制御できます。この CRUSH モードは、バランスの取れた分散を実現するために、個々の PG の配置を最適化します。多くの場合、この分散は各 OSD の PG 数 +/-1 PG で完璧です。これは割り切れない場合があるためです。

    重要

    upmap を使用するには、すべてのクライアントが Red Hat Ceph Storage 3.x 以降および Red Hat Enterprise Linux 7.5 以降を実行している必要があります。

    この機能を使用できるようにするには、以下のコマンドにより、luminous クライアントまたはそれ以降のクライアントしかサポートする必要がないことをクラスターに指示する必要があります。

    [root@admin ~]# ceph osd set-require-min-compat-client luminous
    Copy to Clipboard Toggle word wrap

    このコマンドは、luminous 以前のクライアントまたはデーモンがモニターに接続されていると失敗します。

    既知の問題により、カーネル CephFS クライアントは自身を jewel クライアントとして報告します。この問題を回避するには、--yes-i-really-mean-it フラグを使用します。

    [root@admin ~]# ceph osd set-require-min-compat-client luminous --yes-i-really-mean-it
    Copy to Clipboard Toggle word wrap

    使用しているクライアントのバージョンは、以下で確認できます。

    [root@admin ~]# ceph features
    Copy to Clipboard Toggle word wrap
    警告

    Red Hat Ceph Storage 3.x では、upmap 機能は、クラスターが使用される際の PG のバランスのために Ceph Manager バランサーモジュールによって使用される場合にのみサポートされます。Red Hat Ceph Storage 3.x では、upmap 機能を使用した PG の手動リバランスはサポートされません。

デフォルトのモードは crush-compat です。モードは以下のように変更できます。

[root@mon ~]# ceph balancer mode upmap
Copy to Clipboard Toggle word wrap

または

[root@mon ~]# ceph balancer mode crush-compat
Copy to Clipboard Toggle word wrap

ステータス

バランサーの現在のステータスは、以下を実行していつでも確認できます。

[root@mon ~]# ceph balancer status
Copy to Clipboard Toggle word wrap

自動バランシング

デフォルトでは、バランサーモジュールをオンにする場合、自動分散が使用されます。

[root@mon ~]# ceph balancer on
Copy to Clipboard Toggle word wrap

以下を使用して、バランサーを再度オフにできます。

[root@mon ~]# ceph balancer off
Copy to Clipboard Toggle word wrap

これには、古いクライアントと後方互換性があり、時間の経過とともにデータディストリビューションに小さな変更を加えて、OSD を同等に利用されるようにする crush-compat モードを使用します。

スロットリング

たとえば、OSD が失敗し、システムがまだ修復していない場合などに、クラスターのパフォーマンスが低下する場合は、PG ディストリビューションには調整は行われません。

クラスターが正常な場合、バランサーは変更を調整して、置き間違えた、または移動する必要のある PG の割合がデフォルトで 5% のしきい値を下回るようにします。このパーセンテージは、max_misplaced 設定を使用して調整できます。たとえば、しきい値を 7% に増やすには、次のコマンドを実行します。

[root@mon ~]# ceph config-key set mgr/balancer/max_misplaced .07
Copy to Clipboard Toggle word wrap

監視付き最適化

balancer 操作はいくつかの異なるフェーズに分類されます。

  1. プラン の構築
  2. 現在の PG 分散または プラン 実行後に得られる PG 分散に対するデータ分散の品質の評価
  3. プラン の実行

    • 現在のディストリビューションを評価し、スコアを付けます。

      [root@mon ~]# ceph balancer eval
      Copy to Clipboard Toggle word wrap
    • 単一プールのディストリビューションを評価するには、以下を実行します。

      [root@mon ~]# ceph balancer eval <pool-name>
      Copy to Clipboard Toggle word wrap
    • 評価の詳細を表示するには、以下を実行します。

      [root@mon ~]# ceph balancer eval-verbose ...
      Copy to Clipboard Toggle word wrap
    • 現在設定されているモードを使用してプランを生成するには、以下を実行します。

      [root@mon ~]# ceph balancer optimize <plan-name>
      Copy to Clipboard Toggle word wrap

      <plan-name> は、カスタムプラン名に置き換えます。

    • プランの内容を表示するには、以下を実行します。

      [root@mon ~]# ceph balancer show <plan-name>
      Copy to Clipboard Toggle word wrap
    • 古いプランを破棄するには、以下を実行します。

      [root@mon ~]# ceph balancer rm <plan-name>
      Copy to Clipboard Toggle word wrap
    • 現在記録されているプランを表示するには、status コマンドを使用します。

      [root@mon ~]# ceph balancer status
      Copy to Clipboard Toggle word wrap
    • プラン実行後に生じるディストリビューションの品質を計算するには、以下を実行します。

      [root@mon ~]# ceph balancer eval <plan-name>
      Copy to Clipboard Toggle word wrap
    • プランを実行するには、以下を実行します。

      [root@mon ~]# ceph balancer execute <plan-name>
      Copy to Clipboard Toggle word wrap

      [注記]:ディストリビューションの改善が想定される場合にのみ、プランを実行します。実行後、プランは破棄されます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat