Восстановление Службы приложений в Azure Stack HubApp Service recovery on Azure Stack Hub

Этот раздел содержит инструкции по аварийному восстановлению Службы приложений.This topic provides instructions on what actions to take for App Service disaster recovery.

Для восстановления Службы приложений в Azure Stack Hub из резервной копии необходимо выполнить следующие действия:The following actions must be taken to recover App Service on Azure Stack Hub from backup:

  1. Восстановление баз данных Службы приложений.Restore the App Service databases.
  2. Восстановление содержимого общей папки файлового сервера.Restore the file server share content.
  3. Восстановление служб и ролей Службы приложений.Restore App Service roles and services.

Если хранилище Azure Stack Hub использовано для хранения приложений-функций, тогда вы также должны выполнить действия для их восстановления.If Azure Stack Hub storage was used for Function Apps storage, then you must also take steps to restore Function Apps.

Восстановление баз данных Службы приложенийRestore the App Service databases

Базы данных Службы приложений SQL Server необходимо восстановить на готовом к работе экземпляре SQL Server.The App Service SQL Server databases should be restored on a production ready SQL Server instance.

После подготовки экземпляра SQL Server для размещения баз данных Службы приложений выполните следующие действия, чтобы восстановить базы данных из резервной копии:After preparing the SQL Server instance to host the App Service databases, use these steps to restore databases from backup:

  1. Войдите на сервер SQL Server, на котором будут размещаться восстановленные базы данных Службы приложений, с правами администратора.Sign in to the SQL Server that will host the recovered App Service databases with admin permissions.
  2. Используйте следующие команды для восстановления баз данных Службы приложений из командной строки с правами администратора.Use the following commands to restore the App Service databases from a command prompt running with admin permissions:
    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"
    
  3. Убедитесь, что обе базы данных в Службе приложений успешно восстановлены, и выйдите из SQL Server Management Studio.Verify that both App Service databases have been successfully restored and exit SQL Server Management Studio.

Примечание

Чтобы выполнить восстановление после сбоя экземпляра отказоустойчивого кластера, обратитесь к разделу Восстановление по журналу после сбоя экземпляра отказоустойчивого кластера.To recover from a failover cluster instance failure, see Recover from Failover Cluster Instance Failure.

Восстановление содержимого общей папки Службы приложенийRestore the App Service file share content

После подготовки файлового сервера для размещения общей папки Службы приложений вам необходимо восстановить содержимое общей папки клиента из резервной копии.After preparing the file server to host the App Service file share, you need to restore the tenant file share content from backup. Вы можете использовать любой доступный метод копирования файлов в только что созданное расположение общей папки Службы приложений.You can use whatever method you have available to copy the files into the newly created App Service file share location. При выполнении этого примера на файловом сервере для подключения к удаленной общей папке и копирования файлов в общую папку будут использоваться PowerShell и robocopy:Running this example on the file server will use PowerShell and robocopy to connect to a remote share and copy the files to the share:

$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

Помимо копирования содержимого общей папки, также следует сбросить разрешения для этой папки.In addition to copying the file share contents, you must also reset permissions on the file share itself. Для этого откройте командную строку с правами администратора на компьютере файлового сервера и выполните файл ReACL.cmd.To reset permissions, open an admin command prompt on the file server computer and run the ReACL.cmd file. Файл ReACL.cmd находится в файлах установки Службы приложений в каталоге BCDR.The ReACL.cmd file is located in the App Service installation files in the BCDR directory.

Восстановление служб и ролей Службы приложенийRestore App Service roles and services

После восстановления баз данных Службы приложений и содержимого общей папки необходимо восстановить службы и роли Службы приложений с помощью PowerShell.After the App Service databases and file share content are restored, you next need to use PowerShell to restore the App Service roles and services. Выполнив эти шаги, вы восстановите секреты Службы приложений и конфигурации службы.These steps will restore App Service secrets and service configurations.

  1. Войдите в виртуальную машину контроллера Службы приложений CN0-VM в качестве roleadmin, используя пароль, предоставленный во время установки Службы приложений.Log into the App Service controller CN0-VM VM as roleadmin using the password you provided during App Service installation.

    Совет

    Вам необходимо изменить группу безопасности сети виртуальной машины, чтобы разрешить подключения по протоколу удаленного рабочего стола.You need to modify the VM's network security group to allow RDP connections.

  2. Скопируйте файл SystemSecrets.JSON локально на виртуальную машину контроллера.Copy the SystemSecrets.JSON file locally to the controller VM. На следующем шаге необходимо указать путь к файлу в качестве параметра $pathToExportedSecretFile.You need to provide the path to this file as the $pathToExportedSecretFile parameter in the next step.

  3. Используйте следующие команды в консоли PowerShell с повышенными привилегиями для восстановления служб и ролей Службы приложений:Use the following commands in an elevated PowerShell console window to restore App Service roles and services:

    # 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 has successfully restarted, and at least one management server is in 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 после выполнения команды.It's highly recommended to close this PowerShell session when the command completes.

Восстановление приложений-функцийRestore Function Apps

Служба приложений для Azure Stack Hub не поддерживает восстановление пользовательских приложений клиента или данных, отличных от содержимого общей папки.App Service for Azure Stack Hub doesn't support restoring tenant user apps or data other than file share content. Резервное копирование и восстановление всех прочих данных необходимо выполнять вне операций восстановления и создания резервных копий Службы приложений.All other data must be backed up and recovered outside of App Service backup and restore operations. Если хранилище Azure Stack Hub использовано для хранения приложений-функций, чтобы восстановить утерянные данные, нужно выполнить следующие действия:If Azure Stack Hub storage was used for Function Apps storage, the following steps should be taken to recover lost data:

  1. Создайте учетную запись хранения, которая будет использоваться приложением-функцией.Create a new storage account to be used by the Function App. Это может быть хранилище Azure Stack Hub, Azure или любое совместимое хранилище.This storage can be Azure Stack Hub storage, Azure storage, or any compatible storage.
  2. Получите строку подключения к хранилищу.Retrieve the connection string for the storage.
  3. Откройте портал функции и перейдите к приложению-функции.Open the function portal and browse to the function app.
  4. Перейдите на вкладку Функции платформы и щелкните Параметры приложения.Browse to the Platform features tab and click Application Settings.
  5. Измените AzureWebJobsDashboard и AzureWebJobsStorage на новую строку подключения и щелкните Сохранить.Change AzureWebJobsDashboard and AzureWebJobsStorage to the new connection string and click Save.
  6. Переключитесь на Обзор.Switch to Overview.
  7. Перезапустите приложение.Restart the app. На устранение всех ошибок может уйти несколько попыток.It might take several tries to clear all errors.

Дальнейшие действияNext steps

Обзор Службы приложений Azure в Azure Stack HubApp Service on Azure Stack Hub overview