20.2. 컨트롤 플레인 노드 업그레이드
환경의 컨트롤 플레인 노드를 OpenStack Platform 16.1로 업그레이드하려면 부트스트랩 노드를 시작하여 한 번에 컨트롤 플레인 노드의 1/3을 업그레이드해야 합니다.
부트스트랩 컨트롤러 노드 업그레이드 프로세스 중에 새 Pacemaker 클러스터가 생성되고 노드에서 새로운 Red Hat OpenStack 16.1 컨테이너가 시작되고 나머지 컨트롤러 노드는 Red Hat OpenStack 13에서 계속 실행됩니다.
이 예에서 컨트롤 플레인 노드의 이름은 기본 overcloud-ROLE-NODEID
규칙을 사용하여 이름이 지정됩니다. 여기에는 구성 가능한 역할이 있는 다음 노드 유형이 포함됩니다.
-
overcloud-controller-0
-
overcloud-controller-1
-
overcloud-controller-2
-
overcloud-database-0
-
overcloud-database-1
-
overcloud-database-2
-
overcloud-networker-0
-
overcloud-networker-1
-
overcloud-networker-2
-
overcloud-ceph-0
-
overcloud-ceph-1
-
overcloud-ceph-2
해당하는 경우 고유한 노드 이름으로 이 값을 바꿉니다.
overcloud-controller-0, overcloud-
및 database-0
,overcloud-
networker-0overcloud-ceph-0
부트스트랩 노드를 업그레이드한 후 컨트롤 플레인 노드의 첫 1/3을 구성하는 overcloud-ceph-0 부트스트랩 노드는 Pacemaker 서비스를 사용하여 노드의 추가 1/3을 업그레이드하고 각 노드가 부트스트랩 노드로 시작하는 새 Pacemaker 클러스터에 참여해야 합니다. 따라서 overcloud-controller-2, overcloud
-database-2, overcloud
-
ceph
-2를 업그레이드하기 전에 overcloud
-controller-1, overcloud-database-1, overcloud-
을 업그레이드해야 합니다.networker-1, overcloud
-
ceph-1
기본 스택 이름 오버클라우드
를 사용하지 않는 경우 --stack STACK NAME
옵션을 사용하여 스택 이름을 설정하고 STACK NAME
을 스택 이름으로 바꿉니다.
절차
-
언더클라우드 호스트에
stack
사용자로 로그인합니다. stackrc
파일을 소싱합니다.$ source ~/stackrc
언더클라우드 노드에서 다음 명령을 실행하여 부트스트랩 컨트롤러 노드를 확인합니다.
$ tripleo-ansible-inventory --list --stack overcloud |jq .overcloud_Controller.hosts[0]
overcloud-controller-0
,overcloud-database-0
,overcloud-networker-0
및overcloud-ceph-0
컨트롤 플레인 노드를 업그레이드합니다.ceph_systemd
태그를 사용하여 외부 업그레이드 명령을 실행합니다.$ openstack overcloud external-upgrade run --stack <stack_name> --tags ceph_systemd -e ceph_ansible_limit=overcloud-controller-0,overcloud-database-0,overcloud-networker-0,overcloud-ceph-0
&
lt;stack_name
>을 스택 이름으로 바꿉니다.이 명령은 다음 작업을 수행합니다.
- Podman 관리를 사용하도록 Ceph Storage 컨테이너를 제어하는 systemd 장치를 변경합니다.
-
ceph_ansible_limit
변수를 사용하여 작업을 선택한 노드로 제한합니다.
이 단계는 빠른
업그레이드를
위해 Ceph Storage 서비스를 준비하기 위한 예비 조치입니다.system_upgrade
태그로 upgrade 명령을 실행합니다.$ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-0 & $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-database-0 & $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-networker-0 & $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-ceph-0 &
이 명령은 다음 작업을 수행합니다.
- 운영 체제의 Leapp 업그레이드를 수행합니다.
Leapp 업그레이드의 일부로 재부팅을 수행합니다.
중요다음 명령을 실행하면 컨트롤 플레인이 중단됩니다. 다음 몇 단계에서 오버클라우드에서 표준 작업을 수행할 수 없습니다.
system_upgrade_transfer_data
태그를 사용하여 외부 upgrade 명령을 실행합니다.$ openstack overcloud external-upgrade run --stack STACK NAME --tags system_upgrade_transfer_data
이 명령은 기존 노드의 최신 데이터베이스 버전을 부트스트랩 노드로 복사합니다.
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 컨테이너를 시작합니다.
태그 없이 업그레이드 명령을 실행합니다.
$ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0,overcloud-database-0,overcloud-networker-0,overcloud-ceph-0 --playbook all
이 명령은 Red Hat OpenStack Platform 업그레이드를 수행합니다.
중요이 명령이 완료되면 컨트롤 플레인이 활성화됩니다. 오버클라우드에서 표준 작업을 다시 수행할 수 있습니다.
선택 사항: 부트스트랩 Contoller 노드에서 업그레이드 후 새 Pacemaker 클러스터가 시작되고 galera, rabbit, haproxy, redis와 같은 컨트롤 플레인 서비스가 실행 중인지 확인합니다.
$ sudo pcs status
overcloud-controller-1, overcloud
-database-1, overcloud
-networker-1
및overcloud-ceph-1
컨트롤 플레인 노드를 업그레이드합니다.overcloud-controller-1
노드에 로그인하고 이전 클러스터가 더 이상 실행되지 않는지 확인합니다.$ sudo pcs status
클러스터가 실행 중이 아닌 경우 다음과 유사한 오류가 표시됩니다.
Error: cluster is not currently running on this node
ceph_systemd
태그를 사용하여 외부 업그레이드 명령을 실행합니다.$ openstack overcloud external-upgrade run --stack STACK NAME --tags ceph_systemd -e ceph_ansible_limit=overcloud-controller-1,overcloud-database-1,overcloud-networker-1,overcloud-ceph-1
이 명령은 다음 기능을 수행합니다.
- Podman 관리를 사용하도록 Ceph Storage 컨테이너를 제어하는 systemd 장치를 변경합니다.
-
ceph_ansible_limit
변수를 사용하여 작업을 선택한 노드로 제한합니다.
이 단계는 Ceph Storage 서비스를 준비하여
업그레이드를
준비하기 위한 예비 조치입니다.system_upgrade
태그로 upgrade 명령을 실행합니다.$ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-1,overcloud-database-1,overcloud-networker-1,overcloud-ceph-1
이 명령은 다음 작업을 수행합니다.
- 운영 체제의 Leapp 업그레이드를 수행합니다.
- Leapp 업그레이드의 일부로 재부팅을 수행합니다.
태그 없이 업그레이드 명령을 실행합니다.
$ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0,overcloud-controller-1,overcloud-database-0,overcloud-database-1,overcloud-networker-0,overcloud-networker-1,overcloud-ceph-0,overcloud-ceph-1
이 명령은 Red Hat OpenStack Platform 업그레이드를 수행합니다. 이 노드 외에도
--limit
옵션에 이전에 업그레이드한 부트스트랩 노드를 포함합니다.
overcloud-controller-2, overcloud
-database-2, overcloud
-networker-2
및overcloud-ceph-2
컨트롤 플레인 노드를 업그레이드합니다.overcloud-controller-2
노드에 로그인하고 이전 클러스터가 더 이상 실행되지 않는지 확인합니다.$ sudo pcs status
클러스터가 실행 중이 아닌 경우 다음과 유사한 오류가 표시됩니다.
Error: cluster is not currently running on this node
ceph_systemd
태그를 사용하여 외부 업그레이드 명령을 실행합니다.$ openstack overcloud external-upgrade run --stack STACK NAME --tags ceph_systemd -e ceph_ansible_limit=overcloud-controller-2,overcloud-database-2,overcloud-networker-2,overcloud-ceph-2
이 명령은 다음 기능을 수행합니다.
- Podman 관리를 사용하도록 Ceph Storage 컨테이너를 제어하는 systemd 장치를 변경합니다.
-
ceph_ansible_limit
변수를 사용하여 작업을 선택한 노드로 제한합니다.
이 단계는 Ceph Storage 서비스를 준비하여
업그레이드를
준비하기 위한 예비 조치입니다.system_upgrade
태그로 upgrade 명령을 실행합니다.$ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-2,overcloud-database-2,overcloud-networker-2,overcloud-ceph-2
이 명령은 다음 작업을 수행합니다.
- 운영 체제의 Leapp 업그레이드를 수행합니다.
- Leapp 업그레이드의 일부로 재부팅을 수행합니다.
태그 없이 업그레이드 명령을 실행합니다.
$ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0,overcloud-controller-1,overcloud-controller-2,overcloud-database-0,overcloud-database-1,overcloud-database-2,overcloud-networker-0,overcloud-networker-1,overcloud-networker-2,overcloud-ceph-0,overcloud-ceph-1,overcloud-ceph-2
이 명령은 Red Hat OpenStack Platform 업그레이드를 수행합니다. 모든 컨트롤 플레인 노드를
--limit
옵션에 포함합니다.