如果您已完成升級或升級失敗,則可以將環境復原到先前的版本。

以下步驟適用於執行手動復原。只有在自動復原失敗的情況下,才需要執行此操作。

備註: 此程序有相關的已知問題。如需詳細資訊,請參閱版本說明的〈已知問題〉一節。

程序

  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 應用裝置為 fdbedbavdb;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. 透過在主要 SP 應用裝置上以根使用者身分搭配 TENANT_ORG_IDBLUE_PLATFORM_VERSIONBLUE_MANIFEST_VERSION 的適當值執行下列命令,以還原租用戶組織的平台版本和資訊清單版本。
      • 如果「藍色」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 主控台,請在主要 SP 應用裝置上以根使用者身分搭配 ORG_ID 的適當值執行下列命令,將主控台重新啟用。
      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