5.8. ベアメタルインスタンスへの仮想ネットワークインターフェイス (VIF) の接続
ベアメタルインスタンスをベアメタルネットワークインターフェイスに接続するには、クラウドユーザーは Compute サービス (nova) または Bare Metal Provisioning サービス (ironic) を使用できます。
Compute サービス: クラウドユーザーは
openstack server add networkコマンドを使用します。詳細は、インスタンスへのネットワークの接続 を参照してください。注記===
- Compute サービスを使用する場合は、インスタンスの作成時にポートを明示的に宣言する必要があります。Compute サービスが、Bare Metal Provisioning サービスにインスタンスの作成を要求すると、Compute サービスはユーザーが接続を要求したすべての VIF を Bare Metal Provisioning サービスに記録し、メタデータを生成しようとします。
- Compute サービスの使用時に VIF を接続する物理ポートは指定できません。マッピング先となるポートを明示的に宣言する場合は、代わりに Bare Metal Provisioning サービスを使用してアタッチメントを作成します。===
-
Bare Metal Provisioning サービス: クラウドユーザーは、
openstack baremetal node vif attachコマンドを使用して、VIF をベアメタルインスタンスに接続します。仮想ネットワークインターフェイス (VIF) の詳細は、Bare Metal Provisioning サービスの仮想ネットワークインターフェイス (VIF) を参照してください。
以下の手順では、Bare Metal Provisioning サービスを使用して、ベアメタルインスタンスをネットワークに接続します。Bare Metal Provisioning サービスは、Networking サービスで作成したポートの UUID を使用して VIF アタッチメントを作成します。
手順
ワークステーションから
OpenStackClientPod のリモートシェルにアクセスします。$ oc rsh -n openstack openstackclientVIF を接続するベアメタルインスタンスの UUID を取得します。
$ openstack server listノードに接続する VIF の UUID を取得します。
$ openstack port listオプション: VIF のマッピング先であるベアメタルポートの UUID を取得します。
$ openstack baremetal port listVIF をベアメタルインスタンスに接続します。
$ openstack baremetal node vif attach [--port-uuid <port_uuid>] \ <node> <vif_id>-
オプション:
<port_uuid>を、VIF の接続先となるベアメタルポートの UUID に置き換えます。 -
<node>を、VIF の接続先となるベアメタルインスタンスの名前または UUID に置き換えます。 -
<vif_id>を VIF の名前または UUID に置き換えて、ベアメタルインスタンスに接続します。
-
オプション:
openstackclientPod を終了します。$ exit
5.8.1. Bare Metal Provisioning サービスが VIF をベアメタルインスタンスに接続する方法 リンクのコピーリンクがクリップボードにコピーされました!
クラウドユーザーが、宣言されたポートやポートグループの優先設定なしに、openstack baremetal node vif attach コマンドを使用して仮想ネットワークインターフェイス (VIF) をベアメタルインスタンスに接続するよう要求すると、Bare Metal Provisioning サービス (ironic) は、以下の基準を順番に評価して、適切な未接続のポートまたはポートグループを選択します。
- ポートまたはポートグループには、物理ネットワークがないか、VIF の使用可能な物理ネットワークのいずれかに一致する物理ネットワークがあります。
- 物理ネットワークを持たないポートおよびポートグループよりも、物理ネットワークを持つポートおよびポートグループを優先します。
- ポートよりもポートグループを優先します。
- PXE が有効になっているポートを優先します。
Bare Metal Provisioning サービスが VIF をベアメタルインスタンスに接続すると、VIF がバインドされる物理ポートの MAC アドレスが明示的に設定されます。ノードがすでに ACTIVE 状態であると、Networking サービス (neutron) は VIF アタッチメントを更新します。
Bare Metal Provisioning サービスが VIF のバインドを解除すると、Networking サービスに固有のハードウェア MAC アドレス要件との競合を避けるために、Networking サービスにリクエストを行い、割り当てられた MAC アドレスをリセットします。
5.8.2. 仮想ネットワークインターフェイスの接続と切断 リンクのコピーリンクがクリップボードにコピーされました!
Bare Metal Provisioning サービスには、仮想ネットワークインターフェイス間のマッピングを管理するための API があります。たとえば、Networking サービス (neutron) のインターフェイスと物理インターフェイス (NIC) などです。これらのインターフェイスを各ベアメタルノードに設定して、仮想ネットワークインターフェイス (VIF) と物理ネットワークインターフェイス (PIF) のマッピングロジックを設定できます。
手順
ワークステーションから
OpenStackClientPod のリモートシェルにアクセスします。$ oc rsh -n openstack openstackclientベアメタルノードに接続されている VIF ID をリスト表示します。
$ openstack baremetal node vif list <node> +--------------------------------------+ | ID | +--------------------------------------+ | 4475bc5a-6f6e-466d-bcb6-6c2dce0fba16 | +--------------------------------------+-
<node>は、ベアメタルノードの名前または UUID に置き換えます。
-
VIF が接続された後に、Bare Metal Provisioning サービスは Networking サービス内の仮想ポートを物理ポートの MAC アドレスで更新します。このポートアドレスを確認します。
$ openstack port show 4475bc5a-6f6e-466d-bcb6-6c2dce0fba16 -c mac_address -c fixed_ips +-------------+-----------------------------------------------------------------------------+ | Field | Value | +-------------+-----------------------------------------------------------------------------+ | fixed_ips | ip_address='192.168.24.9', subnet_id='1d11c677-5946-4733-87c3-23a9e06077aa' | | mac_address | 00:2d:28:2f:8d:95 | +-------------+-----------------------------------------------------------------------------+ベアメタルノードを作成したネットワーク上に新規ポートを作成します。
$ openstack port create --network baremetal --fixed-ip ip-address=192.168.24.24 <port_name>接続先のベアメタルインスタンスからポートを削除します。
$ openstack server remove port <instance_name> 4475bc5a-6f6e-466d-bcb6-6c2dce0fba16その IP アドレスがリストには存在しなくなったことを確認します。
$ openstack server listそのノードに接続されている VIF があるかどうかを確認します。
$ openstack baremetal node vif list <node> $ openstack port list新規作成されたポートを追加します。
$ openstack server add port <instance_name> <port_name>新しい IP アドレスに新しいポートが表示されることを確認します。
$ openstack server listVIF ID が新規ポートの UUID であるかどうかを確認します。
$ openstack baremetal node vif list <node> +--------------------------------------+ | ID | +--------------------------------------+ | 6181c089-7e33-4f1c-b8fe-2523ff431ffc | +--------------------------------------+Networking サービスポートの MAC アドレスが更新され、Bare Metal Provisioning サービスポートの 1 つと一致しているか確認します。
$ openstack port show 6181c089-7e33-4f1c-b8fe-2523ff431ffc -c mac_address -c fixed_ips +-------------+------------------------------------------------------------------------------+ | Field | Value | +-------------+------------------------------------------------------------------------------+ | fixed_ips | ip_address='192.168.24.24', subnet_id='1d11c677-5946-4733-87c3-23a9e06077aa' | | mac_address | 00:2d:28:2f:8d:95 | +-------------+------------------------------------------------------------------------------+新規の IP アドレスを認識するように、ベアメタルノードを再起動します。
$ openstack server reboot overcloud-baremetal-0インターフェイスを接続または切断した後に、ベアメタルの OS は変更されたネットワークインターフェイスを削除、追加、変更します。ポートを置き換えると、DHCP 要求が新規 IP アドレスを取得しますが、古い DHCP リースがまだ有効なので、多少時間がかかる場合があります。これらの変更を即時に開始するには、ベアメタルノードを再起動します。