21.2. Pacemaker 기반 노드 업그레이드

Pacemaker 서비스를 호스팅하는 모든 노드를 OpenStack Platform 16.1로 업그레이드합니다. 다음 역할에는 Pacemaker 기반 서비스가 포함됩니다.

  • 컨트롤러
  • 데이터베이스 (MySQL, Galera)
  • 메시징 (RabbitMQ)
  • 로드 밸런싱 (HAProxy)
  • 다음 서비스를 포함하는 다른 모든 역할:

    • OS::TripleO::Services::Pacemaker
    • OS::TripleO::Services::PacemakerRemote

이 프로세스에는 부트스트랩 노드에서 시작하는 각 노드를 업그레이드해야 합니다.

참고

기본 스택 이름(Overcloud)을 사용하지 않는 경우 STACK NAME을 스택 이름으로 교체하는 --stack STACK NAME 옵션으로 스택 이름을 설정합니다.

절차

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

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

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

    1. 노드에 Ceph Storage 컨테이너가 포함된 경우 ceph_systemd 태그를 사용하여 외부 업그레이드 명령을 실행합니다.

      $ openstack overcloud external-upgrade run --stack <stack_name> --tags ceph_systemd -e ceph_ansible_limit=overcloud-controller-0

      & lt;stack_name >을 스택 이름으로 바꿉니다.

      이 명령은 다음 기능을 수행합니다.

      • Podman 관리를 사용하도록 Ceph Storage 컨테이너를 제어하는 systemd 장치를 변경합니다.
      • ceph_ansible_limit 변수를 사용하여 작업을 선택한 노드로 제한합니다.

      이 단계는 Ceph Storage 서비스를 준비하여 업그레이드를 준비하기 위한 예비 조치입니다.

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

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

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

      • 운영 체제의 Leapp 업그레이드를 수행합니다.
      • Leapp 업그레이드의 일부로 재부팅을 수행합니다.
    3. system_upgrade_transfer_data 태그를 사용하여 외부 upgrade 명령을 실행합니다.

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

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

    4. 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 컨테이너를 시작합니다.

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

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

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

  4. 각 Pacemaker 기반 노드를 업그레이드합니다.

    1. 노드에 Ceph Storage 컨테이너가 포함된 경우 ceph_systemd 태그를 사용하여 외부 업그레이드 명령을 실행합니다.

      $ openstack overcloud external-upgrade run --stack STACK NAME --tags ceph_systemd -e ceph_ansible_limit=overcloud-database-0

      이 명령은 다음 기능을 수행합니다.

      • Podman 관리를 사용하도록 Ceph Storage 컨테이너를 제어하는 systemd 장치를 변경합니다.
      • ceph_ansible_limit 변수를 사용하여 작업을 선택한 노드로 제한합니다.

      이 단계는 Ceph Storage 서비스를 준비하여 업그레이드를 준비하기 위한 예비 조치입니다.

    2. 다음 노드에서 system_upgrade 태그로 upgrade 명령을 실행합니다.

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

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

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

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

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

  5. 모든 Pacemaker 기반 노드를 업그레이드할 때까지 각 Pacemaker 기반 노드에서 업그레이드 프로세스를 반복합니다.