OpenStack Compute のベアメタルドライバーは、Orchestration (Heat) のような、一般的なクラウド API やツールを使用することにより、物理サーバーへの配備を管理できます。このドライバーのユースケースは、HPC クラスターのような単一プロジェクトクラウドや OpenStack 自身のデプロイメントの用途です。
ベアメタルドライバーを使用する場合、ネットワークインターフェースを作成し、それをベアメタルノードに追加する必要があります。その後、ベアメタルイメージからインスタンスを起動できます。
ベアメタルノードの一覧表示や削除が可能です。ノードを削除すると、関連付けられているネットワークインターフェースも削除されます。ベアメタルノードに関連付けられているネットワークインターフェースを一覧表示、削除することができます。
以下のコマンドは、ベアメタルノードを管理するために使用できます。
baremetal-interface-add
baremetal-interface-list
baremetal-interface-remove
baremetal-node-create
baremetal-node-delete
baremetal-node-list
baremetal-node-show
ベアメタルノードを作成する場合、お使いのハードウェアの BIOS/IPMI で設定されている PM アドレス、ユーザー名、パスワードと同じ物を使用する必要があります。
$ nova baremetal-node-create --pm_address PM_ADDRESS --pm_user PM_USERNAME \
--pm_password PM_PASSWORD $(hostname -f) 1 512 10 aa:bb:cc:dd:ee:ff
以下の例は、物理マシンアドレス 1.2.3.4
、ユーザー名 ipmi
、パスワード ipmi
を持つノードを作成するコマンドと実行結果です。
$ nova baremetal-node-create --pm_address 1.2.3.4 --pm_user ipmi \
--pm_password ipmi $(hostname -f) 1 512 10 aa:bb:cc:dd:ee:ff
+------------------+-------------------+
| Property | Value |
+------------------+-------------------+
| instance_uuid | None |
| pm_address | 1.2.3.4 |
| interfaces | [] |
| prov_vlan_id | None |
| cpus | 1 |
| memory_mb | 512 |
| prov_mac_address | aa:bb:cc:dd:ee:ff |
| service_host | ubuntu |
| local_gb | 10 |
| id | 1 |
| pm_user | ipmi |
| terminal_port | None |
+------------------+-------------------+
ノードの各 NIC は、インターフェースの MAC アドレスを指定して、インターフェースを作成する必要があります。
$ nova baremetal-interface-add 1 aa:bb:cc:dd:ee:ff
+-------------+-------------------+
| Property | Value |
+-------------+-------------------+
| datapath_id | 0 |
| id | 1 |
| port_no | 0 |
| address | aa:bb:cc:dd:ee:ff |
+-------------+-------------------+
ベアメタルインスタンスは、物理マシンに直接作成されたインスタンスです。基盤として仮想化レイヤーを持っていません。Nova は IPMI 経由で電源を制御します。いくつかの場合、Nova は Neutron や OpenFlow 経由でネットワークを制御するかもしれません。
$ openstack server create --image my-baremetal-image --flavor \
my-baremetal-flavor test
+-----------------------------+--------------------------------------+
| Property | Value |
+-----------------------------+--------------------------------------+
| status | BUILD |
| id | cc302a8f-cd81-484b-89a8-b75eb3911b1b |
+-----------------------------+--------------------------------------+
... wait for instance to become active ...
注釈
--availability-zone
パラメーターを設定して、サーバーを起動するゾーンまたはノードを指定します。ホスト名とゾーンはコンマで区切ります。例えば以下のようになります。
$ openstack server create --availability-zone zone:HOST,NODE
host
は --availability-zone
パラメーターのオプションです。単に zone:,node
と指定することもできます。コンマを使用することもできます。
nova baremetal-node-list コマンドを使用して、すべてのベアメタルノードとインターフェースを表示します。ノードが使用中の場合、実行されているインスタンスの UUID もステータスに含められます。
$ nova baremetal-node-list
+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+
| ID | Host | CPUs | Memory_MB | Disk_GB | MAC Address | VLAN | PM Address | PM Username | PM Password | Terminal Port |
+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+
| 1 | ubuntu | 1 | 512 | 10 | aa:bb:cc:dd:ee:ff | None | 1.2.3.4 | ipmi | | None |
+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+
nova baremetal-node-show コマンドを使用して、全ベアメタルノードとインターフェースを表示します。
$ nova baremetal-node-show 1
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| instance_uuid | cc302a8f-cd81-484b-89a8-b75eb3911b1b |
| pm_address | 1.2.3.4 |
| interfaces | [{u'datapath_id': u'0', u'id': 1, |
| | u'port_no': 0, |
| | u'address': u'aa:bb:cc:dd:ee:ff'}] |
| prov_vlan_id | None |
| cpus | 1 |
| memory_mb | 512 |
| prov_mac_address | aa:bb:cc:dd:ee:ff |
| service_host | ubuntu |
| local_gb | 10 |
| id | 1 |
| pm_user | ipmi |
| terminal_port | None |
+------------------+--------------------------------------+
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.