4.5. ベアメタルノードとしての物理マシンの追加
次のいずれかの方法を使用して、ベアメタルノードを登録します。
- ノードの詳細情報を記載したインベントリーファイルを作成し、そのファイルを Bare Metal Provisioning サービスにインポートしてノードを利用できるようにします。
-
物理マシンをベアメタルノードとして登録してから、手動でハードウェア情報を追加し、各イーサネットの MAC アドレス用にポートを作成します。これらの手順は、
overcloudrc
ファイルがある任意のノードで実行できます。
4.5.1. インベントリーファイルを使用したベアメタルノードの登録
ノードの詳細情報を記載したインベントリーファイルを作成し、そのファイルを Bare Metal Provisioning サービス (ironic) にインポートしてノードを利用できるようにします。
前提条件
- Bare Metal Provisioning サービスを含むオーバークラウドのデプロイメント。詳細は、Deploying an overcloud with the Bare Metal Provisioning service を参照してください。
手順
ノードの詳細を含むインベントリーファイル
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>
-
<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>
-
source コマンドで
overcloudrc
ファイルを読み込みます。$ source ~/overcloudrc
インベントリーファイルを BareMetalProvisioning サービスにインポートします。
$ openstack baremetal create overcloud-nodes.yaml
これで、ノードは
enroll
の状態となります。各ノードでデプロイカーネルとデプロイ ramdisk を指定します。
$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
-
<node>
は、ノードの名前または ID に置き換えます。 -
<kernel_file>
を.kernel
イメージへのパス (例:file:///var/lib/ironic/httpboot/agent.kernel
) に置き換えます。 -
<initramfs_file>
は、.initramfs
イメージへのパス (例:file:///var/lib/ironic/httpboot/agent.ramdisk
) に置き換えます。
-
オプション: 各ノードの IPMI 暗号スイートを指定します。
$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
-
<node>
は、ノードの名前または ID に置き換えます。 <version>
は、ノードで使用する暗号スイートのバージョンに置き換えます。以下の有効な値のいずれかに設定します。-
3
- ノードは SHA1 暗号スイートで AES-128 を使用します。 -
17
- ノードは SHA256 暗号スイートで AES-128 を使用します。
-
-
ノードのプロビジョニング状態を
available
に設定します。$ openstack baremetal node manage <node> $ openstack baremetal node provide <node>
ノードのクリーニングを有効にしている場合には、Bare Metal Provisioning サービスがノードをクリーニングします。
ノードにローカルブートオプションを設定します。
$ openstack baremetal node set <node> --property capabilities="boot_option:local"
ノードが登録されていることを確認します。
$ openstack baremetal node list
ノードを登録した後にその状態が表示されるまで時間がかかる場合があります。
4.5.2. ベアメタルノードの手動登録
物理マシンをベアメタルノードとして登録してから、手動でハードウェア情報を追加し、各イーサネットの MAC アドレス用にポートを作成します。これらの手順は、overcloudrc
ファイルがある任意のノードで実行できます。
前提条件
- Bare Metal Provisioning サービスを含むオーバークラウドのデプロイメント。詳細は、Deploying an overcloud with the Bare Metal Provisioning service を参照してください。
-
IronicEnabledHardwareTypes
パラメーターを使用して、新しいノードのドライバーを有効にする必要があります。サポートされているドライバーの詳細については、Bare metal drivers を参照してください。
手順
-
アンダークラウドホストに
stack
ユーザーとしてログインします。 source コマンドでオーバークラウドの認証情報ファイルを読み込みます。
(undercloud)$ source ~/overcloudrc
新しいノードを追加します。
$ openstack baremetal node create --driver <driver_name> --name <node_name>
-
<driver_name>
をドライバーの名前 (たとえば、ipmi
) に置き換えます。 -
<node_name>
を新しいベアメタルノードの名前に置き換えます。
-
- ノードの作成時にノードに割り当てられた UUID を書き留めます。
登録されたノードごとに、ブートオプションを
local
に設定します。$ openstack baremetal node set \ --property capabilities="boot_option:local" <node>
<node>
をベアメタルノードの UUID に置き換えてください。ノードドライバーのデプロイカーネルとデプロイ ramdisk を指定します。
$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
-
<node>
をベアメタルノードの ID に置き換えてください。 -
<kernel_file>
を.kernel
イメージへのパス (例:file:///var/lib/ironic/httpboot/agent.kernel
) に置き換えます。 -
<initramfs_file>
は、.initramfs
イメージへのパス (例:file:///var/lib/ironic/httpboot/agent.ramdisk
) に置き換えます。
-
ノードの属性を更新して、ノード上のハードウェアの仕様と一致するようにします。
$ openstack baremetal node set <node> \ --property cpus=<cpu> \ --property memory_mb=<ram> \ --property local_gb=<disk> \ --property cpu_arch=<arch>
-
<node>
をベアメタルノードの ID に置き換えてください。 -
<cpu>
は、CPU の数に置き換えます。 -
<ram>
を MB 単位の RAM に置き換えます。 -
<disk>
を GB 単位のディスクサイズに置き換えます。 -
<arch>
は、アーキテクチャータイプに置き換えます。
-
オプション: 各ノードの IPMI 暗号スイートを指定します。
$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
-
<node>
をベアメタルノードの ID に置き換えてください。 <version>
は、ノードで使用する暗号スイートのバージョンに置き換えます。以下の有効な値のいずれかに設定します。-
3
- ノードは SHA1 暗号スイートで AES-128 を使用します。 -
17
- ノードは SHA256 暗号スイートで AES-128 を使用します。
-
-
オプション:各ノードの IPMI の詳細を指定します。
$ openstack baremetal node set <node> \ --driver-info <property>=<value>
-
<node>
をベアメタルノードの ID に置き換えてください。 -
<property>
を設定する IPMI プロパティーに置き換えます。使用可能なプロパティーについては、Intelligent Platform Management Interface (IPMI) 電源管理ドライバー を参照してください。 -
<value>
をプロパティー値に置き換えます。
-
オプション: 複数のディスクがある場合は、ルートデバイスのヒントを設定して、デプロイメントに使用するディスクをデプロイ ramdisk に通知します。
$ openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'
-
<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)。このプロパティーは、永続デバイス名が付いたデバイスにのみ使用してください。注記複数のプロパティーを指定する場合には、デバイスはそれらの全プロパティーと一致する必要があります。
-
-
プロビジョニングネットワーク上の NIC の MAC アドレスを使用してポートを作成することにより、Bare Metal Provisioning サービスにノードのネットワークカードを通知します。
$ openstack baremetal port create --node <node_uuid> <mac_address>
-
<node>
をベアメタルノードの一意の ID に置き換えます。 -
<mac_address>
は、PXE ブートに使用する NIC の MAC アドレスに置き換えます。
-
ノードの設定を検証します。
$ 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 | | +------------+--------+---------------------------------------------+
有効出力の
Result
は、次のことを示しています。-
False
: インターフェイスは検証に失敗しました。instance_info
パラメーター[\'ramdisk', \'kernel', and \'image_source']
が見つからない場合、Compute サービスがデプロイメントプロセスの最初にこれらのパラメーターを設定するので、この時点では設定されていない可能性があ ります。ディスクイメージ全体を使用している場合は、検証にパスするためにimage_source
を設定するだけでよい場合があります。 -
True
: インターフェイスは検証にパスしました。 -
None
: インターフェイスはドライバーでサポートされていません。
-
4.5.3. ベアメタルノードのプロビジョニング状態
ベアメタルノードは、そのライフタイム中に複数のプロビジョニング状態を移行します。ノードで実行される API 要求およびコンダクターイベントが移行を開始します。プロビジョニング状態には、"stable" と "in transition" の 2 つのカテゴリーがあります。
次の表を使用して、ノードが置かれることができるプロビジョニング状態と、ノードをあるプロビジョニング状態から別のプロビジョニング状態に移行するために使用できるアクションについて説明します。
State | Category | 説明 |
---|---|---|
| 安定 | 各ノードの初期状態。ノードの登録に関する情報は、Adding physical machines as bare metal nodes を参照してください。 |
| イントランジション |
Bare Metal Provisioning サービスは、ノードの登録時に提供された |
| 安定 |
ノードは、Bare Metal Provisioning サービスがノードを管理できることを確認したら、manageable の状態に移行します。以下のコマンドを使用して、ノードを
ノードを以下の failed 状態のいずれかに移行した後、そのノードを
ノードを更新する必要がある場合には、ノードを |
| イントランジション |
Bare Metal Provisioning サービスは、ノードのイントロスペクションを使用して、ハードウェアから派生したノードプロパティーを更新し、ハードウェアの現在の状態を反映します。ノードは同期検査のために |
| イントランジション |
非同期検査が進行中であることを示すプロビジョニング状態。ノードの検査に成功すると、ノードは |
| 安定 |
ノードの検査が失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、ノードを
|
| イントランジション |
|
| イントランジション |
|
| 安定 |
ノードが正常に事前設定され、クリーンアップされると、それらは
|
| イントランジション |
|
| イントランジション |
|
| 安定 |
ノードのデプロイメントが失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、ノードを
|
| 安定 |
|
| イントランジション |
ノードが |
| 安定 |
ノードの削除に失敗した場合、ノードは
|
| イントランジション |
|
| イントランジション |
|
| イントランジション |
|
| 安定 |
ノードのレスキューが失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、
|
| 安定 |
|
| イントランジション |
|
| 安定 |
ノードのアンレスキュー操作が失敗したことを示すプロビジョニング状態。以下のコマンドを使用して、
|