1.5. HCI 오버클라우드 배포
HCI 구성을 완료한 후 오버클라우드를 배포해야 합니다.
RHOSP(Red Hat OpenStack Platform) HCI 환경을 배포할 때 인스턴스 HA를 활성화하지 마십시오. Red Hat Ceph Storage와 함께 하이퍼컨버지드 RHOSP 배포와 함께 인스턴스 HA를 사용하려면 Red Hat 담당자에게 문의하십시오.
사전 요구 사항
-
다른 모든 Red Hat Ceph Storage 설정(예:
/home/stack/templates/storage-config.yaml)에 별도의 기본 환경 파일 또는 파일 집합을 사용하고 있습니다. 자세한 내용은 Customizing the Storage service and 부록 A. 샘플 환경 파일: Ceph Storage 클러스터 생성을 참조하십시오. - 기본 환경 파일에서 각 역할에 할당할 노드 수를 정의했습니다. 자세한 내용은 노드 및 플레이버 역할에 할당을 참조하십시오.
-
언더클라우드를 설치하는 동안
undercloud.conf파일에generate_service_certificate=false를 설정합니다. 그렇지 않으면 Overcloud Public Endpoint에서 SSL/TLS 활성화에 설명된 대로 오버클라우드를 배포할 때 신뢰 앵커를 삽입해야 합니다.
절차
다른 환경 파일을 사용하여 스택에 새 역할 및 환경 파일을 추가하고 HCI 오버클라우드를 배포합니다.
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -r /home/stack/templates/roles_data_hci.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml -e /home/stack/templates/storage-config.yaml \ -e /home/stack/templates/storage-container-config.yaml \ -n /home/stack/templates/network_data.yaml \ [-e /home/stack/templates/ceph-backfill-recovery.yaml \ ] --ntp-server pool.ntp.org
배포 명령에
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml을 포함하여 컨테이너화된 Red Hat Ceph 클러스터를 배포하는 기본 환경 파일을 모든 기본 설정으로 추가합니다. 자세한 내용은 Deploying an Overcloud with Containerized Red Hat Ceph 를 참조하십시오.
배포에서 단일 루트 입력/출력 가상화(SR-IOV)를 사용하는 경우 배포 명령에 다음 옵션을 포함합니다.
배포에서 ML2/OVS 메커니즘 드라이버를 사용하는 경우 다음 옵션을 지정합니다.
-e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml -e /home/stack/templates/network-environment.yaml
배포에서 ML2/OVN 메커니즘 드라이버를 사용하는 경우 다음 옵션을 지정합니다.
-e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml -e /home/stack/templates/network-environment.yaml
응답 파일을 사용하여 배포에 포함할 환경 파일을 지정할 수도 있습니다. 자세한 내용은 Director 설치 및 사용 가이드 의 오버클라우드 배포의 환경 파일 포함 을 참조하십시오.
1.5.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플레이북을 통해 발생하기 때문에 필요합니다.