3장. 전용 노드에 기타 Ceph 서비스 배포
기본적으로 director는 컨트롤러 노드에 Ceph MON 및 Ceph MDS 서비스를 배포합니다. 이는 소규모 배포에 적합합니다. 그러나 대규모 배포에서는 Ceph 클러스터의 성능을 향상시키기 위해 전용 노드에 Ceph MON 및 Ceph MDS 서비스를 배포하는 것이 좋습니다. 둘 중 하나에 대한 사용자 지정 역할 을 생성하여 이 작업을 수행할 수 있습니다.
사용자 지정 역할에 대한 자세 한 내용은 Advanced Overcloud Customization 가이드의 새 역할 생성 가이드를 참조하십시오.
director는 다음 파일을 모든 오버클라우드 역할에 대한 기본 참조로 사용합니다.
-
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
사용자 지정 역할을 추가할 수 있도록 이 파일을 /home/stack/templates/
에 복사합니다.
$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data_custom.yaml
나중에 오버클라우드 생성 중에 /home/stack/templates/roles_data_custom.yaml
파일을 호출합니다.7.2절. “오버클라우드 배포 시작” 다음 하위 섹션에서는 Ceph MON 및 Ceph MDS 서비스에 대한 사용자 지정 역할을 구성하는 방법을 설명합니다.
3.1. Ceph MON 서비스의 사용자 지정 역할 및 플레이버 생성
이 섹션에서는 Ceph MON 역할에 대한 사용자 지정 역할( CephMon
) 및 플레이버( ceph-mon
)를 생성하는 방법에 대해 설명합니다. 3장. 전용 노드에 기타 Ceph 서비스 배포 에 설명된 대로 기본 역할 데이터 파일의 사본이 이미 있어야 합니다.
-
/home/stack/templates/roles_data_custom.yaml
파일을 엽니다. - 컨트롤러 역할의 에서 Ceph MON 서비스(예: OS::TripleO::Services::CephMon)의 서비스 항목을 제거합니다.
컨트롤러 역할에 OS::TripleO::Services::CephClient 서비스를 추가합니다.
[...] - name: Controller # the 'primary' role goes first CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMds - OS::TripleO::Services::CephClient - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephRbdMirror - OS::TripleO::Services::CephRgw - OS::TripleO::Services::CinderApi [...]
roles_data_custom.yaml
이 끝나면 Ceph MON 서비스와 기타 모든 필수 노드 서비스가 포함된 사용자 지정CephMon
역할을 추가합니다. 예를 들면 다음과 같습니다.- name: CephMon ServicesDefault: # Common Services - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned # Role-Specific Services - OS::TripleO::Services::CephMon
openstack flavor create
명령을 사용하여 이 역할에 대해ceph-mon
이라는 새 플레이버를 정의합니다.$ openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 ceph-mon
참고이 명령에 대한 자세한 내용을 보려면
openstack flavor create --help
를 실행하십시오.이 플레이버를
ceph-mon
이라는 새 프로필에 매핑합니다.$ openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="ceph-mon" ceph-mon
참고이 명령에 대한 자세한 내용은
openstack flavor set --help
를 실행하십시오.새
ceph-mon
프로필에 노드를 태그합니다.$ ironic node-update UUID add properties/capabilities='profile:ceph-mon,boot_option:local'
node-info.yaml
파일에 다음 구성을 추가하여ceph-mon
플레이버를 CephMon 역할과 연결합니다.parameter_defaults: OvercloudCephMonFlavor: CephMon CephMonCount: 3
노드의 태그 지정에 대한 자세한 내용은 2.4절. “수동으로 노드 태그 지정” 을 참조하십시오. 사용자 지정 역할 프로필에 대한 관련 정보는 프로필 태그 지정을 참조하십시오.