在 Azure Stack Hub 上復原 App Service
本文提供 App Service 災害復原採取哪些動作的指示。
必須採取下列動作,才能從備份復原 Azure Stack Hub 上的 App Service:
- 還原 App Service 資料庫。
- 還原檔案伺服器共享內容。
- 還原 App Service 角色和服務。
如果 Azure Stack Hub 記憶體用於函式應用程式記憶體,您也必須採取步驟來還原函式應用程式。
還原 App Service 資料庫
App Service SQL Server 資料庫應該在生產就緒的 SQL Server 實例上還原。
準備 SQL Server 實例 以裝載 App Service 資料庫之後,請使用下列步驟從備份還原資料庫:
使用系統管理員許可權登入將裝載已復原 App Service 資料庫的 SQL Server。
使用下列命令,從以系統管理員許可權執行的命令提示字元還原 App Service 資料庫:
sqlcmd -U <SQL admin login> -P <SQL admin password> -Q "RESTORE DATABASE appservice_hosting FROM DISK='<full path to backup>' WITH REPLACE" sqlcmd -U <SQL admin login> -P <SQL admin password> -Q "RESTORE DATABASE appservice_metering FROM DISK='<full path to backup>' WITH REPLACE"
確認已成功還原這兩個 App Service 資料庫,然後結束 SQL Server Management Studio。
注意
若要從故障轉移叢集實例失敗中復原,請參閱 從故障轉移叢集實例失敗復原。
還原 App Service 檔案共享內容
準備 文件伺服器 以裝載 App Service 檔案共享之後,您必須從備份還原租使用者檔案共享內容。 您可以使用任何可用的方法,將檔案複製到新建立的 App Service 檔案共用位置。 檔案伺服器上的這個範例會使用 PowerShell 和 Robocopy 連線到遠端共用,並將檔案複製到共用:
$source = "<remote backup storage share location>"
$destination = "<local file share location>"
net use $source /user:<account to use to connect to the remote share in the format of domain\username> *
robocopy /E $source $destination
net use $source /delete
除了複製檔案共享內容之外,您也必須重設檔案共用本身的許可權。 若要重設許可權,請在文件伺服器計算機上開啟系統管理員層級命令提示字元,然後執行 ReACL.cmd 檔案。 ReACL.cmd檔案位於 BCDR 目錄中的 App Service 安裝檔案中。
還原 App Service 角色和服務
還原 App Service 資料庫和檔案共享內容之後,您必須使用 PowerShell 來還原 App Service 角色和服務。 下列步驟會還原 App Service 秘密和服務組態:
使用您在 App Service 安裝期間提供的密碼,以 roleadmin 身分登入 App Service 控制器 CN0-VM VM。
提示
您必須修改 VM 的網路安全組,以允許 RDP 連線。
將 SystemSecrets.JSON 檔案複製到控制器 VM 本機。 在下一個步驟中,提供此檔案的路徑做為
$pathToExportedSecretFile
參數。在提升許可權的 PowerShell 控制台視窗中使用下列命令來還原 App Service 角色和服務:
# Stop App Service services on the primary controller VM. net stop WebFarmService net stop ResourceMetering net stop HostingVssService # This service was deprecated in the App Service 1.5 release and is not required after the App Service 1.4 release. # Restore App Service secrets. Provide the path to the App Service secrets file copied from backup; for example, C:\temp\SystemSecrets.json. # Press ENTER when prompted to reconfigure App Service from backup. # If necessary, use -OverrideDatabaseServer <restored server> with Restore-AppServiceStamp when the restored database server has a different address than backed-up deployment. # If necessary, use -OverrideContentShare <restored file share path> with Restore-AppServiceStamp when the restored file share has a different path from backed-up deployment. Restore-AppServiceStamp -FilePath $pathToExportedSecretFile # Restore App Service roles. Restore-AppServiceRoles # Restart App Service services. net start WebFarmService net start ResourceMetering net start HostingVssService # This service was deprecated in the App Service 1.5 release and is not required after the App Service 1.4 release. # After App Service successfully restarts, and at least one management server is in the ready state, synchronize App Service objects to complete the restore. # Enter Y when prompted to get all sites and again for all ServerFarm entities. Get-AppServiceSite | Sync-AppServiceObject Get-AppServiceServerFarm | Sync-AppServiceObject
提示
強烈建議您在命令完成時關閉此 PowerShell 工作階段。
還原函式應用程式
App Service for Azure Stack Hub 不支援還原租用戶使用者應用程式或檔案共享內容以外的數據。 所有其他數據都必須在App Service備份和還原作業之外進行備份和復原。 如果 Azure Stack Hub 記憶體用於 Function Apps 記憶體,則應該採取下列步驟來復原遺失的數據:
- 建立函式應用程式要使用的新記憶體帳戶。 此記憶體可以是 Azure Stack Hub 記憶體、Azure 記憶體或任何相容的記憶體。
- 擷取記憶體的 連接字串。
- 開啟函式入口網站並流覽至函式應用程式。
- 流覽至 [ 平臺功能] 索引標籤,然後選取 [ 應用程式設定]。
- 將 AzureWebJobsDashboard 和 AzureWebJobsStorage 變更為新的 連接字串,然後選取 [儲存]。
- 切換至 [ 概觀]。
- 重新啟動應用程式。 可能需要數次嘗試清除所有錯誤。