4.9. オーバークラウド用の CPU アーキテクチャーの設定
Red Hat OpenStack Platform (RHOSP) は、オーバークラウドの CPU アーキテクチャーをデフォルトで x86_64 として設定します。POWER (ppc64le) ハードウェアにオーバークラウド Compute ノードをデプロイすることもできます。Compute ノードのクラスターには、同じアーキテクチャーのシステム、または x86_64 と ppc64le が混在するシステムを使用することができます。
アンダークラウド、Controller ノード、Ceph Storage ノード、およびその他のシステムは、すべて x86_64 ハードウェアでのみサポートされています。
4.9.1. オーバークラウドの単一 CPU アーキテクチャーとしての POWER (ppc64le) の設定
オーバークラウド上の Compute ノードのデフォルトの CPU アーキテクチャーは x86_64 です。オーバークラウド Compute ノードを POWER (ppc64le) ハードウェアにデプロイするには、アーキテクチャーを ppc64le に変更できます。
手順
undercloud.conf
ファイルで iPXE を無効にします。[DEFAULT] ipxe_enabled = False
注記RHOSP 16.2.1 以前の場合、この設定により、デプロイメント内のすべての x86_64 ノードも PXE/ レガシーモードで起動します。オーバークラウド用にマルチ CPU アーキテクチャーを設定するには、Configuring a multiple CPU architecture overcloud を参照してください。
アンダークラウドをインストールします。
[stack@director ~]$ openstack undercloud install
詳細は、Installing director on the undercloud を参照してください。
- インストールスクリプトが完了するまで待ちます。
- オーバークラウドノードのイメージを取得してアップロードします。詳細は、Obtaining images for overcloud nodes を参照してください。
4.9.2. マルチ CPU アーキテクチャーオーバークラウドの設定
RHOSP 16.2.2 以降では、アーキテクチャーに POWER (ppc64le) と x86_64 UEFI ノードの両方が含まれている場合、PXE と iPXE の両方のブートモードをサポートするようにアンダークラウドを設定することができます。
アーキテクチャーに POWER (ppc64le) ノードが含まれている場合、RHOSP 16.2.1 以前は PXE ブートのみをサポートします。
手順
undercloud.conf
ファイルで iPXE を有効にします。[DEFAULT] ipxe_enabled = True
-
アンダークラウド用のカスタム環境ファイル
undercloud_noIronicIPXEEnabled.yaml
を作成します。 デフォルトのベアメタルプロビジョニングサービス (ironic) iPXE 設定を
PXE
に変更するには、以下の設定をundercloud_noIronicIPXEEnabled.yaml
に追加します。parameter_defaults: IronicIPXEEnabled: false IronicInspectorIPXEEnabled: true
アーキテクチャーに
ppc64le
ノードが含まれている場合は、以下の設定をundercloud_noIronicIPXEEnabled.yaml
に追加して、ブートタイムアウトを無効にします。parameter_defaults: ExtraConfig: ironic::config::ironic_config: ipmi/disable_boot_timeout: value: 'false'
undercloud.conf
ファイルにカスタム環境ファイルを含めます。[DEFAULT] ... custom_env_files = undercloud_noIronicIPXEEnabled.yaml
アンダークラウドをインストールします。
[stack@director ~]$ openstack undercloud install
詳細は、Installing director on the undercloud を参照してください。
- インストールスクリプトが完了するまで待ちます。
オーバークラウドノードを登録します。
(undercloud)$ openstack overcloud node import ~/nodes.json
オーバークラウドノードの登録の詳細については、Registering nodes for the overcloud を参照してください。
- ノードの登録および設定が完了するまで待ちます。
director がノードを正常に登録したことを確認します。
(undercloud)$ openstack baremetal node list
登録された各ノードの既存の機能を確認します。
$ openstack baremetal node show <node> -f json -c properties | jq -r .properties.capabilities
ノードの既存の機能に
boot_mode:uefi
を追加して、登録されている各ノードのブートモードをuefi
に設定します。$ openstack baremetal node set --property capabilities="boot_mode:uefi,<capability_1>,...,<capability_n>" <node>
-
<node>
をベアメタルノードの ID に置き換えてください。 -
<capability_1>
、および<capability_n>
までのすべての機能を、手順 6 で取得した各機能に置き換えます。
-
- オーバークラウドノードのイメージを取得してアップロードします。詳細は、Multiple CPU architecture overcloud images を参照してください。
各ノードのブートモードを設定します。
レガシー/PXE の場合。
$ openstack baremetal node set --boot-interface pxe <node_name>
iPXE の場合:
$ openstack baremetal node set --boot-interface ipxe <node_name>
4.9.3. マルチアーキテクチャーオーバークラウドでの Ceph Storage の使用
マルチアーキテクチャークラウドにおいて外部 Ceph へのアクセスを設定する場合には、CephAnsiblePlaybook
パラメーターを /usr/share/ceph-ansible/site.yml.sample
に設定し、クライアントキーおよびその他の Ceph 固有パラメーターを含めます。
以下に例を示します。
parameter_defaults: CephAnsiblePlaybook: /usr/share/ceph-ansible/site.yml.sample CephClientKey: AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ== CephClusterFSID: 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 CephExternalMonHost: 172.16.1.7, 172.16.1.8
4.9.4. マルチアーキテクチャーオーバークラウドでのコンポーザブルサービスの使用
一般に Controller ノードの一部となる以下のサービスは、テクノロジープレビューとしてカスタムロールでの使用が可能です。
- Block Storage サービス (cinder)
- Image サービス (glance)
- Identity サービス (keystone)
- Networking サービス (neutron)
- Object Storage サービス (swift)
Red Hat は、テクノロジープレビューの機能をサポートしていません。
コンポーザブルサービスについての詳しい情報は、Advanced Overcloud Customizationの composable services and custom roles を参照してください。以下の例を使用して、上記のサービスを Controller ノードから専用の ppc64le ノードに移動する方法を説明します。
(undercloud) [stack@director ~]$ rsync -a /usr/share/openstack-tripleo-heat-templates/. ~/templates (undercloud) [stack@director ~]$ cd ~/templates/roles (undercloud) [stack@director roles]$ cat <<EO_TEMPLATE >ControllerPPC64LE.yaml ############################################################################### # Role: ControllerPPC64LE # ############################################################################### - name: ControllerPPC64LE description: | Controller role that has all the controller services loaded and handles Database, Messaging and Network functions. CountDefault: 1 tags: - primary - controller networks: - External - InternalApi - Storage - StorageMgmt - Tenant # For systems with both IPv4 and IPv6, you may specify a gateway network for # each, such as ['ControlPlane', 'External'] default_route_networks: ['External'] HostnameFormatDefault: '%stackname%-controllerppc64le-%index%' ImageDefault: ppc64le-overcloud-full ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::CinderApi - OS::TripleO::Services::CinderBackendDellPs - OS::TripleO::Services::CinderBackendDellSc - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI - OS::TripleO::Services::CinderBackendDellEMCVNX - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale - OS::TripleO::Services::CinderBackup - OS::TripleO::Services::CinderHPELeftHandISCSI - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Collectd - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::GlanceApi - OS::TripleO::Services::GlanceRegistry - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronApi - OS::TripleO::Services::NeutronBgpVpnApi - OS::TripleO::Services::NeutronSfcApi - OS::TripleO::Services::NeutronCorePlugin - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronL2gwAgent - OS::TripleO::Services::NeutronL2gwApi - OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronLbaasv2Agent - OS::TripleO::Services::NeutronLbaasv2Api - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronML2FujitsuCfab - OS::TripleO::Services::NeutronML2FujitsuFossw - OS::TripleO::Services::NeutronOvsAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::SwiftProxy - OS::TripleO::Services::SwiftDispersion - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::SwiftStorage - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned - OS::TripleO::Services::Vpp - OS::TripleO::Services::OVNController - OS::TripleO::Services::OVNMetadataAgent - OS::TripleO::Services::Ptp EO_TEMPLATE (undercloud) [stack@director roles]$ sed -i~ -e '/OS::TripleO::Services::\(Cinder\|Glance\|Swift\|Keystone\|Neutron\)/d' Controller.yaml (undercloud) [stack@director roles]$ cd ../ (undercloud) [stack@director templates]$ openstack overcloud roles generate \ --roles-path roles -o roles_data.yaml \ Controller Compute ComputePPC64LE ControllerPPC64LE BlockStorage ObjectStorage CephStorage