Private Cloud용 Edge v. 4.17.09
Edge 4.17.09로 업데이트하는 동안 오류가 발생하면 오류의 원인이 된 구성요소를 롤백한 후 업데이트를 다시 시도할 수 있습니다. 예를 들어 Postgres 9.4 업데이트에 실패하면 Postgres 노드만 롤백하고 업데이트를 다시 시도할 수 있습니다.
롤백을 수행할 수 있는 두 가지 시나리오가 있습니다.
- 이전 출시 버전으로 롤백합니다. 예: 4.17.09~4.17.01
- 동일한 출시에서 이전 버전으로 롤백
아래 절차에 따라 두 시나리오 모두에 대해 롤백을 수행합니다.
롤백을 수행할 수 있는 사용자
롤백을 수행하는 사용자는 원래 Edge를 업데이트한 사용자 또는 루트로 실행되는 사용자와 동일해야 합니다.
기본적으로 에지 구성요소는 사용자 'apigee'로 실행됩니다. 경우에 따라 Edge 구성요소를 다른 사용자로 실행할 수 있습니다. 예를 들어 라우터가 권한이 있는 포트(예: 1,000 미만)에 액세스해야 하는 경우 라우터를 루트로 실행하거나 해당 포트에 액세스할 수 있는 사용자로 실행해야 합니다. 또는 한 구성요소를 한 사용자로 실행하고, 다른 구성요소를 다른 사용자로 실행할 수 있습니다.
롤백 가능한 구성요소
롤백을 수행할 때 다음 조건에 유의해야 합니다.
- 아래에 나열된 5가지 Edge 구성요소는 공통 코드를 공유합니다. 따라서 노드의 5개 구성요소 중 하나를 롤백하려면 노드에 설치된 5개 구성요소 중 하나를 롤백해야 합니다. 예를 들어 노드에 관리 서버, 라우터, 메시지 프로세서가 설치되어 있는 경우 이들 중 하나를 롤백하려면 세 가지를 모두 롤백해야 합니다.
코드를 공유하는 5가지 구성요소는 다음과 같습니다.- 관리 서버
- 라우터
- 메시지 프로세서
- Qpid 서버
- Postgres 서버
- Edge 4.16.01에서 업데이트하는 경우 Cassandra를 롤백하지 마세요. 이 Edge 버전에는 업데이트된 Cassandra 버전이 포함되어 있습니다. 구성요소를 롤백하는 경우 Cassandra를 4.17.09 버전으로 유지하세요.
4.17.09 롤백
이 섹션에는 Edge 4.17.09를 이전 버전으로 롤백하는 절차가 포함되어 있습니다. 이 섹션은 다음 두 부분으로 나뉩니다.
- 4.16.01 또는 4.16.05에서만 업데이트하는 경우 - Postgres 업데이트를 버전 9.4로 롤백
4.16.01 또는 4.16.05부터 모든 업데이트 절차의 마지막 단계는 Postgres 노드를 버전 9.4로 업데이트하는 것입니다. 업데이트에 실패하면 이 절차를 사용하여 업데이트를 롤백할 수 있습니다. - 다른 모든 Edge 구성요소 롤백
이 절차를 사용하여 다른 Edge 구성요소를 롤백합니다.
Postgres 9.4 업데이트를 롤백하려면 다음 단계를 따르세요.
마스터 대기 구성에서 Postgres를 업데이트할 때 Postgres 업데이트를 롤백하려면 다음을 수행합니다.
- 새 대기 노드를 Postgres 마스터로 승격합니다. 새 Postgres 마스터는 이전 Edge 설치와 동일한 버전입니다.
- 이전 대기 노드를 새 마스터의 대기 노드로 구성합니다. 이전 대기 노드는 이전 Edge 설치와 동일한 버전입니다.
- 새 마스터 및 대기 노드를 분석 및 소비자 그룹에 등록합니다.
롤백이 완료되면 이전 마스터 노드가 더 이상 필요하지 않습니다. 그런 다음 이전 마스터 노드를 사용 중지할 수 있습니다.
- 새 대기 Postgres 노드가 실행 중인지 확인합니다.
> /opt/apigee/apigee-service/bin/apigee-all status
Postgres가 실행되고 있지 않으면 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-all start - Postgres가 이전 마스터 노드와 이전 대기 노드에서 중지되는지 확인합니다.
> /opt/apigee/apigee-service/bin/apigee-all status
Postgres가 실행 중인 경우 중지합니다.
> /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-server stop
> /opt/apigee/post-custom-service/bin/apigee- - 설치된 경우 이전 대기 노드에서 Qpid를 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server start
참고: 대부분의 구성에서 이전 대기 노드는 Postgres만 호스팅하고 Qpid는 호스팅하지 않습니다. - 새 대기 노드를 Postgres 마스터로 승격합니다.
- 새 대기 노드를 새 마스터로 승격합니다.
> apigee-service apigee-postgresqlpromo-wait-to-master new_holdby_IP
메시지가 표시되면 'apigee' 사용자의 Postgres 비밀번호(기본값 'postgres')를 입력합니다. - 현재 버전의 Edge를 설치하는 데 사용한 구성 파일을 수정하여 다음을 지정합니다.
새 마스터의 IP 주소# 개:
PG_MASTER=new_sleepby_IP
# 이전 대기 노드의 IP 주소
PG_STANDBY=old_holdby_IP - 새 마스터를 구성합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- 새 대기 노드를 새 마스터로 승격합니다.
- 이전 대기 노드를 다시 빌드합니다.
- 현재 버전의 Edge를 설치하는 데 사용한 구성 파일을 수정하여 다음을 지정합니다.
새 마스터의 IP 주소# 개:
PG_MASTER=new_holdby_IP
# 이전 대기 노드의 IP 주소
PG_STANDBY=old_holdby_IP - 이전 대기 노드에서 데이터 디렉터리를 삭제합니다.
> cd /opt/apigee/data/apigee-postgresql/pgdata
> rm -rf * - 이전 대기 노드를 새 마스터의 대기 노드로 재구성합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-holdby -f configFile - Postgres가 이전 대기 노드에서 실행 중인지 확인합니다.
> /opt/apigee/apigee-service/bin/apigee-all status
실행되고 있지 않으면 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-server start
- 현재 버전의 Edge를 설치하는 데 사용한 구성 파일을 수정하여 다음을 지정합니다.
- 새 마스터에서 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 파일을 확인하여 새 대기 노드가 추가되었는지 확인합니다.
- 관리 서버에서 다음 명령어를 실행하여 현재 분석 및 소비자 그룹 정보를 확인합니다.
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax
이 명령어는 name 필드에 분석 그룹 이름을 반환하고 name-consumer 필드에 소비자 그룹 이름을 반환합니다. 또한 postgres-server 필드와 datastores 필드에 이전 Postgres 마스터 및 대기 노드의 UUID도 반환합니다. "dc-dc 5 "a
" "dc-dc 12-a - 이전 마스터 노드에서 다음 cURL 명령어를 실행하여 이전 마스터의 UUID 주소를 가져옵니다.
> curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self
다음과 같이 출력 끝에서 노드의 UUID: UUID: UUID: [
Postgres 서버가 실행되고 있지 않으면 관리 서버에서 다음 명령어를 실행하여 UUID를 확인할 수 있습니다.
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/servers?pod=analytics
이 명령어의 출력에는 각 Postres 노드의 IP 주소 UUID가 나열됩니다. - 이전 단계를 반복하여 이전 대기 노드와 새 마스터의 IP 주소를 가져옵니다.
- 소비자 그룹에서 이전 마스터 및 대기 노드를 삭제합니다.
> curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/analytics-group-001/consumer-groups/consumer-group-001/consumer-groups/consumer-group-001/consumer-group0.com과 UUID
masterUUID,StandbyUUID는 위의 현재 애널리틱스 및 소비자 그룹 정보를 볼 때 위에 표시된 순서와 동일합니다. sleepbyUUID,masterUUID로 지정해야 할 수도 있습니다.
이제 consumer-groups의 datastores 속성이 비어 있습니다. - 분석 그룹에서 이전 마스터 및 대기 노드를 삭제합니다.
> curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,customer upost-server&type
- 애널리틱스 및 소비자 그룹으로 새 PG 마스터 및 대기 노드를 등록합니다.
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-00 - 분석 그룹을 검증합니다.
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax
분석 그룹과 소비자 그룹에 나열된 새 마스터 및 대기 노드의 UUID가 표시됩니다. - 에지 관리 서버를 다시 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-serviceedge-management-server restart - 모든 Qpid 서버를 다시 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server restart - 모든 Postgres 서버를 다시 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server restart - 두 서버 모두에서 다음 스크립트를 실행하여 복제 상태를 확인합니다. 복제가 성공적으로 이루어지도록 시스템은 두 서버에 동일한 결과를 표시해야 합니다.
새 마스터에서 다음을 실행합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
마스터라고 표시되는지 확인합니다.
이전 대기 노드:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-holdby
대기 노드인지 확인합니다. - 여러 API 요청을 한 후 이전 단계를 반복하여 노드가 동기화되도록 합니다.
- Apigee Edge 4.16.01/4.16.05를 4.17.09로 업데이트의 절차에 따라 이전 Postgres 마스터를 사용 중지합니다.
참고: 이전 마스터 노드가 Qpid를 실행 중이었다면 Qpid를 실행하도록 해당 서버를 그대로 둘 수 있습니다. 실행 중인지 확인합니다. 그렇지 않으면 시작하세요.
> /opt/apigee/apigee-service/bin/apigee-service Edge-management-server start
또는 아래 설명처럼 이전 마스터에서 Qpid를 제거하여 새 마스터 노드에 Qpid를 설치해도 됩니다. Qpid를 제거한 후에 이전 마스터 노드를 사용 중지할 수 있습니다.
이전 마스터에서 Qpid를 제거하고 새 마스터에 Qpid를 설치합니다.
다음 절차에 따라 이전 마스터에서 Qpid를 제거하고 새 마스터에 설치합니다.
- 모든 메시지 프로세서에서 다음 명령어를 실행하여 이전 마스터의 Qpid 포트 5672에 대한 액세스가 메시지 프로세서의 액세스를 차단합니다.
> iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP - 다음 명령어를 실행하여 Qpid 메시지 큐가 비어 있는지 확인합니다. 대기 중인 메시지를 모두 처리할 때까지 Qpid를 제거할 수 없습니다.
> qpid-stat -q
이 명령어는 msg, msgIn, msgOut의 수가 포함된 테이블을 표시합니다. msg=0 및 msgIn=msgOut이 되면 모든 메시지가 처리됩니다. - 이전 마스터에서 다음 명령어를 실행하여 이전 마스터의 Qpid 서버 UUID를 확인합니다. 이후 절차를 위해 이 정보를 저장합니다.
> curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self - 이전 마스터에서 Qpid를 중지합니다.
> /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop - Qpid 서버를 제거합니다.
> /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server 제거
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd remove - 분석 및 소비자 그룹에서 이전 Qpid 서버를 삭제합니다.
> curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-consumer-groupsaxgroup /ax/axgroup-consumer-groups - Jokeeper에서 이전 Qpid 서버를 삭제합니다.
> curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/qpid_UUID - 새 마스터에 Qpid를 설치합니다.
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile - 새 마스터에서 다음 명령어를 실행하여 새 마스터의 Qpid 서버 UUID를 확인합니다. 이후 절차를 위해 이 정보를 저장합니다.
> curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self - 애널리틱스 및 소비자 그룹으로 새 Qpid 서버를 등록합니다.
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001 axgroup-001 - 모든 메시지 프로세서를 다시 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor restart - 새 Qpid 서버에서 다음 명령어를 실행하여 큐가 생성되었는지 확인합니다.
> qpid-stat -q
Qpid 서버가 메시지를 처리할 때 msg, msgIn, msgOut이 업데이트되는지 확인합니다.
4.17.09부터 개별 구성요소를 롤백하려는 경우
롤백을 수행하는 일환으로 현재 버전의 Edge용 bootstrap.sh 파일을 다운로드해야 합니다.
- 4.17.05로 롤백하려면 bootstrap_4.17.05.sh를 다운로드하세요.
- 4.17.01로 롤백하려면 bootstrap_4.17.01.sh를 다운로드하세요.
- 4.16.09로 롤백하려면 bootstrap_4.16.09.sh를 다운로드하세요.
- 4.16.05로 롤백하려면 bootstrap_4.16.05.sh를 다운로드하세요.
- 4.16.01로 롤백하려면 bootstrap.sh를 다운로드하세요.
롤백할 구성요소를 호스팅하는 각 노드에서 다음을 수행합니다.
- 롤백할 구성요소를 중지합니다.
-
노드에서 Management Server, Router, 메시지 프로세서, Qpid Server 또는 Postgres 서버 중 하나의 구성요소를 롤백하는 경우 모두 중지해야 합니다.
- > apigee-service Edge-management-server 중지
- > apigee-service Edge-router 중지
- > apigee-service 에지-메시지-프로세서 중지
- > apigee-service Edge-qpid-server 정지
- > apigee-service Edge-postgres-server 정지
-
노드의 다른 구성요소를 롤백하는 경우 해당 구성요소만 중지합니다.
- > apigee-service comp 중지
-
노드에서 Management Server, Router, 메시지 프로세서, Qpid Server 또는 Postgres 서버 중 하나의 구성요소를 롤백하는 경우 모두 중지해야 합니다.
- 수익 창출을 롤백하려면 모든 관리 서버 및 메시지 프로세서 노드에서 수익 창출을 제거합니다.
> apigee-service Edge-mint- Gateway 제거 - 노드에서 롤백할 구성요소를 제거합니다.
- 노드에서 다음 구성요소를 롤백하는 경우 Management Server, Router, Message Processor, Qpid Server, Postgres Server:
> apigee-service Edge- Gateway 제거 - 노드의 다른 구성요소를 롤백하는 경우 해당 구성요소만 제거합니다.
> apigee-service comp remove - 라우터를 롤백하는 경우 /opt/nginx/conf.d의 콘텐츠를 삭제해야 합니다.
> cd /opt/nginx/conf.d
> rm -rf *
- 노드에서 다음 구성요소를 롤백하는 경우 Management Server, Router, Message Processor, Qpid Server, Postgres Server:
-
구성요소를 롤백하려면 다음 안내를 따르세요.
- apigee-setup의 4.17.09 버전을 제거합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup remove - 4.16.01, 4.16.05, 4.16.09, 4.17.01, 4.17.05 버전의 bootstrap.sh를 다운로드합니다.
예:4.16.09의 경우:
> curl https://software.apigee.com/boot6-0.sh - 4.16.01, 4.16.05, 4.16.09 apigee-service 유틸리티와 종속 항목을 설치합니다.
예를 들어 4.16.09의 경우
> sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord
여기서 uName 및 pWord는 Apigee에서 받은 사용자 이름과 비밀번호입니다. pWord를 생략하면 입력하라는 메시지가 표시됩니다. - 4.16.01, 4.16.05, 4.16.09, 4.17.01, 4.17.05 버전의 apigee-setup을 설치합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup install - 4.16.01, 4.16.05, 4.16.09, 4.17.01, 4.17.05 버전의 구성요소를 설치합니다.
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile1.5 또는 install 파일
- Qpid를 롤백하는 경우 iptables를 삭제합니다.
> sudo iptables -F
- apigee-setup의 4.17.09 버전을 제거합니다.
-
구성요소를 특정 버전의 4.17.09 버전으로 롤백하려면 다음 단계를 따르세요.
- 특정 구성요소 버전을 다운로드합니다.
> /opt/apigee/apigee-service/bin/apigee-service comp-version install
여기서 comp-version은 설치할 구성요소와 버전입니다. 예:
> /opt/apigee/apigee-service/bin/apigee-serviceedge-ui-4.17.09-0.0.3749 install
Apigee 온라인 저장소를 사용하는 경우 다음 명령어를 사용하여 사용 가능한 구성요소 버전을 확인할 수 있습니다.
> yum --showed list comp
> 예:Duplicates list -- comp: - apigee-setup을 사용하여 구성요소를 설치합니다.
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
예:
> /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
- 특정 구성요소 버전을 다운로드합니다.
롤백 시 문제가 발생하면 Apigee 지원팀에 문의하세요.