2.3. 物理マシンをベアメタルノードとして追加する


インスタンスをプロビジョニングする物理マシンをノードとして追加し、Compute が利用可能なハードウェアを表示できることを確認します。Compute のリソーストラッカーは定期的に同期するため、コンピュートは新規リソースをすぐに通知しません。次の定期タスクが実行されると、変更が認識されるようになります。この値 scheduler_driver_task_period は、/etc/nova/nova.conf で更新することができます。デフォルトの間隔は 60 秒です。

システムがベアメタルノードとして登録されると、ハードウェアのイントロスペクションを使用してハードウェア情報を検出するか、手動で追加できます。

2.3.1. ハードウェアイントロスペクションを使用したノードの追加

物理マシンをベアメタルノードとして登録してから、openstack-ironic-inspector を使用してノードのハードウェアの詳細を検出し、各イーサネット MAC アドレスのポートを作成します。以下の手順は、すべて root ユーザーとしてログインし、Bare Metal Provisioning コンダクターサービスをホストするサーバーで実行する必要があります。

ハードウェアイントロスペクションを使用したノードの追加

  1. Identity を管理ユーザーとして使用するためのシェルを設定します。

    # source ~/keystonerc_admin
    Copy to Clipboard Toggle word wrap
  2. 新しいノードを追加します。

    # ironic node-create -d DRIVER_NAME
    Copy to Clipboard Toggle word wrap

    DRIVER_NAME は、Bare Metal Provisioning がこのノードのプロビジョニングに使用するドライバーの名前に置き換えます。/etc/ironic/ironic.conf ファイルで、このドライバーを有効にする必要があります。ノードを作成するには、少なくともドライバー名を指定する必要があります。

    重要

    ノードの一意識別子を書き留めておきます。

  3. ノードを論理名または UUID で参照できます。オプションで、論理名をノードに割り当てます。

    # ironic node-update NODE_UUID add name=NAME
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。NAME は、ノードの論理名に置き換えます。

  4. ドライバーが必要とするノード情報を確認してから、ノードドライバーの情報を更新して、Bare Metal Provisioning がノードを管理できるようにします。

    # ironic driver-properties DRIVER_NAME
    # ironic node-update NODE_UUID add \
       driver_info/PROPERTY=VALUE \
       driver_info/PROPERTY=VALUE
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えます。

    • DRIVER_NAME を、プロパティーを表示するドライバーの名前に置き換えます。/etc/ironic/ironic.conf ファイルでドライバーが有効でない限り、この情報は返されません。
    • NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。
    • PROPERTY は、ironic driver-properties コマンドで返された必要なプロパティーに置き換えます。
    • VALUE は、プロパティーの有効な値に置き換えます。
  5. ノードドライバーのデプロイカーネルとデプロイ ramdisk を指定します。

    # ironic node-update NODE_UUID add \
      driver_info/deploy_kernel=KERNEL_UUID \
      driver_info/deploy_ramdisk=INITRAMFS_UUID
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えてください。

    • NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。
    • KERNEL_UUID は、Image サービスにアップロードされた .kernel イメージの一意識別子に置き換えます。
    • INITRAMFS_UUID は、Image サービスにアップロードされた .initramfs イメージの一意識別子に置き換えます。
  6. PXE または仮想メディア経由ではなく、ノードのディスクにインストールされたローカルのブートローダーから初回のデプロイ後にリブートするようにノードを設定します。ノードのプロビジョニングに使用するフレーバーでも、ローカルブートの機能を設定する必要があります。ローカルブートを有効にするには、ノードのデプロイに使用するイメージに grub2 が含まれている必要があります。ローカルブートを以下のように設定します。

    # ironic node-update NODE_UUID add \
       properties/capabilities="boot_option:local"
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。

  7. ベアメタルノードを manageable 状態に移行します。

    # ironic node-set-provision-state NODE_UUID manage
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。

  8. イントロスペクションを開始します。

    # openstack baremetal introspection start NODE_UUID --discoverd-url http://overcloud IP:5050
    Copy to Clipboard Toggle word wrap
    • NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。ノードをプロビジョニングする前に、ノードの検出およびイントロスペクションのプロセスが完了するまで実行する必要があります。ノードのイントロスペクションのステータスを確認するには、ironic node-list を実行し、Provision State を探します。イントロスペクションが成功した後、ノードは available の状態になります。
    • overcloud IP を、ironic.conf で以前に設定した service_url 値に置き換えます。
  9. ノードの設定を検証します。

    # ironic node-validate NODE_UUID
    +------------+--------+----------------------------+
    | Interface  | Result | Reason                     |
    +------------+--------+----------------------------+
    | console    | None   | not supported              |
    | deploy     | True   |                            |
    | inspect    | True   |                            |
    | management | True   |                            |
    | power      | True   |                            |
    +------------+--------+----------------------------+
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。上記のコマンドの出力には、各インターフェイスが True または None のいずれかと報告されるはずです。None とマークされたインターフェイスは、設定していないか、ドライバーがサポートしていないインターフェイスです。

