如果您已完成升级或升级失败,则可以将您的环境回滚到先前的版本。

您可以使用以下步骤手动执行回滚。只有在自动回滚失败的情况下,才需要执行此操作。

注: 存在与此过程相关的已知问题。有关详细信息,请参见发行说明中的“已知问题”部分。

过程

  1. 回滚服务提供程序 (SP) 设备。
    1. 关闭运行新版本(“绿色”设备)的所有设备的电源。
    2. 打开运行旧版本(“蓝色”设备)的所有设备的电源。
    3. 在两个设备上重置数据库。
      • 如果“蓝色”SP 设备运行的是版本 8.0.1,则请在两个设备上以 root 身份运行以下命令:
        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 或更高版本,则请在两个设备上以 root 身份运行以下命令:
        /usr/local/desktone/scripts/reset_db_access_mode.sh 1000 'restart'
  2. 回滚资源管理器 (RM) 设备。
    1. 关闭运行新版本(“绿色”设备)的所有设备的电源。
    2. 打开运行旧版本(“蓝色”设备)的所有设备的电源。
  3. 回滚租户 (TA) 和桌面管理器 (DM) 设备。
    1. 关闭运行新版本(“绿色”设备)的所有设备的电源。
    2. 打开运行旧版本(“蓝色”设备)的所有设备的电源。
    3. 在设备上重置数据库。
      • 如果“蓝色”SP 设备运行的是版本 8.0.1,则请在所有 TA 和 DM 设备上以 root 用户身份运行以下命令:为每个数据库运行一次,将 XXX 替换为数据库名称(fdbedbavdb 适用于 TA 设备;edbavdb 适用于 DM 设备)。
        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 或更高版本,请在具有相应租户组织 ID 的主 SP 设备上以 root 身份运行以下命令:
        /usr/local/desktone/scripts/reset_db_access_mode.sh 'TENANT_ORG_ID'
    4. 通过在主 SP 设备上以 root 身份运行以下命令,还原“蓝色”设备 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 设备上以 root 身份运行以下命令并为 TENANT_ORG_IDBLUE_PLATFORM_VERSIONBLUE_MANIFEST_VERSION 设置相应值,还原租户组织的平台版本和清单版本。
      • 如果“蓝色”SP 设备运行的是版本 8.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 设备运行的不是版本 8.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 设备上以 root 身份运行以下命令,并为 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