업그레이드를 완료했거나 업그레이드가 실패한 경우 환경을 이전 버전으로 롤백할 수 있습니다.

아래 단계는 수동 롤백을 수행하기 위한 것입니다. 이 단계는 자동화된 롤백이 실패하는 경우에만 필요합니다.

참고: 이 절차와 관련된 알려진 문제가 있습니다. 자세한 내용은 릴리스 정보의 알려진 문제 섹션을 참조하십시오.

프로시저

  1. SP(서비스 제공자) 장치를 롤백합니다.
    1. 새 버전을 실행하는 모든 장치('녹색' 장치)의 전원을 끕니다.
    2. 이전 버전을 실행하는 모든 장치('파란색' 장치)의 전원을 켭니다.
    3. 두 장치에서 데이터베이스를 재설정합니다.
      • '파란색' SP 장치가 버전 9.0.0 또는 9.0.1을 실행 중인 경우 두 장치 모두에서 루트 권한으로 다음 명령을 실행합니다.
        DB_NAME='fdb'; PGPASSWORD=$(sed -n 1p /root/.pgpass | cut -d: -f5)  psql -U admin ${DB_NAME} -c "BEGIN;SET TRANSACTION read write; ALTER DATABASE ${DB_NAME} SET default_transaction_read_only='off'; COMMIT;"
        service dtService restart
      • '파란색' SP 장치가 버전 18.1 이상을 실행 중인 경우 두 장치 모두에서 루트 권한으로 다음 명령을 실행합니다.
        /usr/local/desktone/scripts/reset_db_access_mode.sh 1000 'restart'
  2. RM(리소스 관리자) 장치를 롤백합니다.
    1. 새 버전을 실행하는 모든 장치('녹색' 장치)의 전원을 끕니다.
    2. 이전 버전을 실행하는 모든 장치('파란색' 장치)의 전원을 켭니다.
  3. 테넌트(TA) 및 DM(데스크톱 관리자) 장치를 롤백합니다.
    1. 새 버전을 실행하는 모든 장치('녹색' 장치)의 전원을 끕니다.
    2. 이전 버전을 실행하는 모든 장치('파란색' 장치)의 전원을 켭니다.
    3. 장치에서 데이터베이스를 재설정합니다.
      • '파란색' SP 장치가 버전 9.0.0 또는 9.0.1을 실행 중인 경우 모든 TA 및 DM 장치에서 루트 권한으로 다음 명령을 실행합니다. 각 데이터베이스에 대해 한 번 실행하고 XXX를 데이터베이스 이름(TA 장치의 경우 fdb, edbavdb, DM 장치의 경우 edbavdb)으로 바꿉니다.
        DB_NAME='XXX'; PGPASSWORD=$(sed -n 1p /root/.pgpass | cut -d: -f5) psql -U admin ${DB_NAME} -c "BEGIN;SET TRANSACTION read write; ALTER DATABASE ${DB_NAME} SET default_transaction_read_only='off'; COMMIT;"
      • '파란색' SP 장치가 버전 18.1 이상을 실행 중인 경우 해당 테넌트 OrgId를 사용하여 기본 SP 장치에서 루트 권한으로 다음 명령을 실행합니다.
        /usr/local/desktone/scripts/reset_db_access_mode.sh 'TENANT_ORG_ID'
    4. 기본 SP 장치에서 루트 권한으로 다음 명령을 실행하여 '파란색' 장치 eth1 IP를 복원합니다. 각 TA 또는 DM 장치에 대해 한 번 실행하고 BACKBONE_IP를 장치의 백본 IP로 바꿉니다.
      BLUE_APPLIANCE_ETH1='BACKBONE_IP'; export PGPASSWORD=$(sed -n 1p /root/.pgpass | cut -d: -f5); BLUE_APPLIANCE_ID=$(psql -U admin fdb -t --no-align -c "select appliance_id from network_interface where ip_address='${BLUE_APPLIANCE_ETH1}'"); psql -U admin fdb -c "WITH NIC_IDS AS  (select id from network_interface where adapter_name IN  ('eth1', 'standby') and appliance_id= '${BLUE_APPLIANCE_ID}') UPDATE network_interface SET adapter_name=(CASE ip_address WHEN '${BLUE_APPLIANCE_ETH1}' THEN 'eth1' ELSE 'standby' END) WHERE id IN (SELECT id from NIC_IDS)"
    5. TENANT_ORG_ID, BLUE_PLATFORM_VERSIONBLUE_MANIFEST_VERSION에 대해 적절한 값을 사용하여 기본 SP 장치에서 루트 권한으로 다음 명령을 실행함으로써 테넌트 조직의 플랫폼 버전 및 매니페스트 버전을 복원합니다.
      • '파란색' SP 장치가 버전 9.0.0 또는 9.0.1을 실행 중인 경우 다음 명령을 실행합니다.
        TENANT_ORG_ID='XXXX' BLUE_PLATFORM_VERSION=‘X.X.X'; PGPASSWORD=$(sed -n 1p /root/.pgpass | cut -d: -f5) psql -U admin fdb -c "UPDATE appliance SET version='${BLUE_PLATFORM_VERSION}' WHERE org_id=${TENANT_ORG_ID}"
      • '파란색' SP 장치가 버전 9.0.0 또는 9.0.1을 실행 중이 아닌 경우 다음 명령을 실행합니다.
        TENANT_ORG_ID='XXXX' BLUE_PLATFORM_VERSION=‘X.X.X' BLUE_MANIFEST_VERSION='X.X.X.XXXX.X'; PGPASSWORD=$(sed -n 1p /root/.pgpass | cut -d: -f5) psql -U admin fdb -c "UPDATE appliance SET version='${BLUE_PLATFORM_VERSION}', manifest_version='${BLUE_MANIFEST_VERSION}' WHERE org_id=${TENANT_ORG_ID}”
    6. 업그레이드 이전에 App Volumes Manager 콘솔을 사용하도록 설정한 경우, ORG_ID에 대해 적절한 값을 사용하여 기본 SP 장치에서 루트 권한으로 다음 명령 실행을 다시 사용하도록 설정합니다.
      PGPASSWORD=$(sed -n 1p /root/.pgpass | cut -d: -f5) psql -U admin fdb -c "UPDATE organization SET avmui_enabled='t' where id='ORG_ID’"
    7. 각 TA 및 DM 장치에서 다음을 실행하여 dtService를 다시 시작합니다.
      service dtService restart