4.9. 오버클라우드의 CPU 아키텍처 구성
RHOSP(Red Hat OpenStack Platform)는 오버클라우드의 CPU 아키텍처를 기본적으로 x86_64로 구성합니다. POWER(ppc64le) 하드웨어에 오버클라우드 컴퓨팅 노드를 배포할 수도 있습니다. 컴퓨팅 노드 클러스터의 경우 동일한 아키텍처를 사용하거나 x86_64 및 ppc64le 시스템을 조합해서 사용할 수 있습니다.
언더클라우드, 컨트롤러 노드, Ceph Storage 노드 및 기타 모든 시스템은 x86_64 하드웨어에서만 지원됩니다.
4.9.1. POWER(ppc64le)를 오버클라우드의 단일 CPU 아키텍처로 구성
오버클라우드에서 컴퓨팅 노드의 기본 CPU 아키텍처는 x86_64입니다. POWER(ppc64le) 하드웨어에 오버클라우드 컴퓨팅 노드를 배포하려면 아키텍처를 ppc64le로 변경할 수 있습니다.
절차
undercloud.conf
파일에서 iPXE를 비활성화합니다.[DEFAULT] ipxe_enabled = False
참고RHOSP 16.2.1 및 이전 버전의 경우 이 구성으로 인해 배포의 모든 x86_64 노드가 PXE/legacy 모드로 부팅됩니다. 오버클라우드에 대한 여러 CPU 아키텍처를 구성하려면 여러 CPU 아키텍처 오버클라우드 구성을 참조하십시오.
언더클라우드를 설치합니다.
[stack@director ~]$ openstack undercloud install
자세한 내용은 언더클라우드에 director 설치를 참조하십시오.
- 설치 스크립트가 완료될 때까지 기다리십시오.
- 오버클라우드 노드의 이미지를 가져와서 업로드합니다. 자세한 내용은 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
을 생성합니다. 기본 Bare Metal Provisioning 서비스(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
자세한 내용은 언더클라우드에 director 설치를 참조하십시오.
- 설치 스크립트가 완료될 때까지 기다리십시오.
오버클라우드 노드를 등록합니다.
(undercloud)$ openstack overcloud node import ~/nodes.json
오버클라우드 노드 등록에 대한 자세한 내용은 오버클라우드 노드 등록을 참조하십시오.
- 노드 등록 및 구성이 완료될 때까지 기다립니다.
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>
-
&
lt;node&
gt;를 베어 메탈 노드의 ID로 바꿉니다. -
&
lt;capability_1
> 및 모든 기능을 <capability_n
>까지 바꿉니다.
-
&
- 오버클라우드 노드의 이미지를 가져와서 업로드합니다. 자세한 내용은 여러 CPU 아키텍처 오버클라우드 이미지를 참조하십시오.
각 노드의 부팅 모드를 설정합니다.
legacy/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. 다중 아키텍처 오버클라우드에서 구성 가능 서비스 사용
일반적으로 컨트롤러 노드의 일부인 다음 서비스는 사용자 지정 역할에 기술 프리뷰로 제공되므로 일부는 Red Hat에서 지원하지 않습니다.
- Block Storage 서비스(cinder)
- Image 서비스(glance)
- Identity 서비스(keystone)
- Networking 서비스(neutron)
- Object Storage 서비스(swift)
Red Hat은 기술 프리뷰의 기능을 지원하지 않습니다.
구성 가능 서비스에 관한 자세한 내용은 Advanced Overcloud Customization 가이드의 composable services and custom roles를 참조하십시오. 다음 예제를 사용하여 위의 서비스를 컨트롤러 노드에서 전용 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