1.5. HCI 오버클라우드 배포

HCI 구성을 완료한 후 오버클라우드를 배포해야 합니다.

중요

RHOSP(Red Hat OpenStack Platform) HCI 환경을 배포할 때 인스턴스 HA를 활성화하지 마십시오. Red Hat Ceph Storage와 함께 하이퍼컨버지드 RHOSP 배포와 함께 인스턴스 HA를 사용하려면 Red Hat 담당자에게 문의하십시오.

사전 요구 사항

절차

  • 다른 환경 파일을 사용하여 스택에 새 역할 및 환경 파일을 추가하고 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 스토리지 노드에서 실행할 필요는 없습니다. 환경 파일과 노드 이름을 환경에 적합한 이름으로 바꿉니다.

절차

  1. stack 사용자로 언더클라우드 노드에 로그인하고 stack rc 자격 증명 파일을 가져옵니다.

    # source stackrc
  2. 새 디스크를 사용하여 누락된 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 플레이북을 통해 발생하기 때문에 필요합니다.