8.2. ベアメタルノードハードウェアのインベントリーの作成
ディレクターは、プロファイルのタグ付け、ベンチマーク、および手動のルートディスク割り当てのために、Red Hat OpenStack Platform (RHOSP) デプロイメント内のノードのハードウェアインベントリーを必要とします。
次のいずれかの方法を使用して、ハードウェアインベントリーをディレクターに提供できます。
- Automatic: 各ノードからハードウェア情報を収集するディレクターのイントロスペクションプロセスを使用できます。このプロセスは、各ノードでイントロスペクションエージェントを起動します。イントロスペクションエージェントは、ノードからハードウェアのデータを収集し、そのデータを director に送り返します。ディレクターは、アンダークラウドノードで実行されている Object Storage サービス (swift) にハードウェアデータを保存します。
- Manual: 各ベアメタルマシンの基本的なハードウェアインベントリーを手動で設定できます。このインベントリーは、ベアメタルプロビジョニングサービス (ironic) に保存され、ベアメタルマシンの管理とデプロイに使用されます。
オーバークラウドに derive_params.yaml を使用する場合は、ディレクターの自動イントロスペクションプロセスを使用する必要があります。これには、イントロスペクションデータが存在する必要があります。derive_params.yaml の詳細は、Workflows and derived parameters を参照してください。
ディレクターの自動イントロスペクションプロセスには、ベアメタルプロビジョニングサービスポートを手動で設定する方法に比べて、次の利点があります。
-
イントロスペクションは、接続されているすべてのポートをハードウェア情報に記録します。これには、
nodes.yamlでまだ設定されていない場合に PXE ブートに使用するポートも含まれます。 -
イントロスペクションは、属性が LLDP を使用して検出可能である場合、各ポートの
local_link_connection属性を設定します。手動による方法を使用する場合は、ノードを登録するときに各ポートにlocal_link_connectionを設定する必要があります。 -
イントロスペクションは、スパイン/リーフ型または DCN のアーキテクチャーをデプロイするときに、ベアメタルプロビジョニングサービスポートの
physical_network属性を設定します。
8.2.1. ディレクターのイントロスペクションを使用してベアメタルノードのハードウェア情報を収集する リンクのコピーリンクがクリップボードにコピーされました!
物理マシンをベアメタルノードとして登録した後、ディレクターイントロスペクションを使用して、ハードウェアの詳細を自動的に追加し、イーサネット MAC アドレスごとにポートを作成できます。
自動イントロスペクションの代わりに、ベアメタルノードのハードウェア情報をディレクターに手動で提供できます。詳細は、ベアメタルノードのハードウェア情報を手動で設定する を参照してください。
前提条件
- オーバークラウドのベアメタルノードを登録しました。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow pre-introspection 検証グループを実行して、プリイントロスペクションの要件を確認します。
openstack tripleo validator run --group pre-introspection
(undercloud)$ openstack tripleo validator run --group pre-introspectionCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 検証レポートの結果を確認します。
オプション: 特定の検証からの詳細な出力を確認します。
openstack tripleo validator show run --full <validation>
(undercloud)$ openstack tripleo validator show run --full <validation>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <validation>を、確認するレポートの特定の検証の UUID に置き換えます。重要検証結果が
FAILEDであっても、Red Hat OpenStack Platform のデプロイや実行が妨げられることはありません。ただし、FAILEDの検証結果は、実稼働環境で問題が発生する可能性があることを意味します。
各ノードのハードウェア属性を検証します。すべてのノードまたは特定のノードのハードウェア属性を検査できます。
すべてのノードのハードウェア属性を検査します。
openstack overcloud node introspect --all-manageable --provide
(undercloud)$ openstack overcloud node introspect --all-manageable --provideCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
--all-manageableオプションを使用して、管理状態にあるノードのみをイントロスペクションします。ここでは、すべてのノードが管理状態にあります。 -
--provideオプションを使用して、イントロスペクション後に全ノードをavailableの状態に再設定します。
-
特定のノードのハードウェア属性を検査します。
openstack overcloud node introspect --provide <node1> [node2] [noden]
(undercloud)$ openstack overcloud node introspect --provide <node1> [node2] [noden]Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--provideオプションを使用して、イントロスペクション後に指定されたすべてのノードをavailable状態にリセットします。 -
<node1>、[node2]、および[noden]までのすべてのノードを、イントロスペクションする各ノードの UUID に置き換えます。
-
別のターミナルウィンドウで、イントロスペクションの進捗ログを監視します。
sudo tail -f /var/log/containers/ironic-inspector/ironic-inspector.log
(undercloud)$ sudo tail -f /var/log/containers/ironic-inspector/ironic-inspector.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要イントロスペクションプロセスが完了するまで実行されていることを確認します。イントロスペクションは通常、ベアメタルノードの場合 15 分かかります。ただし、イントロスペクションネットワークのサイズが正しくないと、時間がかかる可能性があり、イントロスペクションが失敗する可能性があります。
オプション: IPv6 を介したベアメタルプロビジョニング用にアンダークラウドを設定した場合は、LLDP がベアメタルプロビジョニングサービス (ironic) ポートの
local_link_connectionを設定していることも確認する必要があります。openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"
(undercloud)$ openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"Copy to Clipboard Copied! Toggle word wrap Toggle overflow ベアメタルノードのポートに対して Local Link Connection フィールドが空の場合、
local_link_connection値に偽のデータを手動で入力する必要があります。次の例では、偽のスイッチ ID を52:54:00:00:00:00に設定し、偽のポート ID をp0に設定します。openstack baremetal port set <port_uuid> \ --local-link-connection switch_id=52:54:00:00:00:00 \ --local-link-connection port_id=p0
(undercloud)$ openstack baremetal port set <port_uuid> \ --local-link-connection switch_id=52:54:00:00:00:00 \ --local-link-connection port_id=p0Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルリンク接続フィールドにダミーのデータが含まれていることを確認します。
openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"
(undercloud)$ openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
イントロスペクション完了後には、すべてのノードが available の状態に変わります。
8.2.2. ベアメタルノードのハードウェア情報を手動で設定する リンクのコピーリンクがクリップボードにコピーされました!
物理マシンをベアメタルノードとして登録した後、ハードウェアの詳細を手動で追加し、イーサネット MAC アドレスごとにベアメタルポートを作成できます。オーバークラウドをデプロイする前に、少なくとも 1 つのベアメタルポートを作成する必要があります。
手動イントロスペクションの代わりに、自動ディレクターイントロスペクションプロセスを使用して、ベアメタルノードのハードウェア情報を収集できます。詳細は、Using director introspection to collect bare metal node hardware information を参照してください。
前提条件
- オーバークラウドのベアメタルノードを登録しました。
-
nodes.jsonの登録済みノードの各ポートにlocal_link_connectionを設定しました。詳しい情報は、Registering nodes for the overcloud を参照してください。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードの機能に
boot_option':'localを追加して、登録されたノードごとにブートオプションをlocalに設定します。openstack baremetal node set \ --property capabilities="boot_option:local" <node>
(undercloud)$ openstack baremetal node set \ --property capabilities="boot_option:local" <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<node>をベアメタルノードの ID に置き換えてください。
-
ノードドライバーのデプロイカーネルとデプロイ ramdisk を指定します。
openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
(undercloud)$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<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>
(undercloud)$ openstack baremetal node set <node> \ --property cpus=<cpu> \ --property memory_mb=<ram> \ --property local_gb=<disk> \ --property cpu_arch=<arch>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<node>をベアメタルノードの ID に置き換えてください。 -
<cpu>は、CPU の数に置き換えます。 -
<ram>を MB 単位の RAM に置き換えます。 -
<disk>を GB 単位のディスクサイズに置き換えます。 -
<arch>は、アーキテクチャータイプに置き換えます。
-
オプション: 各ノードの IPMI 暗号スイートを指定します。
openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
(undercloud)$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<node>をベアメタルノードの ID に置き換えてください。 <version>は、ノードで使用する暗号スイートのバージョンに置き換えます。以下の有効な値のいずれかに設定します。-
3- ノードは SHA1 暗号スイートで AES-128 を使用します。 -
17- ノードは SHA256 暗号スイートで AES-128 を使用します。
-
-
オプション: 複数のディスクがある場合は、ルートデバイスのヒントを設定して、デプロイメントに使用するディスクをデプロイ ramdisk に通知します。
openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'(undercloud)$ openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<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>
(undercloud)$ openstack baremetal port create --node <node_uuid> <mac_address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<node_uuid>をベアメタルノードの一意の ID に置き換えます。 -
<mac_address>は、PXE ブートに使用する NIC の MAC アドレスに置き換えます。
-
ノードの設定を検証します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有効出力の
Resultは、次のことを示しています。-
False: インターフェイスは検証に失敗しました。instance_infoパラメーター[\'ramdisk', \'kernel', and \'image_source']が見つからない場合、Compute サービスがデプロイメントプロセスの最初にこれらのパラメーターを設定するので、この時点では設定されていない可能性があ ります。ディスクイメージ全体を使用している場合は、検証にパスするためにimage_sourceを設定するだけでよい場合があります。 -
True: インターフェイスは検証にパスしました。 -
None: インターフェイスはドライバーでサポートされていません。
-