7.2. 오버클라우드 배포 시작
언더클라우드를 설치하는 동안 undercloud.conf 파일에 generate_service_certificate=false 를 설정합니다. 그렇지 않으면 Advanced Overcloud Customization 가이드의 Overcloud Public Endpoint에서 SSL/TLS 활성화에 설명된 대로 오버클라우드를 배포할 때 신뢰 앵커를 삽입해야 합니다.
- 참고
- 오버클라우드 배포 중에 Ceph 대시보드를 추가하려면 8장. 오버클라우드 배포에 Red Hat Ceph Storage 대시보드 추가 을 참조하십시오.
오버클라우드를 생성하려면 openstack overcloud deploy 명령에 추가 인수가 필요합니다. 예를 들면 다음과 같습니다.
$ openstack overcloud deploy --templates -r /home/stack/templates/roles_data_custom.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-rgw.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml
-e /usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml \
-e /home/stack/templates/storage-config.yaml \
-e /home/stack/templates/ceph-config.yaml \
--ntp-server pool.ntp.org
위의 명령은 다음 옵션을 사용합니다.
-
--templates- 기본 Heat 템플릿 컬렉션(즉,/usr/share/openstack-tripleo-heat-templates/)에서 Overcloud를 생성합니다. -
-r /home/stack/templates/roles_data_custom.yaml- 3장. 전용 노드에 Ceph 서비스 배포 에서 사용자 지정 역할 정의 파일을 지정합니다. 이 파일은 Ceph MON 또는 Ceph MDS 서비스에 대한 사용자 지정 역할을 추가합니다. 이러한 역할을 통해 두 서비스를 전용 노드에 설치할 수 있습니다. -
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml- director를 설정하여 Ceph 클러스터를 생성합니다. 특히 이 환경 파일은 컨테이너화된 Ceph Storage 노드가 있는 Ceph 클러스터를 배포합니다. -
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-rgw.yaml- 4.2절. “Ceph Object Gateway 활성화” 에 설명된 대로 Ceph Object Gateway를 활성화합니다. -
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml-에 설명된 대로 Ceph 메타데이터 서버를 활성화합니다. 4.1절. “Ceph 메타데이터 서버 활성화”. -
-e /usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml- 4.4절. “Ceph를 사용하도록 백업 서비스 구성” 에 설명된 대로 Block Storage Backup 서비스(cinder-backup)를 활성화합니다. -
-e /home/stack/templates/storage-config.yaml- 사용자 지정 Ceph Storage 구성이 포함된 환경 파일을 추가합니다. -
-e /home/stack/templates/ceph-config.yaml- 5장. Ceph Storage 클러스터 사용자 지정 에 설명된 대로 사용자 지정 Ceph 클러스터 설정이 포함된 환경 파일을 추가합니다. -
--ntp-server pool.ntp.org- NTP 서버를 설정합니다.
응답 파일을 사용하여 모든 템플릿과 환경 파일을 호출할 수도 있습니다. 예를 들어 다음 명령을 사용하여 동일한 오버클라우드를 배포할 수 있습니다.
$ openstack overcloud deploy -r /home/stack/templates/roles_data_custom.yaml \
--answers-file /home/stack/templates/answers.yaml --ntp-server pool.ntp.org
이 경우 /home/stack/templates/answers.yaml 응답 파일에는 다음이 포함됩니다.
templates: /usr/share/openstack-tripleo-heat-templates/
environments:
- /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml
- /usr/share/openstack-tripleo-heat-templates/environments/ceph-rgw.yaml
- /usr/share/openstack-tripleo-heat-templates/environments/ceph-mds.yaml
- /usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml
- /home/stack/templates/storage-config.yaml
- /home/stack/templates/ceph-config.yaml
자세 한 내용은 오버클라우드 배포에서 환경 파일 포함을 참조하십시오.
전체 옵션 목록은 다음을 입력합니다.
$ openstack help overcloud deploy
자세 한 내용은 Director 설치 및 사용 가이드의 CLI 툴을 사용하여 기본 오버클라우드 구성 을 참조하십시오.
오버클라우드 생성 프로세스가 시작되고 director가 노드를 프로비저닝합니다. 이 프로세스를 완료하는 데 다소 시간이 걸립니다. 오버클라우드 생성 상태를 보려면 stack 사용자로 별도의 터미널을 열고 다음 명령을 입력합니다.
$ source ~/stackrc
$ openstack stack list --nested
7.2.1. ceph-anible 이 실행되는 노드 제한 링크 복사링크가 클립보드에 복사되었습니다!
ceph-anible 이 실행되는 노드를 제한하여 배포 업데이트 시간을 줄일 수 있습니다. RHOSP(Red Hat OpenStack Platform)에서 config-download 를 사용하여 Ceph를 구성하는 경우 전체 배포에서 config-download 및 을 실행하는 대신 ceph- anible--limit 옵션을 사용하여 노드 목록을 지정할 수 있습니다. 이 기능은 예를 들어 오버클라우드를 확장하거나 실패한 디스크를 교체하는 데 유용합니다. 이러한 시나리오에서는 환경에 추가하는 새 노드에서만 배포를 실행할 수 있습니다.
실패한 디스크 교체에서 --limit 를 사용하는 시나리오의 예
다음 예제 절차에서 Ceph storage 노드 oc0-cephstorage-0 에는 디스크 오류가 있으므로 새 팩토리 클린 디스크를 받을 수 있습니다. 새 디스크를 OSD로 사용할 수 있도록 oc0-cephstorage-0 노드에서 Ansible을 실행해야 하지만 다른 모든 Ceph 스토리지 노드에서 실행할 필요는 없습니다. 환경 파일과 노드 이름을 환경에 적합한 이름으로 바꿉니다.
절차
stack 사용자로 언더클라우드 노드에 로그인하고 stackrc자격 증명 파일을 가져옵니다.# source stackrc새 디스크를 사용하여 누락된 OSD를 시작하도록 다음 단계 중 하나를 완료합니다.
스택 업데이트를 실행하고
--limit옵션을 포함하여ceph-ansible을 실행할 노드를 지정합니다.$ openstack overcloud deploy --templates \ -r /home/stack/roles_data.yaml \ -n /usr/share/openstack-tripleo-heat-templates/network_data_dashboard.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e ~/my-ceph-settings.yaml \ -e <other-environment_files> \ --limit oc0-controller-0:oc0-controller-2:oc0-controller-1:oc0-cephstorage-0:undercloud이 예에서는 Ceph mons에서 OSD 정의를 변경하는 데 Ansible이 필요하므로 컨트롤러가 포함됩니다.
config-download에서ansible-playbook-command.sh스크립트를 생성한 경우--limit옵션으로 스크립트를 실행하여 지정된 노드를ceph-ansible에 전달할 수도 있습니다../ansible-playbook-command.sh --limit oc0-controller-0:oc0-controller-2:oc0-controller-1:oc0-cephstorage-0:undercloud- 경고
-
항상 제한 목록에 언더클라우드를 포함해야 합니다. 그러지 않으면
--limit를 사용하는 경우ceph-anible을 실행할 수 없습니다. 이는ceph-ansible실행이 언더클라우드에서만 실행되는external_deploy_steps_tasks플레이북을 통해 발생하기 때문에 필요합니다.