Добавление скрипта VMM в план восстановления

В этой статье описывается, как создать скрипт System Center Virtual Machine Manager (VMM) и добавить его в план восстановления в Azure Site Recovery.

Комментарии или вопросы можно добавить в конце этой статьи или на странице вопросов и ответов по службам восстановления Azure.

Предварительные требования

В планах восстановления можно использовать скрипты PowerShell. Чтобы он был доступен в плане восстановления, этот скрипт необходимо создать и поместить в библиотеку VMM. При создании скрипта необходимо учитывать следующее.

  • Для аккуратной обработки исключений скрипты должны включать блоки try-catch.

    • Если в скрипте возникает исключение, его выполнение останавливается и задача помечается как невыполненная.
    • При возникновении ошибки оставшаяся часть скрипта не выполняется.
    • Если ошибка происходит при выполнении внеплановой отработки отказа, выполнение плана восстановления продолжается.
    • Если ошибка происходит при выполнении плановой отработки отказа, выполнение плана восстановления останавливается. Исправьте скрипт, убедитесь, что он выполняется должным образом, и повторно запустите план восстановления.
      • Команда Write-Host не работает в скрипте плана восстановления. Если вы используете в скрипте команду Write-Host, выполнение скрипта завершается ошибкой. Для создания выходного файла создайте скрипт прокси, который выполняется в основном скрипте. Убедитесь, что все выходные данные перенаправляются, с помощью команды >> .
      • Если скрипт не завершается в течение 600 секунд, он будет остановлен.
      • Если от скрипта поступят любые данные в вывод STDERR, он будет считаться завершившимся с ошибкой. Эти сведения отображаются в данных о выполнении скрипта.
  • Скрипты в плане восстановления выполняются в контексте учетной записи службы VMM. Убедитесь, что эта учетная запись имеет разрешения на чтение для удаленной общей папки, в которой расположен скрипт. Проверьте выполнение скрипта с теми же правами пользователя, что и у учетной записи службы VMM.

  • Командлеты VMM предоставляются в модуле Windows PowerShell. Этот модуль устанавливается одновременно с консолью VMM. Чтобы загрузить этот модуль в скрипт, используйте в скрипте следующую команду.

    Import-Module -Name virtualmachinemanager

    Дополнительные сведения см. в статье Приступая к работе с Windows PowerShell и VMM.

  • Убедитесь в наличии хотя бы одного сервера библиотеки в развертывании VMM. По умолчанию общая папка библиотеки для сервера VMM размещается на сервере VMM. Имя папки — MSCVMMLibrary.

    Если ваша общая папка библиотеки находится на удаленном сервере (или расположена локально, но не совпадает с папкой MSCVMMLibrary), настройте общую папку, как описано ниже (\\libserver2.contoso.com\share\ используется в качестве примера).

    1. Откройте редактор реестра и найдите запись HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Azure Site Recovery\Registration.

    2. Для параметра ScriptLibraryPath укажите \\libserver2.contoso.com\share\ . Укажите полное доменное имя. Предоставьте разрешения для расположения общей папки. Это корневой узел общего ресурса. Чтобы проверить корневой узел, в VMM перейдите к корневому узлу в библиотеке. Открывшийся путь является корневым. Этот путь необходимо использовать в переменной.

    3. Проверьте выполнение скрипта с помощью учетной записи с теми же правами, что и учетной записи службы VMM. Применяя эти права пользователей, можно убедиться, что изолированные протестированные скрипты выполняются так же, как и в планах восстановления. На сервере VMM установите обход политики выполнения следующим образом.

      а. Откройте консоль PowerShell 64-разрядной версии Windows с правами администратора.

      b. Введите Set-executionpolicy bypass. Дополнительные сведения см. в статье Библиотека технической информации для Windows Server.

      Важно!

      Задайте командлет Set-executionpolicy bypass только для 64-разрядной консоли PowerShell. Если задать его для 32-разрядной консоли PowerShell, скрипты не выполняются.

Добавление сценария в библиотеку VMM

При наличии исходного сайта VMM можно создать скрипт на сервере VMM. Затем включите этот скрипт в план восстановления.

  1. Создайте новую папку в общей папке библиотеки. Например, <VMM server name>\MSSCVMMLibrary\RPScripts. Разместите ее на исходном и целевом серверах VMM.
  2. Создайте скрипт. Назовите его RPScript. Убедитесь, что скрипт выполняется правильно.
  3. Поместите скрипт в папку <VMM server name>\MSSCVMMLibrary на исходном и целевом серверах VMM.

Добавление сценария в план восстановления

Когда вы создадите план восстановления и добавите в него виртуальные машины или группы репликации, в эту группу можно добавить скрипт.

  1. Откройте план восстановления.
  2. Выберите элемент в списке Шаг. Затем выберите Скрипт или Выполняемое вручную действие.
  3. Укажите, следует ли добавить скрипт или действие до или после выбранного элемента. Используя кнопки управления Move Up (Переместить выше) и Move Down (Переместить ниже), можно изменить положение скрипта.
  4. Если вы добавляете скрипт VMM, выберите Failover to VMM script (Отработка отказа в скрипт VMM). Для параметра Путь к скрипту укажите относительный путь к общей папке. Например, введите \RPScripts\RPScript.PS1.
  5. Если вы добавляете модуль Runbook службы автоматизации Azure, укажите учетную запись службы автоматизации, в которой расположен этот модуль Runbook. Затем выберите нужный скрипт модуля Runbook Azure.
  6. Чтобы убедиться в исправной работе скрипта, выполните тестовую отработку отказа плана восстановления.

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