5.5.2. Ceph Storageノードのディスクレイアウトの変更

重要

非同種の Ceph Storage ノードは、パフォーマンスの問題を引き起こす可能性があります。Red Hat OpenStack Platform(RHOSP)環境で、標準的なノードとノード固有のオーバーライドを使って設定したノードとの間の差異が大きくなるほど、パフォーマンスが低下する可能性が高くなります。

ノード固有のディスク構成を director に渡すには、node-spec-overrides.yaml 等の heat 環境ファイルを openstack overcloud deploy コマンドに渡す必要があります。そして、この環境ファイルの内容で、それぞれのサーバーをマシン固有の UUID およびグローバル変数を上書きするローカル変数の一覧で識別する必要があります。

マシン固有の UUID は、個々のサーバー向けに、または Bare Metal Provisioning サービス (ironic) データベースから抽出することができます。

備考
以下の手順では、埋め込まれた有効なJSOが含まれる有効なYAML環境ファイルを作成します。make_ceph_disk_list.pyで完全なJSONファイルを生成し、それをYAMLのようにデプロイメントコマンドに渡すこともできます。詳細については、「Cephデバイス用のJSON heat環境ファイルの生成」を参照してください。

手順

  1. 個々のサーバーの UUID を把握するには、そのサーバーにログインして以下のコマンドを入力します。

    $ dmidecode -s system-uuid
  2. Bare Metal Provisioning サービスデータベースから UUID を抽出するには、アンダークラウドで以下のコマンドを入力します。

    $ openstack baremetal introspection data save NODE-ID | jq .extra.system.product.uuid
    警告

    アンダークラウドのインストールまたはアップグレードおよびイントロスペクションの前に、undercloud.confinspection_extras = true がない場合には、マシン固有の UUID は Bare Metal Provisioning サービスデータベースには含まれません。

    重要

    マシン固有の UUID は、Bare Metal Provisioning サービスの UUID ではありません。

    有効な node-spec-overrides.yaml ファイルは、以下のようになる可能性があります。

    parameter_defaults:
      NodeDataLookup: {"32E87B4C-C4A7-418E-865B-191684A6883B": {"devices": ["/dev/sdc"]}}
  3. 最初の 2 行以降は、すべて有効な JSON でなければなりません。jqコマンドを使用して、JSONが有効であることを確認します。

    1. 最初の 2 行 (parameter_defaults: および NodeDataLookup:) を一時的にファイルから削除します。
    2. cat node-spec-overrides.yaml | jq . を実行します。
  4. node-spec-overrides.yaml ファイルが大きくなるにつれ、jq コマンドを使用して組み込まれた JSON が有効であることを確認することもできます。たとえば、devices および dedicated_devices の一覧は同じ長さでなければならないので、以下のコマンドを使用して、デプロイメントを開始する前に両者が同じ長さであることを確認します。以下の例では、node-spec-c05-h17-h21-h25-6048r.yaml にはラック c05 に 3 つのサーバーがあります。ラック c05 のスロット h17、h21、および h25 にはディスクがありません。

    (undercloud) [stack@b08-h02-r620 tht]$ cat node-spec-c05-h17-h21-h25-6048r.yaml | jq '.[] | .devices | length'
    33
    30
    33
    (undercloud) [stack@b08-h02-r620 tht]$ cat node-spec-c05-h17-h21-h25-6048r.yaml | jq '.[] | .dedicated_devices | length'
    33
    30
    33
    (undercloud) [stack@b08-h02-r620 tht]$
  5. JSON を検証した後に、有効な環境 YAML ファイルとなるように 2 つの行 (parameter_defaults: および NodeDataLookup:) を戻し、-e を使用してこの環境ファイルをデプロイメントに追加します。以下の例では、更新した Heat 環境ファイルは Ceph デプロイメントの NodeDataLookup を使用しています。すべてのサーバーのデバイス一覧は 35 のディスクで構成されていましたが、1 つのサーバーだけ 1 つのディスクがありませんでした。この環境ファイルは、その 1 つのノードについてのみデフォルトのデバイス一覧を上書きし、グローバル一覧の代わりに使用する必要のある 34 のディスクの一覧を提供します。
  6. JSON を検証した後に、有効な環境 YAML ファイルとなるように 2 つの行 (parameter_defaults: および NodeDataLookup:) を戻し、-e を使用してこの環境ファイルをデプロイメントコマンドに追加します。

    以下の例では、更新した heat 環境ファイルは Ceph デプロイメントの NodeDataLookup を使用しています。すべてのサーバーのデバイス一覧は 35 のディスクで構成されていましたが、1 つのサーバーだけ 1 つのディスクがありませんでした。この環境ファイルは、その 1 つのノードについてのみデフォルトのデバイス一覧を上書きし、グローバル一覧の代わりに使用する必要のある 34 のディスクの一覧をノードに提供します。

    parameter_defaults:
      # c05-h01-6048r is missing scsi-0:2:35:0 (00000000-0000-0000-0000-0CC47A6EFD0C)
      NodeDataLookup: {
        "00000000-0000-0000-0000-0CC47A6EFD0C": {
          "devices": [
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:1:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:32:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:2:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:3:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:4:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:5:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:6:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:33:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:7:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:8:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:34:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:9:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:10:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:11:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:12:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:13:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:14:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:15:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:16:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:17:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:18:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:19:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:20:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:21:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:22:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:23:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:24:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:25:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:26:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:27:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:28:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:29:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:30:0",
        "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:31:0"
            ],
          "dedicated_devices": [
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:81:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1",
        "/dev/disk/by-path/pci-0000:84:00.0-nvme-1"
            ]
          }
        }