Menu Close
Settings Close

Language and Page Formatting Options

19.2. 외부 Ceph 배포로 컨트롤러 노드 업그레이드

외부 Ceph 배포를 사용하여 업그레이드하는 경우 다음 절차를 완료해야 합니다.

모든 컨트롤러 노드를 OpenStack Platform 16.1로 업그레이드하려면 부트스트랩 컨트롤러 노드부터 각 컨트롤러 노드를 업그레이드해야 합니다.

부트스트랩 컨트롤러 노드 업그레이드 프로세스 중에 새 Pacemaker 클러스터가 생성되고 노드에서 새로운 Red Hat OpenStack 16.1 컨테이너가 시작되지만 나머지 컨트롤러 노드는 여전히 Red Hat OpenStack 13에서 실행됩니다.

부트스트랩 노드를 업그레이드한 후에는 Pacemaker 서비스를 사용하여 각 추가 노드를 업그레이드하고 각 노드가 부트스트랩 노드로 시작되는 새 Pacemaker 클러스터에 참여하는지 확인해야 합니다. 자세한 내용은 Overcloud 노드 업그레이드 워크플로를 참조하십시오.

이 예에서 컨트롤러 노드의 이름은 기본 overcloud-controller-NODEID 규칙을 사용하여 이름이 지정됩니다. 여기에는 다음과 같은 세 가지 컨트롤러 노드가 포함됩니다.

  • overcloud-controller-0
  • overcloud-controller-1
  • overcloud-controller-2

해당하는 경우 고유한 노드 이름으로 이 값을 바꿉니다.

참고

오버클라우드 기본 스택 이름을 사용하지 않는 경우 STACK NAME을 스택 이름으로 교체하는 --stack STACK NAME 옵션으로 스택 이름을 설정합니다.

절차

  1. stackrc 파일을 소싱합니다.

    $ source ~/stackrc
  2. 언더클라우드 노드에서 다음 명령을 실행하여 부트스트랩 컨트롤러 노드를 식별합니다.

    $ tripleo-ansible-inventory --list --stack overcloud |jq .overcloud_Controller.hosts[0]
  3. 부트스트랩 컨트롤러 노드를 업그레이드합니다.

    1. system_upgrade 태그로 upgrade 명령을 실행합니다.

      $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-0

      이 명령은 다음 작업을 수행합니다.

      • 운영 체제의 Leapp 업그레이드를 수행합니다.
      • Leapp 업그레이드의 일부로 재부팅을 수행합니다.

        중요

        다음 명령을 실행하면 컨트롤 플레인이 중단됩니다. 다음 몇 단계에서 오버클라우드에서 표준 작업을 수행할 수 없습니다.

    2. system_upgrade_transfer_data 태그를 사용하여 외부 upgrade 명령을 실행합니다.

      $ openstack overcloud external-upgrade run --stack STACK NAME --tags system_upgrade_transfer_data

      이 명령은 기존 노드의 최신 데이터베이스 버전을 부트스트랩 노드로 복사합니다.

    3. nova_hybrid_state 태그로 upgrade 명령을 실행하고 upgrade_ steps_playbook.yaml 플레이북만 실행합니다.

      $ openstack overcloud upgrade run --stack STACK NAME --playbook upgrade_steps_playbook.yaml --tags nova_hybrid_state --limit all

      이 명령은 이후 단계에서 컴퓨팅 노드를 업그레이드할 때 워크로드 마이그레이션을 용이하게 하기 위해 컴퓨팅 노드에서 임시 16.1 컨테이너를 시작합니다.

    4. 태그 없이 업그레이드 명령을 실행합니다.

      $ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0

      이 명령은 Red Hat OpenStack Platform 업그레이드를 수행합니다.

      중요

      이 명령이 완료되면 컨트롤 플레인이 활성화됩니다. 오버클라우드에서 표준 작업을 다시 수행할 수 있습니다.

    5. 업그레이드 후 새 Pacemaker 클러스터가 시작되고 galera, rabbit, haproxy, redis와 같은 컨트롤 플레인 서비스가 실행 중인지 확인합니다.

      $ sudo pcs status
  4. 다음 컨트롤러 노드를 업그레이드합니다.

    1. 이전 클러스터가 더 이상 실행되지 않는지 확인합니다.

      $ sudo pcs status

      클러스터가 실행 중이 아닌 경우 다음과 유사한 오류가 표시됩니다.

      Error: cluster is not currently running on this node
    2. 다음 컨트롤러 노드에서 system_upgrade 태그로 upgrade 명령을 실행합니다.

      $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-1

      이 명령은 다음 작업을 수행합니다.

      • 운영 체제의 Leapp 업그레이드를 수행합니다.
      • Leapp 업그레이드의 일부로 재부팅을 수행합니다.
    3. 태그 없이 업그레이드 명령을 실행합니다.

      $ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0,overcloud-controller-1

      이 명령은 Red Hat OpenStack Platform 업그레이드를 수행합니다. 이 노드 외에도 --limit 옵션에 이전에 업그레이드한 부트스트랩 노드를 포함합니다.

  5. 최종 컨트롤러 노드를 업그레이드합니다.

    1. 이전 클러스터가 더 이상 실행되지 않는지 확인합니다.

      $ sudo pcs status

      클러스터가 실행 중이 아닌 경우 다음과 유사한 오류가 표시됩니다.

      Error: cluster is not currently running on this node
    2. system_upgrade 태그로 upgrade 명령을 실행합니다.

      $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-2

      이 명령은 다음 작업을 수행합니다.

      • 운영 체제의 Leapp 업그레이드를 수행합니다.
      • Leapp 업그레이드의 일부로 재부팅을 수행합니다.
    3. 태그 없이 업그레이드 명령을 실행합니다.

      $ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0,overcloud-controller-1,overcloud-controller-2

      이 명령은 Red Hat OpenStack Platform 업그레이드를 수행합니다. 모든 컨트롤러 노드를 --limit 옵션에 포함합니다.