検索

1.8. アップマップ を使用した OSD データの手動でのリバランス

download PDF

ストレージ管理者は、選択した配置グループ (PG) を特定の OSD に移動することで、OSD 上のデータを手動でリバランスできます。手動でリバランスを実行するには、Ceph Manager のバランサーモジュールをオフにし、upmap モードを使用して PG を移動します。

前提条件

  • 稼働中の Red Hat Storage クラスター
  • ストレージクラスター内のすべてのノードへの root レベルのアクセス。

手順

  1. バランサーモジュールがオンになっていることを確認します。

    [root@mon ~]# ceph mgr module ls | more
    {
        "always_on_modules": [
            "balancer",
            "crash",
            "devicehealth",
            "orchestrator_cli",
            "progress",
            "rbd_support",
            "status",
            "volumes"
        ],
        "enabled_modules": [
            "dashboard",
            "pg_autoscaler",
            "prometheus"
        ],

    1. バランサーモジュールが always_on または enabled モジュールに記載されていない場合は、それを有効にします。

      構文

      ceph mgr module enable balancer

  2. バランサーモードを upmap に設定します。

    構文

    ceph balancer mode upmap

  3. バランサーモジュールをオフにします。

    構文

    ceph balancer off

  4. バランサーのステータスを確認します。

    [root@mon ~]# ceph balancer status
    {
        "plans": [],
        "active": false,
        "last_optimize_started": "",
        "last_optimize_duration": "",
        "optimize_result": "",
        "mode": "upmap"
    }

  5. OSD の norebalance フラグを設定します。

    構文

    ceph osd set norebalance

  6. ceph pg dump pgs_brief コマンドを使用して、ストレージクラスター内のプールと各消費領域をリスト表示します。grep を使用して、再マッピングされたプールを検索します。

    [root@mon ~]# ceph pg dump pgs_brief
    PG_STAT STATE                         UP               UP_PRIMARY ACTING         ACTING_PRIMARY
    dumped pgs_brief
    7.270   active+remapped+backfilling  [8,48,61]          8 [46,48,61]             46
    7.1e7   active+remapped+backfilling [73,64,74]         73 [18,64,74]             18
    7.1c1   active+remapped+backfilling  [29,14,8]         29 [29,14,24]             29
    7.17f   active+remapped+backfilling [73,71,50]         73 [50,71,69]             50
    7.16c   active+remapped+backfilling   [66,8,4]         66  [66,4,57]             66
    7.13d   active+remapped+backfilling [73,27,56]         73 [27,56,35]             27
    7.130   active+remapped+backfilling [53,47,73]         53 [53,47,72]             53
    9.e0    active+remapped+backfilling  [8,75,14]          8 [14,75,58]             14
    7.db    active+remapped+backfilling [10,57,60]         10 [10,60,50]             10
    9.7     active+remapped+backfilling [26,69,38]         26 [26,38,41]             26
    7.4a    active+remapped+backfilling [73,10,76]         73 [10,76,29]             10
    9.9a    active+remapped+backfilling [20,15,73]         20 [20,15,29]             20
    7.ac    active+remapped+backfilling   [8,74,3]          8  [3,74,37]              3
    9.c2    active+remapped+backfilling  [57,75,7]         57   [4,75,7]              4
    7.34d   active+remapped+backfilling [23,46,73]         23 [23,46,56]             23
    7.36a   active+remapped+backfilling  [40,32,8]         40 [40,32,44]             40

  7. PG を、配置先の OSD に移動します。たとえば、PG 7.ac を OSD 8 および 3 から OSD 3 および 37 に移動するには、以下を実行します。

    PG_STAT STATE                         UP               UP_PRIMARY ACTING         ACTING_PRIMARY
    dumped pgs_brief
    7.ac    active+remapped+backfilling   [8,74,3]          8  [3,74,37]              3
    
    [root@mon ~]# ceph osd pg-upmap-items 7.ac 8 3 3 37
    
    7.ac   active+clean                 [3,74,37]          8 [3,74,37]             3

    注記

    この手順を繰り返して、再マッピングされた各 PG を一度に 1 つずつ移動します。

  8. ceph pg dump pgs_brief コマンドを再度使用して、PG が active+clean 状態に移行することを確認します。

    [root@mon ~]# ceph pg dump pgs_brief
    PG_STAT STATE                         UP               UP_PRIMARY ACTING         ACTING_PRIMARY
    dumped pgs_brief
    7.270   active+clean                [8,48,61]          8 [46,48,61]              46
    7.1e7   active+clean                [73,64,74]         73 [18,64,74]             18
    7.1c1   active+clean                [29,14,8]          29 [29,14,24]             29
    7.17f   active+clean                [73,71,50]         73 [50,71,69]             50
    7.16c   active+clean                [66,8,4]           66  [66,4,57]             66
    7.13d   active+clean                [73,27,56]         73 [27,56,35]             27
    7.130   active+clean                [53,47,73]         53 [53,47,72]             53
    9.e0    active+clean                [8,75,14]          8 [14,75,58]              14
    7.db    active+clean                [10,57,60]         10 [10,60,50]             10
    9.7     active+clean                [26,69,38]         26 [26,38,41]             26
    7.4a    active+clean                [73,10,76]         73 [10,76,29]             10
    9.9a    active+clean                [20,15,73]         20 [20,15,29]             20
    7.ac    active+clean                [3,74,37]          8 [3,74,37]               3
    9.c2    active+clean                [57,75,7]          57 [4,75,7]                4
    7.34d   active+clean                [23,46,73]         23 [23,46,56]             23
    7.36a   active+clean                [40,32,8]          40 [40,32,44]             40

    PG が active+clean に移行するまでの時間は、PG および OSD の数によって異なります。さらに、不適切に配置されたオブジェクトの数は、mgr target_max_misplaced_ratio に設定された値により異なります。target_max_misplaced_ratio の値が大きいと、不適切に配置されたオブジェクトの数が多くなるため、すべての PG が active+clean になるまでの時間が長くなります。

  9. norebalance フラグの設定を解除します。

    構文

    ceph osd unset norebalance

  10. バランサーモジュールをオンに戻します。

    構文

    ceph balancer on

バランサーモジュールを有効にすると、ストレージクラスターの CRUSH ルールに従って PG がゆっくりと目的の OSD に戻ります。バランシング処理には時間がかかる場合がありますが、そのうち完了します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.