如果您已完成升级或升级失败,则可以将您的环境回滚到先前的版本。
您可以使用以下步骤手动执行回滚。只有在自动回滚失败的情况下,才需要执行此操作。
注: 存在与此过程相关的已知问题。有关详细信息,请参见发行说明中的“已知问题”部分。
过程
- 回滚服务提供程序 (SP) 设备。
- 关闭运行新版本(“绿色”设备)的所有设备的电源。
- 打开运行旧版本(“蓝色”设备)的所有设备的电源。
- 在两个设备上重置数据库。
- 如果“蓝色”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'
- 如果“蓝色”SP 设备运行的是版本 8.0.1,则请在两个设备上以 root 身份运行以下命令:
- 回滚资源管理器 (RM) 设备。
- 关闭运行新版本(“绿色”设备)的所有设备的电源。
- 打开运行旧版本(“蓝色”设备)的所有设备的电源。
- 回滚租户 (TA) 和桌面管理器 (DM) 设备。
- 关闭运行新版本(“绿色”设备)的所有设备的电源。
- 打开运行旧版本(“蓝色”设备)的所有设备的电源。
- 在设备上重置数据库。
- 如果“蓝色”SP 设备运行的是版本 8.0.1,则请在所有 TA 和 DM 设备上以 root 用户身份运行以下命令:为每个数据库运行一次,将
XXX
替换为数据库名称(fdb
、edb
和avdb
适用于 TA 设备;edb
和avdb
适用于 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'
- 如果“蓝色”SP 设备运行的是版本 8.0.1,则请在所有 TA 和 DM 设备上以 root 用户身份运行以下命令:为每个数据库运行一次,将
- 通过在主 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)"
- 通过在主 SP 设备上以 root 身份运行以下命令并为
TENANT_ORG_ID
、BLUE_PLATFORM_VERSION
和BLUE_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}”
- 如果“蓝色”SP 设备运行的是版本 8.0.1,请运行以下命令:
- 如果在升级之前已启用 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’"
- 通过在每个 TA 和 DM 设备上运行以下命令来重新启动 dtService。
service dtService restart