4.6. ベアメタルノードとしての物理マシンの追加
ベアメタルノードの登録には 2 つの方法があります。
- ノードの詳細情報を記載したインベントリーファイルを作成し、そのファイルを Bare Metal サービスにインポートしてノードを利用できるようにします。
- 物理ノードをベアメタルノードとして登録してから、手動でハードウェア情報を追加し、各イーサネットの MAC アドレス用にポートを作成します。これらの手順は、overcloudrc ファイルが配置されている任意のノードで実行できます。
本項では、両方の方法について詳しく説明します。
物理マシンの登録後、新規リソースは Compute に直ぐには通知されません。これは、Compute のリソーストラッカーが定期的にしか同期していないためです。次の定期タスクが実行されると、変更が認識されるようになります。この値 scheduler_driver_task_period
は、/etc/nova/nova.conf で更新することができます。デフォルトの間隔は 60 秒です。
4.6.1. インベントリーファイルを使用したベアメタルノードの登録
ノードの詳細情報を記載したファイル
overcloud-nodes.yaml
を作成します。1 つのファイルで複数のノードを登録することが可能です。nodes: - name: node0 driver: ipmi driver_info: ipmi_address: <IPMI_IP> ipmi_username: <USER> ipmi_password: <PASSWORD> properties: cpus: <CPU_COUNT> cpu_arch: <CPU_ARCHITECTURE> memory_mb: <MEMORY> local_gb: <ROOT_DISK> root_device: serial: <SERIAL> ports: - address: <PXE_NIC_MAC>
以下の値を置き換えてください。
-
<IPMI_IP>
は、Bare Metal コントローラーのアドレスに置き換えます。 -
<USER>
は、ユーザー名に置き換えます。 -
<PASSWORD>
は、パスワードに置き換えます。 -
<CPU_COUNT>
は、CPU の数に置き換えます。 -
<CPU_ARCHITECTURE>
は、CPU のアーキテクチャー種別に置き換えます。 -
<MEMORY>
は、メモリー容量 (MiB 単位) に置き換えます。 -
<ROOT_DISK>
は、ルートディスクの容量 (GiB 単位) に置き換えます。 <MAC_ADDRESS>
は、PXE ブートで使用する NIC の MAC アドレスに置き換えます。マシンに複数のディスクがある場合に限り、
root_device
を含める必要があります。<SERIAL>
は、デプロイメントに使用するディスクのシリアル番号に置き換えます。
-
Identity を管理ユーザーとして使用するためのシェルを設定します。
$ source ~/overcloudrc
インベントリーファイルを ironic にインポートします。
$ openstack baremetal create overcloud-nodes.yaml
-
これで、ノードは
enroll
の状態となります。 各ノードでデプロイカーネルとデプロイ ramdisk を指定します。
$ openstack baremetal node set NODE_UUID \ --driver-info deploy_kernel=KERNEL_UUID \ --driver-info deploy_ramdisk=INITRAMFS_UUID
以下の値を置き換えてください。
- NODE_UUID は、ノードの一意識別子に置き換えます。もしくは、ノードの論理名を使用します。
KERNEL_UUID は、Image サービスにアップロードした カーネル デプロイイメージの一意識別子に置き換えます。この値は以下のコマンドで確認します。
$ openstack image show bm-deploy-kernel -f value -c id
INITRAMFS_UUID は、Image サービスにアップロードした ramdisk イメージの一意識別子に置き換えます。この値は以下のコマンドで確認します。
$ openstack image show bm-deploy-ramdisk -f value -c id
ノードのプロビジョニング状態を
available
に設定します。$ openstack baremetal node manage _NODE_UUID_ $ openstack baremetal node provide _NODE_UUID_
ノードのクリーニングを有効にしている場合には、Bare Metal サービスがノードをクリーニングします。
ノードが正常に登録されたことを確認します。
$ openstack baremetal node list
ノードを登録した後にその状態が表示されるまで時間がかかる場合があります。