2.3.2. ノードを手動で追加する

物理マシンをベアメタルノードとして登録してから、手動でハードウェア情報を追加し、各イーサネットの MAC アドレス用にポートを作成します。以下の手順は、すべて root ユーザーとしてログインし、Bare Metal Provisioning コンダクターサービスをホストするサーバーで実行する必要があります。

ハードウェアイントロスペクションなしでノードを追加する

  1. Identity を管理ユーザーとして使用するためのシェルを設定します。

    # source ~/keystonerc_admin
    Copy to Clipboard Toggle word wrap
  2. 新しいノードを追加します。

    # ironic node-create -d DRIVER_NAME
    Copy to Clipboard Toggle word wrap

    DRIVER_NAME は、Bare Metal Provisioning がこのノードのプロビジョニングに使用するドライバーの名前に置き換えます。/etc/ironic/ironic.conf ファイルで、このドライバーを有効にする必要があります。ノードを作成するには、少なくともドライバー名を指定する必要があります。

    重要

    ノードの一意識別子を書き留めておきます。

  3. ノードを論理名または UUID で参照できます。オプションで、論理名をノードに割り当てます。

    # ironic node-update NODE_UUID add name=NAME
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。NAME は、ノードの論理名に置き換えます。

  4. ドライバーが必要とするノード情報を確認してから、ノードドライバーの情報を更新して、Bare Metal Provisioning がノードを管理できるようにします。

    # ironic driver-properties DRIVER_NAME
    # ironic node-update NODE_UUID add \
       driver_info/PROPERTY=VALUE \
       driver_info/PROPERTY=VALUE
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えます。

    • DRIVER_NAME を、プロパティーを表示するドライバーの名前に置き換えます。/etc/ironic/ironic.conf ファイルでドライバーが有効でない限り、この情報は返されません。
    • NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。
    • PROPERTY は、ironic driver-properties コマンドで返された必要なプロパティーに置き換えます。
    • VALUE は、プロパティーの有効な値に置き換えます。
  5. ノードドライバーのデプロイカーネルとデプロイ ramdisk を指定します。

    # ironic node-update NODE_UUID add \
      driver_info/deploy_kernel=KERNEL_UUID \
      driver_info/deploy_ramdisk=INITRAMFS_UUID
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えてください。

    • NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。
    • KERNEL_UUID は、Image サービスにアップロードされた .kernel イメージの一意識別子に置き換えます。
    • INITRAMFS_UUID は、Image サービスにアップロードされた .initramfs イメージの一意識別子に置き換えます。
  6. ノードのプロパティーを更新して、ノード上のハードウェアの仕様と一致するようにします。

    # ironic node-update NODE_UUID add \
       properties/cpus=CPU \
       properties/memory_mb=RAM_MB \
       properties/local_gb=DISK_GB \
       properties/cpu_arch=ARCH
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えてください。

    • NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。
    • CPU は、使用する CPU の数に置き換えます。
    • RAM_MB を使用する RAM (MB 単位)に置き換えます。
    • DISK_GB は、使用するディスクサイズ(GB 単位)に置き換えます。
    • ARCH は、使用するアーキテクチャータイプに置き換えます。
  7. PXE または仮想メディア経由ではなく、ノードのディスクにインストールされたローカルのブートローダーから初回のデプロイ後にリブートするようにノードを設定します。ノードのプロビジョニングに使用するフレーバーでも、ローカルブートの機能を設定する必要があります。ローカルブートを有効にするには、ノードのデプロイに使用するイメージに grub2 が含まれている必要があります。ローカルブートを以下のように設定します。

    # ironic node-update NODE_UUID add \
       properties/capabilities="boot_option:local"
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。

  8. ノード上のネットワークインターフェイスカードを Bare Metal Provisioning に通知します。各 NIC の MAC アドレスでポートを作成します。

    # ironic port-create -n NODE_UUID -a MAC_ADDRESS
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。MAC_ADDRESS は、ノード上の NIC の MAC アドレスに置き換えます。

  9. ノードの設定を検証します。

    # ironic node-validate NODE_UUID
    +------------+--------+----------------------------+
    | Interface  | Result | Reason                     |
    +------------+--------+----------------------------+
    | console    | None   | not supported              |
    | deploy     | True   |                            |
    | inspect    | None   | not supported              |
    | management | True   |                            |
    | power      | True   |                            |
    +------------+--------+----------------------------+
    Copy to Clipboard Toggle word wrap

    NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。上記のコマンドの出力には、各インターフェイスが True または None のいずれかと報告されるはずです。None とマークされたインターフェイスは、設定していないか、ドライバーがサポートしていないインターフェイスです。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat