Edge 4.52.02로 업데이트하는 중에 오류가 발생하면 오류를 일으킨 구성요소를 롤백한 후 업데이트를 다시 시도할 수 있습니다.
Edge 4.52.02를 다음과 같은 주요 출시 버전으로 롤백할 수 있습니다.
- 버전 4.52.01
- 버전 4.52.00
- 버전 4.51.00
버전을 롤백하려면 업그레이드했을 수 있는 모든 구성요소를 롤백해야 합니다. 또한 시작 버전에 따라 특정 소프트웨어 구성요소를 롤백하기 전에 특별한 고려사항을 고려해야 할 수 있습니다. 아래 표에는 롤백 중에 특수 단계가 필요할 수 있는 다양한 소프트웨어가 나와 있습니다.
버전으로 롤백 | 소프트웨어에 대한 특별 고려사항 |
---|---|
4.52.01 | Cassandra |
4.52.00 | Cassandra, Zookeeper, Qpid |
4.51.00 | Cassandra, Zookeeper, Qpid, Postgres |
롤백을 실행해야 하는 두 가지 시나리오가 있습니다.
- 이전 메인 또는 마이너 버전으로 롤백합니다. 예를 들어 4.52.02에서 4.52.00으로 업그레이드할 수 있습니다.
- 동일한 출시의 이전 패치 출시로 롤백합니다. 예를 들어 4.52.00.02에서 4.52.00.01로 변경할 수 있습니다.
자세한 내용은 Apigee Edge 출시 프로세스를 참고하세요.
롤백 순서
구성요소는 업그레이드된 순서의 역순으로 롤백해야 합니다. 단, 관리 서버는 Cassandra 다음에 롤백해야 합니다.
Private Cloud 4.52.02의 일반적인 일반 롤백 순서는 다음과 같습니다.
- Postgres, Qpid, 기타 분석 관련 구성요소 롤백
- 롤백 라우터 및 메시지 프로세서
- Cassandra, Zookeeper 롤백
- 롤백 관리 서버
예를 들어 전체 Cassandra 클러스터, 모든 관리 서버, 일부 RMP를 버전 4.52.01에서 버전 4.52.02로 업그레이드한 후 롤백하려고 한다고 가정해 보겠습니다. 이 경우 다음을 수행합니다.
- 모든 RMP를 하나씩 롤백
- 백업을 사용하여 전체 Cassandra 클러스터 롤백
- Edge 관리 서버 노드를 하나씩 롤백
롤백을 실행할 수 있는 사용자
롤백을 실행하는 사용자는 원래 Edge를 업데이트한 사용자 또는 root로 실행 중인 사용자와 동일해야 합니다.
기본적으로 Edge 구성요소는 'apigee' 사용자로 실행됩니다. 경우에 따라 Edge 구성요소를 다른 사용자로 실행할 수 있습니다. 예를 들어 라우터가 권한이 있는 포트(예: 1,000 미만의 포트)에 액세스해야 하는 경우 라우터를 루트로 실행하거나 이러한 포트에 액세스할 수 있는 사용자로 실행해야 합니다. 또는 한 구성요소는 한 사용자로, 다른 구성요소는 다른 사용자로 실행할 수도 있습니다.
공통 코드가 있는 구성요소
다음 Edge 구성요소는 공통 코드를 공유합니다. 따라서 노드에서 이러한 구성요소 중 하나를 롤백하려면 해당 노드에 있는 이러한 구성요소를 모두 롤백해야 합니다.
edge-management-server
(관리 서버)edge-message-processor
(메시지 프로세서)edge-router
(라우터)edge-postgres-server
(Postgres 서버)edge-qpid-server
(Qpid 서버)
예를 들어 노드에 관리 서버, 라우터, 메시지 프로세서가 설치된 경우, 그중 하나를 롤백하려면 세 가지 모두를 롤백해야 합니다.
Cassandra 롤백
특정 Cassandra 노드에서 Cassandra의 주요 업그레이드가 실행되면 Cassandra는 노드에 저장된 데이터의 스키마를 수정하여 직접 롤백할 수 없게 됩니다. 롤백하는 방법에는 두 가지가 있습니다. 롤백하려는 업그레이드의 상태에 따라 이러한 방법 중 하나를 사용합니다.
롤백 방법론
클러스터에서 기존 노드를 삭제하고 사용하여 노드 다시 빌드
클러스터에 여전히 이전 버전의 Cassandra (Cassandra 2.1.22)를 사용하는 완전히 작동하는 데이터 센터가 하나 이상 있는 경우 이 절차를 따를 수 있습니다. 전체 Cassandra 클러스터를 업그레이드한 후 롤백하려면 백업 또는 VM 스냅샷 삭제 및 복원의 단계를 따라야 합니다.
롤백 단계
- 롤백하려는 노드부터 시작합니다.
- 노드에서 Cassandra를 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- 노드에서 Cassandra 소프트웨어를 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
- 노드에서 데이터 디렉터리를 삭제합니다.
rm -rf /opt/apigee/data/apigee-cassandra
- 롤백하려는 이전 버전의 Edge for Private Cloud 부트스트랩을 다운로드하여 실행합니다.
예: 4.52.01로 롤백하려면 다음을 실행합니다.
- 4.52.01의 부트스트랩을 다운로드합니다.
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
- 4.52.01의 부트스트랩을 실행합니다.
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
- 노드에서 Cassandra를 설정합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
- 작동하는 데이터 센터의 이름을 제공하여 노드에서 리빌드를 실행합니다.
/opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
- 롤백하려는 각 노드에서 위 단계를 한 번에 하나씩 반복합니다.
- 노드에서 Cassandra를 중지합니다.
- 모든 노드가 롤백되고 다시 빌드되면 다음 단계를 따르세요.
- 관리 서버 노드의 설정을 실행합니다. 관리 서버가 롤백된 버전인지 확인합니다. 그렇지 않으면 관리 서버도 롤백합니다.
- 관리 서버를 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
- 수익 창출을 사용하는 경우 수익 창출도 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- management-server를 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- 이전 버전의 부트스트랩을 다운로드하여 실행합니다. 예를 들어 버전 4.52.01의 부트스트랩을 다운로드하고 실행하려면 다음 단계를 실행합니다.
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord - 관리 서버 노드 1개의 설정을 실행합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile
빌드 후 최적화
위 단계에서 리빌드 중에 노드의 모든 데이터가 원격 데이터 센터에서 스트리밍됩니다. 모든 복제본이 로컬 데이터 센터로 스트리밍된 후 복구를 사용하여 이 프로세스를 최적화할 수 있습니다. 이렇게 하면 교차 DC 스트리밍이 방지되며 원격 DC에서 모든 노드를 다시 빌드하는 것보다 빠릅니다.
예: 로컬 데이터 센터에 Cassandra 노드가 6개 있다고 가정해 보겠습니다. 기본적으로 Apigee의 복제 인수는 3이므로 모든 노드가 데이터의 50% 를 보유합니다. 이 경우 위의 절차에 따라 노드 1과 4를 다시 빌드할 수 있습니다. 노드 2, 3, 5, 6의 경우 아래 단계에 따라 백업을 복원하고 수리를 실행합니다.
- 문서에 설명된 대로 6단계까지 절차를 따라 로컬 데이터 센터에서 복제본을 다시 빌드합니다.
- 나머지 노드의 경우 각 노드에 대해 아래 단계를 한 번에 하나씩 따르세요.
- 이 노드에서 캡처한 백업을 복원합니다 (참고: 이 백업은 Cassandra 업그레이드를 시작하기 전에 캡처되었으므로 오래된 데이터가 있을 수 있음).
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
- 노드의 VM 스냅샷이 있는 경우 Cassandra 백업을 복원하는 대신 스냅샷을 복원할 수 있습니다.
- 백업이 복원된 후 노드에서 Cassandra 서비스를 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
- 기존 데이터 센터에서 최신 데이터를 스트리밍할 수 있도록 노드에서 수리를 실행합니다.
/opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
- 수리하려는 각 노드에서 3~6단계를 반복합니다.
- 이 노드에서 캡처한 백업을 복원합니다 (참고: 이 백업은 Cassandra 업그레이드를 시작하기 전에 캡처되었으므로 오래된 데이터가 있을 수 있음).
백업/VM 스냅샷 삭제 및 복원
이 절차는 전체 Cassandra 클러스터를 업그레이드한 후 롤백하려는 경우에만 사용할 수 있습니다.
또한 Apigee 백업은 노드별로 이루어집니다. 한 노드에서 만든 백업을 다른 노드로 복원할 수는 없습니다. Cassandra 백업에는 노드 메타데이터 정보 (예: IP 주소, 링 위치 등)가 포함됩니다.
- 클러스터에서 Cassandra 노드 1개로 시작합니다.
- 노드에서 Cassandra 서비스를 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- 노드에서 Cassandra 소프트웨어를 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
- 노드에서 데이터 디렉터리를 삭제합니다.
rm -rf /opt/apigee/data/apigee-cassandra
- 롤백하려는 이전 버전의 Edge Private Cloud 부트스트랩을 다운로드하여 실행합니다.
예: 4.52.01로 롤백하기
- 4.52.01의 부트스트랩을 다운로드합니다.
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
- 4.52.01의 부트스트랩을 실행합니다.
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
- 노드에서 Cassandra를 설정합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
- 백업에서 복원의 절차에 따라 노드에서 백업을 복원합니다.
- 노드에서 Cassandra를 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- 데이터 디렉터리 삭제:
rm -rf /opt/apigee/data/apigee-cassandra/data
- 백업 복원:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
- 노드에서 Cassandra 서비스를 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
- 각 Cassandra 노드에서 단계를 한 번에 하나씩 반복합니다.
- 노드에서 한 번에 하나씩 복구를 실행합니다.
/opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr
- 노드에서 Cassandra 서비스를 중지합니다.
Zookeeper 3.8.3 업데이트 롤백
버전 4.52.00 또는 4.51.00으로 롤백하는 경우 Zookeeper를 롤백하기 전에 몇 가지 특별한 단계를 참고해야 합니다. 이 단계는 롤백에 나와 있습니다.
버전 4.52.01로 롤백하는 경우 아래의 이전 주요 버전 또는 부 버전으로 롤백 섹션에 나와 있는 대로 소프트웨어를 롤백하는 것처럼 Zookeeper를 롤백합니다.
Qpid 롤백
버전 4.52.00 또는 4.51.00으로 롤백하는 경우 Qpid를 롤백하기 전에 몇 가지 특별한 단계를 참고해야 합니다. 이 단계는 롤백에 나와 있습니다.
버전 4.52.01로 롤백하는 경우 이전 주요 버전 또는 부 버전으로 롤백에 나열된 소프트웨어를 롤백하는 것처럼 Qpid를 롤백합니다.
Postgres 10.17 업데이트 롤백
버전 4.51.00으로 롤백하는 경우 Postgres를 롤백하기 전에 몇 가지 특별한 단계를 참고해야 합니다. 이 단계는 롤백에 나와 있습니다.
버전 4.52.01 또는 4.52.00으로 롤백하는 경우 아래 이전 주요 또는 부 버전으로 롤백 섹션에 나와 있는 대로 소프트웨어를 롤백하는 것처럼 Postgres를 롤백합니다.
이전 주요 버전 또는 부 버전으로 롤백
이전 메인 또는 마이너 버전으로 롤백하려면 구성요소를 호스팅하는 각 노드에서 다음을 실행합니다.
-
롤백하려는 버전의
bootstrap.sh
파일을 다운로드합니다.- 4.51.00으로 롤백하려면
bootstrap_4.51.00.sh
을 다운로드하세요.curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
- 4.51.00으로 롤백하려면
- 구성요소를 중지하여 롤백합니다.
- 노드에서 공통 코드가 있는 구성요소를 롤백하려면 다음 예와 같이 모두 중지해야 합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
- 노드의 기타 구성요소를 롤백하려면 해당 구성요소만 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service component stop
- 노드에서 공통 코드가 있는 구성요소를 롤백하려면 다음 예와 같이 모두 중지해야 합니다.
- 수익 창출을 롤백하는 경우 모든 관리 서버 및 메시지 프로세서 노드에서 수익 창출을 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- 노드에서 롤백할 구성요소를 제거합니다.
- 노드에서 공통 코드가 있는 구성요소를 롤백하려면 다음 예와 같이
edge-gateway
구성요소 그룹을 제거하여 모두 제거해야 합니다./opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- 노드의 다른 구성요소를 롤백하려면 다음 예와 같이 해당 구성요소만 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service component uninstall
여기서 component은 구성요소 이름입니다.
- Edge 라우터를 롤백하려면
edge-gateway
구성요소 그룹을 제거하는 것 외에도/opt/nginx/conf.d
파일의 콘텐츠를 삭제해야 합니다.cd /opt/nginx/conf.d
rm -rf *
- 노드에서 공통 코드가 있는 구성요소를 롤백하려면 다음 예와 같이
apigee-setup
의 4.52.02 버전을 제거합니다./opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
apigee-service
유틸리티의 4.51.00 버전과 종속 항목을 설치합니다. 다음 예에서는apigee-service
의 4.51.00 버전을 설치합니다.sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord
여기서 uName 및 pWord는 Apigee에서 받은 사용자 이름과 비밀번호입니다. pWord를 생략하면 입력하라는 메시지가 표시됩니다.
오류가 발생하면 1단계에서
bootstrap.sh
파일을 다운로드했는지 확인하세요.apigee-setup
을 설치합니다./opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- 이전 버전의 구성요소를 설치합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
여기서 component는 설치할 구성요소이고 configFile는 이전 버전의 구성 파일입니다.
- Qpid를 롤백하는 경우 iptables를 플러시합니다.
sudo iptables -F
- 롤백하는 구성요소를 호스팅하는 각 노드에 대해 이 프로세스를 반복합니다.
이전 패치 출시로 롤백
구성요소를 특정 패치 출시로 롤백하려면 구성요소를 호스팅하는 각 노드에서 다음을 실행합니다.
- 특정 구성요소 버전을 다운로드합니다.
/opt/apigee/apigee-service/bin/apigee-service component_version install
여기서 component_version는 설치할 구성요소 및 패치 출시입니다. 예를 들면 다음과 같습니다.
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install
Apigee 온라인 저장소를 사용하는 경우 다음 명령어를 사용하여 사용 가능한 구성요소 버전을 확인할 수 있습니다.
yum --showduplicates list comp
예를 들면 다음과 같습니다.
yum --showduplicates list edge-ui
apigee-setup
을 사용하여 구성요소를 설치합니다./opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
예를 들면 다음과 같습니다.
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
구성요소를 설치할 때는 버전이 아닌 구성요소 이름만 지정합니다.
- 롤백하는 구성요소를 호스팅하는 각 노드에 대해 이 프로세스를 반복합니다.
mTLS 롤백
mTLS 업데이트를 롤백하려면 모든 호스트에서 다음 단계를 따르세요.
- Apigee를 중지합니다.
apigee-all stop
- mTLS를 중지합니다.
apigee-service apigee-mtls uninstall
- mTLS를 재설치합니다.
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf