검색

4.9. 오버클라우드의 CPU 아키텍처 구성

download PDF

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로 변경할 수 있습니다.

절차

  1. undercloud.conf 파일에서 iPXE를 비활성화합니다.

    [DEFAULT]
    ipxe_enabled = False
    참고

    RHOSP 16.2.1 및 이전 버전의 경우 이 구성으로 인해 배포의 모든 x86_64 노드가 PXE/legacy 모드로 부팅됩니다. 오버클라우드에 대한 여러 CPU 아키텍처를 구성하려면 여러 CPU 아키텍처 오버클라우드 구성을 참조하십시오.

  2. 언더클라우드를 설치합니다.

    [stack@director ~]$ openstack undercloud install

    자세한 내용은 언더클라우드에 director 설치를 참조하십시오.

  3. 설치 스크립트가 완료될 때까지 기다리십시오.
  4. 오버클라우드 노드의 이미지를 가져와서 업로드합니다. 자세한 내용은 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 부팅만 지원합니다.

절차

  1. undercloud.conf 파일에서 iPXE를 활성화합니다.

    [DEFAULT]
    ipxe_enabled = True
  2. 언더클라우드의 사용자 지정 환경 파일 undercloud_noIronicIPXEEnabled.yaml 을 생성합니다.
  3. 기본 Bare Metal Provisioning 서비스(ironic) iPXE 설정을 PXE 로 변경하려면 undercloud_noIronicIPXEEnabled.yaml 에 다음 설정을 추가합니다.

    parameter_defaults:
      IronicIPXEEnabled: false
      IronicInspectorIPXEEnabled: true
  4. 아키텍처에 ppc64le 노드가 포함된 경우 undercloud_noIronicIPXEEnabled.yaml 에 다음 설정을 추가하여 부팅 제한 시간을 비활성화합니다.

    parameter_defaults:
      ExtraConfig:
        ironic::config::ironic_config:
          ipmi/disable_boot_timeout:
            value: 'false'
  5. undercloud.conf 파일에 사용자 지정 환경 파일을 추가합니다.

    [DEFAULT]
    ...
    custom_env_files = undercloud_noIronicIPXEEnabled.yaml
  6. 언더클라우드를 설치합니다.

    [stack@director ~]$ openstack undercloud install

    자세한 내용은 언더클라우드에 director 설치를 참조하십시오.

  7. 설치 스크립트가 완료될 때까지 기다리십시오.
  8. 오버클라우드 노드를 등록합니다.

    (undercloud)$ openstack overcloud node import ~/nodes.json

    오버클라우드 노드 등록에 대한 자세한 내용은 오버클라우드 노드 등록을 참조하십시오.

  9. 노드 등록 및 구성이 완료될 때까지 기다립니다.
  10. director가 노드를 성공적으로 등록했는지 확인합니다.

    (undercloud)$ openstack baremetal node list
  11. 등록된 각 노드의 기존 기능을 확인합니다.

    $ openstack baremetal node show <node> -f json -c properties | jq -r .properties.capabilities
  12. 노드의 기존 기능에 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 >까지 바꿉니다.
  13. 오버클라우드 노드의 이미지를 가져와서 업로드합니다. 자세한 내용은 여러 CPU 아키텍처 오버클라우드 이미지를 참조하십시오.
  14. 각 노드의 부팅 모드를 설정합니다.

    • 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
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.