4.5. ベアメタルノードとしての物理マシンの追加


次のいずれかの方法を使用して、ベアメタルノードを登録します。

  • ノードの詳細情報を記載したインベントリーファイルを作成し、そのファイルを Bare Metal Provisioning サービスにインポートしてノードを利用できるようにします。
  • 物理マシンをベアメタルノードとして登録してから、手動でハードウェア情報を追加し、各イーサネットの MAC アドレス用にポートを作成します。これらの手順は、overcloudrc ファイルがある任意のノードで実行できます。

4.5.1. インベントリーファイルを使用したベアメタルノードの登録

ノードの詳細情報を記載したインベントリーファイルを作成し、そのファイルを Bare Metal Provisioning サービス (ironic) にインポートしてノードを利用できるようにします。

前提条件

手順

  1. ノードの詳細を含むインベントリーファイル overcloud-nodes.yaml を作成します。1 つのファイルで複数のノードを登録することが可能です。

    nodes:
        - name: node0
          driver: ipmi
          driver_info:
            ipmi_address: <ipmi_ip>
            ipmi_username: <user>
            ipmi_password: <password>
            [<property>: <value>]
          properties:
            cpus: <cpu_count>
            cpu_arch: <cpu_arch>
            memory_mb: <memory>
            local_gb: <root_disk>
            root_device:
                serial: <serial>
          ports:
            - address: <mac_address>
    Copy to Clipboard Toggle word wrap
    • <ipmi_ip> は、Bare Metal コントローラーのアドレスに置き換えます。
    • <user> は、自分のユーザー名に置き換えます。
    • <password> は、自分のパスワードに置き換えます。
    • オプション: <property>: <value> を、設定する IPMI プロパティーとプロパティー値に置き換えます。使用可能なプロパティーについては、Intelligent Platform Management Interface (IPMI) 電源管理ドライバー を参照してください。
    • <cpu_count> は、CPU の数に置き換えます。
    • <cpu_arch> は、CPU のアーキテクチャーのタイプに置き換えます。
    • <memory> は、メモリー容量 (MiB 単位) に置き換えます。
    • <root_disk> は、root ディスクの容量 (GiB 単位) に置き換えます。マシンに複数のディスクがある場合にのみ必要です。
    • <serial> は、デプロイメントに使用するディスクのシリアル番号に置き換えます。
    • <mac_address> は、PXE ブートに使用する NIC の MAC アドレスに置き換えます。
    • --driver-info <property>=<value>
  2. source コマンドで overcloudrc ファイルを読み込みます。

    $ source ~/overcloudrc
    Copy to Clipboard Toggle word wrap
  3. インベントリーファイルを Bare Metal Provisioning サービスにインポートします。

    $ openstack baremetal create overcloud-nodes.yaml
    Copy to Clipboard Toggle word wrap

    これで、ノードは enroll の状態となります。

  4. 各ノードでデプロイカーネルとデプロイ ramdisk を指定します。

    $ openstack baremetal node set <node> \
      --driver-info deploy_kernel=<kernel_file> \
      --driver-info deploy_ramdisk=<initramfs_file>
    Copy to Clipboard Toggle word wrap
    • <node> は、ノードの名前または ID に置き換えます。
    • <kernel_file>.kernel イメージへのパス (例: file:///var/lib/ironic/httpboot/agent.kernel) に置き換えます。
    • <initramfs_file> は、.initramfs イメージへのパス (例: file:///var/lib/ironic/httpboot/agent.ramdisk) に置き換えます。
  5. オプション: 各ノードの IPMI 暗号スイートを指定します。

    $ openstack baremetal node set <node> \
     --driver-info ipmi_cipher_suite=<version>
    Copy to Clipboard Toggle word wrap
    • <node> は、ノードの名前または ID に置き換えます。
    • <version> は、ノードで使用する暗号スイートのバージョンに置き換えます。以下の有効な値のいずれかに設定します。

      • 3 - ノードは SHA1 暗号スイートで AES-128 を使用します。
      • 17 - ノードは SHA256 暗号スイートで AES-128 を使用します。
  6. ノードのプロビジョニング状態を available に設定します。

    $ openstack baremetal node manage <node>
    $ openstack baremetal node provide <node>
    Copy to Clipboard Toggle word wrap

    ノードのクリーニングを有効にしている場合には、Bare Metal Provisioning サービスがノードをクリーニングします。

  7. ノードにローカルブートオプションを設定します。

    $ openstack baremetal node set <node> --property capabilities="boot_option:local"
    Copy to Clipboard Toggle word wrap
  8. ノードが登録されていることを確認します。

    $ openstack baremetal node list
    Copy to Clipboard Toggle word wrap

    ノードを登録した後にその状態が表示されるまで時間がかかる場合があります。

4.5.2. ベアメタルノードの手動登録

物理マシンをベアメタルノードとして登録してから、手動でハードウェア情報を追加し、各イーサネットの MAC アドレス用にポートを作成します。これらの手順は、overcloudrc ファイルがある任意のノードで実行できます。

前提条件

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. source コマンドでオーバークラウドの認証情報ファイルを読み込みます。

    (undercloud)$ source ~/overcloudrc
    Copy to Clipboard Toggle word wrap
  3. 新しいノードを追加します。

    $ openstack baremetal node create --driver <driver_name> --name <node_name>
    Copy to Clipboard Toggle word wrap
    • <driver_name> をドライバーの名前 (たとえば、ipmi) に置き換えます。
    • <node_name> を新しいベアメタルノードの名前に置き換えます。
  4. ノードの作成時にノードに割り当てられた UUID を書き留めます。
  5. 登録されたノードごとに、ブートオプションを local に設定します。

    $ openstack baremetal node set \
      --property capabilities="boot_option:local" <node>
    Copy to Clipboard Toggle word wrap

    <node> をベアメタルノードの UUID に置き換えてください。

  6. ノードドライバーのデプロイカーネルとデプロイ ramdisk を指定します。

    $ openstack baremetal node set <node> \
      --driver-info deploy_kernel=<kernel_file> \
      --driver-info deploy_ramdisk=<initramfs_file>
    Copy to Clipboard Toggle word wrap
    • <node> をベアメタルノードの ID に置き換えてください。
    • <kernel_file>.kernel イメージへのパス (例: file:///var/lib/ironic/httpboot/agent.kernel) に置き換えます。
    • <initramfs_file> は、.initramfs イメージへのパス (例: file:///var/lib/ironic/httpboot/agent.ramdisk) に置き換えます。
  7. ノードの属性を更新して、ノード上のハードウェアの仕様と一致するようにします。

    $ openstack baremetal node set <node> \
      --property cpus=<cpu> \
      --property memory_mb=<ram> \
      --property local_gb=<disk> \
      --property cpu_arch=<arch>
    Copy to Clipboard Toggle word wrap
    • <node> をベアメタルノードの ID に置き換えてください。
    • <cpu> は、CPU の数に置き換えます。
    • <ram> を MB 単位の RAM に置き換えます。
    • <disk> を GB 単位のディスクサイズに置き換えます。
    • <arch> は、アーキテクチャータイプに置き換えます。
  8. オプション: 各ノードの IPMI 暗号スイートを指定します。

    $ openstack baremetal node set <node> \
     --driver-info ipmi_cipher_suite=<version>
    Copy to Clipboard Toggle word wrap
    • <node> をベアメタルノードの ID に置き換えてください。
    • <version> は、ノードで使用する暗号スイートのバージョンに置き換えます。以下の有効な値のいずれかに設定します。

      • 3 - ノードは SHA1 暗号スイートで AES-128 を使用します。
      • 17 - ノードは SHA256 暗号スイートで AES-128 を使用します。
  9. オプション: 各ノードの IPMI の詳細を指定します。

    $ openstack baremetal node set <node> \
     --driver-info <property>=<value>
    Copy to Clipboard Toggle word wrap
  10. オプション: 複数のディスクがある場合は、ルートデバイスのヒントを設定して、デプロイメントに使用するディスクをデプロイ ramdisk に通知します。

    $ openstack baremetal node set <node> \
      --property root_device='{"<property>": "<value>"}'
    Copy to Clipboard Toggle word wrap
    • <node> をベアメタルノードの ID に置き換えてください。
    • <property><value> は、デプロイメントに使用するディスクの詳細に置き換えます (例: root_device='{"size": "128"}')。

      RHOSP は、次のプロパティーをサポートしています。

      • model (文字列): デバイスの ID
      • vendor (文字列): デバイスのベンダー
      • serial (文字列): ディスクのシリアル番号
      • hctl (文字列): SCSI のホスト、チャンネル、ターゲット、Lun
      • size (整数): デバイスのサイズ (GB 単位)
      • wwn (文字列): 一意のストレージ ID
      • wwn_with_extension (文字列): ベンダー拡張子を追加した一意のストレージ ID
      • wwn_vendor_extension (文字列): 一意のベンダーストレージ ID
      • rotational (ブール値): 回転式デバイス (HDD) には true、そうでない場合 (SSD) には false
      • name (文字列): デバイス名 (例: /dev/sdb1)。このプロパティーは、永続デバイス名が付いたデバイスにのみ使用してください。

        注記

        複数のプロパティーを指定する場合には、デバイスはそれらの全プロパティーと一致する必要があります。

  11. プロビジョニングネットワーク上の NIC の MAC アドレスを使用してポートを作成することにより、Bare Metal Provisioning サービスにノードのネットワークカードを通知します。

    $ openstack baremetal port create --node <node_uuid> <mac_address>
    Copy to Clipboard Toggle word wrap
    • <node> をベアメタルノードの一意の ID に置き換えます。
    • <mac_address> は、PXE ブートに使用する NIC の MAC アドレスに置き換えます。
  12. ノードの設定を検証します。

    $ openstack baremetal node validate <node>
    +------------+--------+---------------------------------------------+
    | Interface  | Result | Reason                                      |
    +------------+--------+---------------------------------------------+
    | boot       | False  | Cannot validate image information for node  |
    |            |        | a02178db-1550-4244-a2b7-d7035c743a9b        |
    |            |        | because one or more parameters are missing  |
    |            |        | from its instance_info. Missing are:        |
    |            |        | ['ramdisk', 'kernel', 'image_source']       |
    | console    | None   | not supported                               |
    | deploy     | False  | Cannot validate image information for node  |
    |            |        | a02178db-1550-4244-a2b7-d7035c743a9b        |
    |            |        | because one or more parameters are missing  |
    |            |        | from its instance_info. Missing are:        |
    |            |        | ['ramdisk', 'kernel', 'image_source']       |
    | inspect    | None   | not supported                               |
    | management | True   |                                             |
    | network    | True   |                                             |
    | power      | True   |                                             |
    | raid       | True   |                                             |
    | storage    | True   |                                             |
    +------------+--------+---------------------------------------------+
    Copy to Clipboard Toggle word wrap

    有効出力の Result は、次のことを示しています。

    • False: インターフェイスは検証に失敗しました。instance_info パラメーター [\'ramdisk', \'kernel', and \'image_source'] が見つからない場合は、Compute サービスがデプロイメントプロセスの最初にこれらのパラメーターを設定するので、この時点では設定されていない可能性があります。ディスクイメージ全体を使用している場合は、検証にパスするために image_source を設定するだけでよい場合があります。
    • True: インターフェイスは検証にパスしました。
    • None: インターフェイスはドライバーでサポートされていません。

4.5.3. ベアメタルノードのプロビジョニング状態

ベアメタルノードは、そのライフタイム中に複数のプロビジョニング状態を移行します。ノードで実行される API 要求およびコンダクターイベントが移行を開始します。プロビジョニング状態には、"stable" と "in transition" の 2 つのカテゴリーがあります。

以下の表を使用して、ノードが配置されている可能性のあるプロビジョニングの状態と、ノードをあるプロビジョニング状態から別の状態に移行するために使用できるアクションを説明します。

Expand
表4.1 プロビジョニングの状態
StateCategory説明

enroll

Stable

各ノードの初期状態。ノードの登録に関する情報は、ベアメタルノードとしての物理マシンの追加 を参照してください。

verifying

移行中

Bare Metal Provisioning サービスは、ノードの登録時に提供された driver_info 設定を使用してノードを管理できることを検証します。

manageable

Stable

ノードは、Bare Metal Provisioning サービスがノードを管理できることを確認したら、manageable の状態に移行します。以下のコマンドを使用して、ノードを manageable 状態から以下のいずれかの状態に移行できます。

  • openstack baremetal node adopt adopting active
  • openstack baremetal node provide cleaning available
  • openstack baremetal node clean cleaning available
  • openstack baremetal node inspect inspecting manageable

ノードを以下の failed 状態のいずれかに移行した後、そのノードを manageable の状態に移行する必要があります。

  • adopt failed
  • clean failed
  • inspect failed

ノードを更新する必要がある場合は、ノードを manageable 状態にします。

inspecting

移行中

Bare Metal Provisioning サービスは、ノードのイントロスペクションを使用して、ハードウェアから派生したノードプロパティーを更新し、ハードウェアの現在の状態を反映します。ノードは同期検査の場合は manageable に、非同期検査の場合は非同期検査の inspect wait に移行します。エラーが発生すると、ノードは inspect failed に移行します。

inspect wait

移行中

非同期検査が進行中であることを示すプロビジョニング状態。ノードの検査に成功すると、ノードは manageable の状態に移行します。

inspect failed

Stable

ノードの検査が失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、ノードを inspect failed 状態から以下のいずれかの状態に移行することができます。

  • openstack baremetal node inspect inspecting manageable
  • openstack baremetal node manage manageable

cleaning

移行中

cleaning 状態のノードはスクラブされ、既知の設定に再プログラムされます。ノードが cleaning 状態にあると、ネットワーク管理に応じて、コンダクターは以下のタスクを実行します。

  • 帯域外: コンダクターが clean ステップを実行します。
  • 帯域内: コンダクターは、帯域内クリーンステップを実行するために RAM ディスクをブートする環境を準備します。準備タスクには、PXE 設定ファイルの構築と DHCP の設定が含まれます。

clean wait

移行中

clean wait 状態のノードはスクラブされ、既知の設定に再プログラムされます。この状態は、clean wait 状態では、コンダクターが RAM ディスクの起動または clean ステップの終了を待機している点を除けば、cleaning 状態と似ています。

openstack baremetal node abort を実行して、clean wait 状態のノードのクリーニングプロセスを中断できます。

available

Stable

ノードが正常に事前設定され、クリーンアップされると、それらは available 状態に移行し、プロビジョニングの準備が整います。以下のコマンドを使用して、ノードを available 状態から以下のいずれかの状態に移行することができます。

  • openstack baremetal node deploy deploying active
  • openstack baremetal node manage manageable

deploying

移行中

deploying 状態のノードは、ワークロード用に準備されているため、以下のタスクを実行します。

  • ノードのデプロイメントに適切な BIOS オプションを設定する。
  • ドライブにパーティションを設定しファイルシステムを作成する。
  • ノード固有のネットワーク設定や設定ドライブパーティションなど、追加のサブシステムで必要になる可能性のある追加のリソースを作成します。

wait call-back

移行中

wait call-back 状態のノードは、ワークロード用に準備されています。この状態は deploying 状態と似ていますが、wait call-back 状態では、コンダクターはノードの準備前にタスクの完了を待っている点が異なります。たとえば、コンダクターがノードを準備する前に、以下のタスクを完了する必要があります。

  • ramdisk が起動している。
  • ブートローダーがインストールされている。
  • イメージがディスクに書き込まれている。

openstack baremetal node delete または openstack baremetal node undeploy を実行して、wait call-back 状態のノードのデプロイメントを中断できます。

deploy failed

Stable

ノードのデプロイメントが失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、ノードを deploy failed 状態から以下のいずれかの状態に移行できます。

  • openstack baremetal node deploy deploying active
  • openstack baremetal node rebuild deploying active
  • openstack baremetal node delete deleting cleaning clean wait cleaning available
  • openstack baremetal node undeploy deleting cleaning clean wait cleaning available

active

Stable

active 状態のノードで、ワークロードが実行しています。Bare Metal Provisioning サービスは、電源状態を含む帯域外センサー情報を定期的に収集する場合があります。以下のコマンドを使用して、ノードを active 状態から以下のいずれかの状態に移行できます。

  • openstack baremetal node delete deleting available
  • openstack baremetal node undeploy cleaning available
  • openstack baremetal node rebuild deploying active
  • openstack baremetal node rescue rescuing rescue

deleting

移行中

ノードが deleting 状態の場合、Bare Metal Provisioning サービスはアクティブなワークロードを逆アセンブルし、ノードのデプロイメントまたはレスキュー時にノードに追加された設定およびリソースを削除します。ノードは deleting 状態から cleaning 状態へとすばやく移行し、次に clean wait 状態に移行します。

error

Stable

ノードの削除に失敗した場合は、ノードが error 状態に移行します。以下のコマンドを使用して、ノードを error 状態から以下のいずれかの状態に移行できます。

  • openstack baremetal node delete deleting available
  • openstack baremetal node undeploy cleaning available

adopting

移行中

openstack baremetal node adopt コマンドを使用すると、最初のクリーニングやデプロイを行わずに、既存のワークロードを持つノードを manageable から active 状態に直接移行できます。ノードが adopting 状態の場合、Bare Metal Provisioning サービスは既存のワークロードでノードの管理を引き継ぎます。

rescuing

移行中

rescuing 状態のノードは、以下のレスキュー操作を実行する準備ができています。

  • ノードのデプロイメントに適切な BIOS オプションを設定する。
  • ノード固有のネットワーク設定など、追加のサブシステムで必要になる可能性のある追加のリソースを作成する。

rescue wait

移行中

rescue wait 状態のノードはレスキューされます。この状態は、rescue wait 状態では、コンダクターが ramdisk のブートを待機するか、rescue という名前のユーザーのパスワードを設定するなど、ノードでインバンドの実行に必要なレスキューの一部を実行することを除いて、rescuing の状態と似ています。

openstack baremetal node abort を実行して、rescue wait 状態でノードのレスキュー操作を中断できます。

rescue failed

Stable

ノードのレスキューが失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、rescue failed 状態から以下のいずれかの状態にノードを移行できます。

  • openstack baremetal node rescue rescuing rescue
  • openstack baremetal node unrescue unrescuing active
  • openstack baremetal node delete deleting available

rescue

Stable

rescue 状態のノードは、レスキュー ramdisk を実行している。Bare Metal Provisioning サービスは、電源状態を含む帯域外センサー情報を定期的に収集する場合があります。以下のコマンドを使用して、ノードを rescue 状態から以下のいずれかの状態に移行できます。

  • openstack baremetal node unrescue unrescuing active
  • openstack baremetal node delete deleting available

unrescuing

移行中

unrescuing 状態のノードは、rescue 状態から active 状態に移行する準備ができています。

unrescue failed

Stable

ノードのアンレスキュー操作が失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、unrescue failed 状態から以下のいずれかの状態にノードを移行できます。

  • openstack baremetal node rescue rescuing rescue
  • openstack baremetal node unrescue unrescuing active
  • openstack baremetal node delete deleting available
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat