4.18.01 롤백 프로세스

Private Cloud용 Edge v4.18.01

Edge 4.18.01로 업데이트하는 동안 오류가 발생하는 경우 구성요소를 롤백할 수 있습니다. 업데이트를 다시 시도해 주세요. 예를 들어 Postgres 9.6으로 업데이트하면 Postgres 노드만 롤백하고 업데이트를 다시 시도할 수 있습니다.

롤백을 수행해야 할 수 있는 두 가지 시나리오는 다음과 같습니다.

  1. 이전 출시 버전으로 롤백합니다. 예를 들어 4.18.01부터 4.17.01까지입니다.
  2. 동일한 출시 버전에서 이전 버전으로 롤백합니다.

아래 절차에 따라 두 시나리오 모두에 대해 롤백을 수행합니다.

롤백을 수행할 수 있는 사용자

롤백을 수행하는 사용자는 Edge를 처음 업데이트한 사용자와 동일해야 합니다. 사용자를 위한 것입니다

기본적으로 Edge 구성요소는 사용자 'Apigee'로 실행됩니다. 경우에 따라 Edge를 구성요소를 다른 사용자로 인식합니다. 예를 들어, 라우터가 루트 또는 액세스 권한이 있는 사용자로서 라우터를 실행해야 합니다. 있습니다 또는 하나의 구성 요소를 한 사용자로, 다른 구성 요소를 다른 사용자로 실행할 수 있습니다.

롤백할 수 있는 구성요소

롤백을 수행할 때는 다음 조건을 알고 있어야 합니다.

  • 아래에 나열된 다섯 개의 Edge 구성요소는 공통 코드를 공유합니다. 따라서 5개 구성 요소를 모두 롤백하는 경우 노드에 설치된 5개 구성 요소 중 하나를 롤백해야 합니다. 대상 예를 들어, 컴퓨터에 관리 서버, 라우터 및 메시지 프로세서가 설치되어 있고 노드를 롤백하려면 세 가지 노드 모두를 롤백해야 합니다.

    코드를 공유하는 다섯 가지 구성요소는 다음과 같습니다.

    • 관리 서버
    • 라우터
    • 메시지 프로세서
    • Qpid 서버
    • Postgres 서버
  • Edge 4.16.01에서 업데이트하는 경우 Cassandra를 롤백하지 마세요. 이 Edge 출시에는 업데이트된 버전의 Cassandra가 포함되어 있습니다. 구성요소를 롤백하는 경우 Cassandra(4.18.01 버전)

4.18.01 롤백

이 섹션에는 Edge 4.18.01을 이전 버전으로 롤백하는 절차가 포함되어 있습니다. 이 섹션은 다음 두 부분으로 나뉩니다.

  • Postgres 업데이트 롤백
    모든 업데이트 절차의 마지막 부분은 Postgres 노드를 버전 9.6으로 업데이트하는 것입니다. 만약 업데이트가 실패하면 이 절차를 사용하여 업데이트를 롤백할 수 있습니다.
  • 다른 모든 Edge 구성요소 롤백
    이 절차에 따라 다른 Edge 구성요소를 롤백합니다.

Postgres 9.6 업데이트 롤백

마스터-대기 구성에서 Postgres를 업데이트할 때 Postgres 업데이트를 롤백하려면 나:

  • 새 대기 노드를 Postgres 마스터가 되도록 승격합니다. 새 Postgres 마스터는 동일한 버전으로 업데이트할 수 있습니다
  • 이전 대기 노드를 새 마스터의 대기 노드로 구성합니다. 이전 대기 노드 이전 Edge 설치와 동일한 버전입니다.
  • 애널리틱스 및 소비자 그룹에 새 마스터 및 대기 노드를 등록합니다.

롤백이 완료되면 이전 마스터 노드가 더 이상 필요하지 않습니다. 다음과 같은 작업을 할 수 있습니다. 이전 마스터 노드를 사용 중지합니다.

  1. 새 대기 Postgres 노드가 실행 중인지 확인합니다.
    > /opt/apigee/apigee-service/bin/apigee-all status

    Postgres가 실행되고 있지 않으면 다음과 같이 시작합니다.

    > /opt/apigee/apigee-service/bin/apigee-all start
  2. 이전 마스터 노드와 이전 대기 노드에서 Postgres가 중지되었는지 확인합니다.
    > /opt/apigee/apigee-service/bin/apigee-all status

    Postgres가 실행 중이면 다음과 같이 중지합니다.

    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. 설치된 경우 이전 대기 노드에서 Qpid를 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
    드림
  4. 새 대기 노드를 Postgres 마스터로 승격합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 새 대기 노드를 새 마스터로 승격합니다.
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      메시지가 표시되면 'Apigee'의 Postgres 비밀번호를 입력합니다. 기본 사용자이며 "postgres"라는 두 가지 메서드를 가지고 있습니다.

    2. 현재 버전의 Edge를 설치하는 데 사용한 구성 파일을 수정하여 지정합니다. 다음과 같습니다.
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. 새 마스터를 구성합니다.
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. 이전 대기 노드를 다시 빌드합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 현재 버전의 Edge를 설치하는 데 사용한 구성 파일을 수정하여 지정합니다. 다음과 같습니다.
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. 이전 대기 노드에서 데이터 디렉터리를 삭제합니다.
      > cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. 이전 대기 노드를 새 마스터의 대기 노드로 재구성합니다.
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Postgres가 이전 대기 노드에서 실행 중인지 확인합니다.
      > /opt/apigee/apigee-service/bin/apigee-all status

      실행 중이 아니면 다음과 같이 시작합니다.

      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. 새 마스터의 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 파일
  7. 다음 명령어를 실행하여 현재 애널리틱스 및 소비자 그룹 정보를 확인합니다. 를 클릭합니다.
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    이 명령어는 name 필드에 애널리틱스 그룹 이름을 반환합니다. consumer-groups 아래 name 필드에 소비자 그룹 이름을 입력합니다. 또한 는 이전 Postgres 마스터 노드와 대기 노드의 UUID를 postgres-server 필드 및 datastores 필드에 각각 입력됩니다. 다음과 같이 표시됩니다. 다음과 같은 형식으로 출력됩니다.

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }
  8. 이전 마스터에서 다음 cURL 명령어를 실행하여 이전 마스터의 UUID 주소를 가져옵니다. 마스터 노드:
    > curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    출력 끝에 노드의 UUID가 다음과 같은 형식으로 표시됩니다.

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
    드림
  9. 이전 단계를 반복하여 이전 대기 노드와 새 대기 노드의 IP 주소를 가져옵니다. 있습니다.
  10. 소비자 그룹에서 이전 마스터 및 대기 노드를 삭제합니다.
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    여기서 axgroup-001consumer-group-001는 분석 및 소비자 그룹입니다 masterUUID,standbyUUID의 순서는 같습니다. 위의 최신 분석 및 소비자 그룹 정보를 볼 때 위에 나타납니다. 나 standbyUUID,masterUUID로 지정해야 할 수 있습니다.

    이제 consumer-groupsdatastores 속성이 비어 있습니다.

  11. 분석 그룹에서 이전 마스터 및 대기 노드를 삭제합니다.
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    이제 uuids 아래의 postgres-server 속성이 비어 있습니다.

  12. 새 PG 마스터 및 대기 노드를 애널리틱스 및 소비자 그룹에 등록합니다.
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. 분석 그룹을 확인합니다.
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    분석 그룹에 새 마스터 노드와 대기 노드의 UUID가 나열되어야 합니다. 소비자 그룹입니다.

  14. 에지 관리 서버를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. 모든 Qpid 서버를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. 모든 Postgres 서버를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. 두 서버에서 다음 스크립트를 실행하여 복제 상태를 확인합니다. 시스템 복제가 성공적으로 이루어지도록 두 서버에 동일한 결과가 표시되어야 합니다.

    새 마스터에서 다음을 실행합니다.

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    마스터라고 표시되는지 확인합니다. 이전 대기 노드에서 다음을 수행합니다.

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    대기 상태라고 되어 있는지 확인합니다.

  18. 여러 API 요청을 한 후 이전 단계를 반복하여 노드가 싱크입니다.
  19. 다음 절차에 따라 이전 Postgres 마스터를 사용 중단합니다. Apigee Edge 업데이트 4.16.01/4.16.05~4.17.09

    또는 이전 마스터에서 Qpid를 제거하고 새 마스터에 Qpid를 설치할 수 있습니다. 노드 풀로 구성해야 합니다. Qpid를 제거한 후 이전 마스터를 사용 중지할 수 있습니다. 노드입니다

이전 마스터에서 Uninstal Qpid를 설치하고 새 마스터에 Qpid를 설치합니다.

