第3章 オーバークラウドへのノードの追加
オーバークラウドは、新しい Nova コンピューティングおよび Ceph OSD ノードをオーバークラウドに追加することで、需要の増加に合わせて拡張できます。
前提条件
- 実行中の RHHI クラウドソリューション。
- ネットワークインターフェイスカード (NIC) の MAC アドレス。
- IPMI ユーザー名およびパスワード
手順
Red Hat OpenStack Platform director ノードで、stack ユーザーとして以下の手順を実施します。
新しいノードを管理するために Ironic サービスのホスト定義ファイルを作成し、設定します。
新しい JSON ホスト定義ファイルを作成します。
[stack@director ~]$ touch ~/new_node.json以下のテンプレートを使用して、
nodesスタンザの角括弧 ({"nodes": []}) の間に新しいノードの定義ブロックを追加します。{ "pm_password": "IPMI_USER_PASSWORD", "name": "NODE_NAME", "pm_user": "IPMI_USER_NAME", "pm_addr": "IPMI_IP_ADDR", "pm_type": "pxe_ipmitool", "mac": [ "NIC_MAC_ADDR" ], "arch": "x86_64", "capabilities": "node:_NODE_ROLE-INSTANCE_NUM_,boot_option:local" }- 以下を置き換えます。
- IPMI_USER_PASSWORD と IPMI パスワード。
- ノードのわかりやすい名前を持つ NODE_NAME。これはオプションのパラメーターです。
- IPMI_USER_NAME は、ノードの電源をオンまたはオフにすることのできる IPMI ユーザー名に置き換えます。
- IPMI_IP_ADDR は、IPMI IP アドレスに置き換えます。
- PXE ブートを処理するネットワークカードの MAC アドレスを持つ NIC_MAC_ADDR。
NODE_ROLE-INSTANCE_NUM とノードのロール、およびノード番号。このソリューションでは、
controllerとosd-computeの 2 つのロールを使用します。例
{ "nodes": [ { "pm_password": "AbC1234", "name": "m630_slot2", "pm_user": "ipmiadmin", "pm_addr": "10.19.143.62", "pm_type": "pxe_ipmitool", "mac": [ "c8:1f:66:65:33:42" ], "arch": "x86_64", "capabilities": "node:osd-compute-3,boot_option:local" } ] }
ノードを Ironic データベースにインポートします。
[stack@director ~]$ openstack baremetal import ~/new_node.jsonopenstack baremetal importコマンドが、新しいノードで Ironic データベースに投入されていることを確認します。[stack@director ~]$ openstack baremetal node list
新しいノードをメンテナンスモードに設定します。
ironic node-set-maintenance $UUID true- 以下を置き換えます。
$UUIDを新しいノードの UUID に置き換えます。ステップ 2a の出力を参照して、新しいノードの UUID を取得します。例
[stack@director ~]$ ironic node-set-maintenance 7250678a-a575-4159-840a-e7214e697165 true
新しいノードのハードウェアを検査します。
openstack baremetal introspection start $UUID- 以下を置き換えます。
$UUIDを新しいノードの UUID に置き換えます。ステップ 2a の出力を参照して、新しいノードの UUID を取得します。例
[stack@director ~]$ openstack baremetal introspection start 7250678a-a575-4159-840a-e7214e697165 trueイントロスペクションプロセスが完了するまでに時間がかかる場合があります。イントロスペクションプロセスのステータスを確認します。
[stack@director ~]$ openstack baremetal introspection bulk status出力例
+--------------------------------------+----------+-------+ | Node UUID | Finished | Error | +--------------------------------------+----------+-------+ | a94b75e3-369f-4b2d-b8cc-8ab272e23e89 | True | None | | 7ace7b2b-b549-414f-b83e-5f90299b4af3 | True | None | | 8be1d83c-19cb-4605-b91d-928df163b513 | True | None | | e8411659-bc2b-4178-b66f-87098a1e6920 | True | None | | 04679897-12e9-4637-9998-af8bee30b414 | True | None | | 48b4987d-e778-48e1-ba74-88a08edf7719 | True | None | | 7250678a-a575-4159-840a-e7214e697165 | True | None | +--------------------------------------+----------+-------+
新しいノードでメンテナンスモードを無効にします。
ironic node-set-maintenance $UUID false- 以下を置き換えます。
$UUIDを新しいノードの UUID に置き換えます。ステップ 2a の出力を参照して、新しいノードの UUID を取得します。例
[stack@director ~]$ ironic node-set-maintenance 7250678a-a575-4159-840a-e7214e697165 false
完全なオーバークラウドカーネルと RAM ディスクイメージを新しいノードに割り当てます。
[stack@director ~]$ openstack baremetal configure boot~/templates/layout.yamlファイルを開いて編集します。-
parameter_defaultsセクションで、OsdComputeCountオプションを3から4に変更します。 -
OsdComputeIPsセクションで、分離されたネットワークごとに新しいノードの IP アドレスを追加します。
-
最初のオーバークラウドデプロイメントと同じ TripleO Heat テンプレートを使用して
openstack overcloud deployコマンドを再実行し、新しいオーバークラウド設定を適用します。例
[stack@director ~]$ openstack overcloud deploy --templates \ -r ~/templates/custom-roles.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml \ -e ~/templates/network.yaml \ -e ~/templates/ceph.yaml \ -e ~/templates/compute.yaml \ -e ~/templates/layout.yaml新しいノードの追加を確認します。
[stack@director ~]$ openstack server list注記ノードのステータスが
ACTIVEの場合、新しいノードはオーバークラウドに正常に追加されています。