アップグレードを完了した場合、またはアップグレードに失敗した場合は、環境を以前のバージョンにロールバックできます。

以下の手順は、手動によるロールバックを実行する場合に使用します。これは、自動ロールバックが失敗した場合にのみ必要です。

注: この手順には関連する既知の問題があります。詳細については、リリース ノートの「既知の問題」セクションを参照してください。

手順

  1. サービス プロバイダ (SP) アプライアンスをロールバックします。
    1. 新しいバージョン(「green」アプライアンス)を実行しているすべてのアプライアンスをパワーオフします。
    2. 旧バージョン(「blue」アプライアンス)を実行しているすべてのアプライアンスをパワーオンします。
    3. 両方のアプライアンスでデータベースをリセットします。
      • 「blue」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
      • 「blue」SP アプライアンスがバージョン 18.1 以降を実行している場合は、両方のアプライアンスで root として次のコマンドを実行します。
        /usr/local/desktone/scripts/reset_db_access_mode.sh 1000 'restart'
  2. リソース マネージャ (RM) アプライアンスをロールバックします。
    1. 新しいバージョン(「green」アプライアンス)を実行しているすべてのアプライアンスをパワーオフします。
    2. 旧バージョン(「blue」アプライアンス)を実行しているすべてのアプライアンスをパワーオンします。
  3. テナント (TA) および Desktop Manager (DM) アプライアンスをロールバックします。
    1. 新しいバージョン(「green」アプライアンス)を実行しているすべてのアプライアンスをパワーオフします。
    2. 旧バージョン(「blue」アプライアンス)を実行しているすべてのアプライアンスをパワーオンします。
    3. アプライアンスのデータベースをリセットします。
      • 「blue」SP アプライアンスがバージョン 8.0.1 を実行している場合は、すべての TA アプライアンスおよび DM アプライアンスで root として次のコマンドを実行します。データベースごとに 1 回実行し、XXX はデータベースの名前(TA アプライアンスの場合は fdbedb、および avdb、DM アプライアンスの場合は edb および avdb)に置き換えます。
        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;"
      • 「blue」SP アプライアンスがバージョン 18.1 以降を実行している場合は、適切なテナント OrgId を使用して、プライマリ SP アプライアンスで root として次のコマンドを実行します。
        /usr/local/desktone/scripts/reset_db_access_mode.sh 'TENANT_ORG_ID'
    4. プライマリ SP アプライアンスで root として次のコマンドを実行して、「blue」アプライアンス eth1 IP アドレスをリストアします。TA または DM アプライアンスごとに 1 回実行し、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_VERSION、および BLUE_MANIFEST_VERSION には適切な値を指定します。
      • 「blue」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}"
      • 「blue」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