다음 절차에 따라 이전 마스터에서 Qpid를 제거하고 새 마스터에 설치합니다. 마스터:

  1. 기존 마스터의 Qpid 포트 5672에 대한 액세스 차단 모든 메시지 프로세서에서 다음 명령어를 실행합니다.
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. 다음 명령어를 실행하여 Qpid 메시지 큐가 비어 있는지 확인합니다. 금지사항 대기 중인 모든 메시지가 처리될 때까지 Qpid를 제거합니다.
    > qpid-stat -q

    이 명령어는 msg, msgIn, and msgOut 개수가 포함된 테이블을 표시합니다. msg=0에 모든 메일이 처리됩니다. 및 msgIn=msgOut

  3. 다음 명령어를 실행하여 이전 마스터의 Qpid 서버 UUID를 확인합니다. 확인할 수 있습니다. 절차 후반부를 위해 이 정보를 저장합니다.
    > curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. 이전 마스터에서 Qpid를 중지합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Qpid 서버를 제거합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. 분석 및 소비자 그룹에서 이전 Qpid 서버를 삭제합니다.
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. 주키퍼에서 이전 Qpid 서버를 삭제합니다.
    > curl -u sysAdminEmail:password -X DELETE
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. 새 마스터에 Qpid를 설치합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. 다음 명령어를 실행하여 새 마스터의 Qpid 서버 UUID를 확인합니다. 새 마스터를 반환합니다. 절차 후반부를 위해 이 정보를 저장합니다.
    > curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. 분석 및 소비자 그룹에 새 Qpid 서버를 등록합니다.
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. 모든 메시지 프로세서를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. 새 Qpid 서버에서 다음 명령어를 실행하여 큐가 생성되었는지 확인합니다.
    > qpid-stat -q

    msg, msgIn, msgOut이 Qpid 서버로 업데이트되고 있는지 확인합니다. 자동으로 처리합니다

다음에서 개별 구성요소를 롤백하려면 4.18.01

롤백 수행의 일환으로 컴퓨터에 대한 bootstrap.sh 파일을 다운로드해야 합니다. 최신 버전의 Edge:

  • 4.17.09로 롤백하려면 bootstrap_4.17.09.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을 다운로드하세요.

롤백할 구성요소를 호스팅하는 각 노드에 대해 다음을 수행합니다.

  1. 롤백할 구성요소를 중지합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 노드에서 다음 구성요소 중 하나를 롤백하는 경우 관리 서버, 라우터, 메시지 프로세서, Qpid 서버 또는 Postgres 등 모든 것을 중단하세요. 서버: <ph type="x-smartling-placeholder">
        </ph>
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. 노드의 다른 구성요소를 롤백하려는 경우 구성요소: <ph type="x-smartling-placeholder">
        </ph>
      • > apigee-service comp stop
  2. 수익 창출을 롤백하는 경우 모든 관리 서버 및 메시지에서 제거하세요. 프로세서 노드:
    > apigee-service edge-mint-gateway uninstall
  3. 노드에서 롤백하려면 구성요소를 제거합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 노드에서 다음 구성요소 중 하나를 롤백하는 경우 관리 서버, 라우터, 메시지 프로세서, Qpid 서버 또는 Postgres 등 모두 제거 서버:
      > apigee-service edge-gateway uninstall
    2. 노드의 다른 구성요소를 롤백하려면 구성요소:
      > apigee-service comp uninstall
    3. 라우터를 롤백하는 경우 라우터를 삭제해야 합니다. /opt/nginx/conf.d의 콘텐츠:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. 구성요소를 롤백하려면 다음 안내를 따르세요. <ph type="x-smartling-placeholder">
      </ph>
    1. apigee-setup의 4.18.01 버전을 제거합니다.
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. 원하는 출시 버전의 bootstrap.sh를 다운로드합니다(예: 4.16.09).
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. 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

      여기서 uNamepWord는 받은 사용자 이름과 비밀번호입니다. 되었습니다 pWord를 생략하면 있습니다.

    4. apigee-setup을 설치합니다.
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. 원하는 버전의 구성요소를 설치합니다.
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      여기서 comp는 설치할 구성요소이고 configFile는 구성 파일을 수정합니다.

    6. Qpid를 롤백하는 경우 iptable을 삭제합니다.
      > sudo iptables -F
  5. 구성요소를 특정 버전의 4.18.01 출시로 롤백하려면 다음 안내를 따르세요. <ph type="x-smartling-placeholder">
      </ph>
    1. 특정 요소 버전을 다운로드합니다.
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      여기서 comp-version은 설치할 구성요소 및 버전입니다. 예를 들면 다음과 같습니다.

      > /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install

      Apigee 온라인 저장소를 사용하는 경우 사용 가능한 구성요소 버전을 확인할 수 있습니다. 다음 명령어를 사용합니다.

      > yum --showduplicates list comp

      예를 들면 다음과 같습니다.

      > yum --showduplicates list edge-ui
    2. 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 Edge 지원팀에 문의하세요.