Миграция с помощью автоматизированных скриптов Runbook
Область применения: ✔️ виртуальные машины ✔️ ✔️ Linux под управлением Windows На локальных серверах с ✔️ поддержкой Azure Arc
В этой статье описано, как с помощью модулей Runbook миграции можно автоматически перенести все рабочие нагрузки (компьютеры и расписания) из службы "Управление обновлениями службы автоматизации" в Azure Update Manager.
В следующих разделах содержатся сведения о том, как запустить скрипт, что он делает в серверной части, ожидаемом поведении и любых ограничениях, если это применимо. Скрипт может перенести все компьютеры и расписания в одной учетной записи службы автоматизации в один раз. Если у вас несколько учетных записей службы автоматизации, необходимо запустить модуль Runbook для всех учетных записей службы автоматизации.
На высоком уровне необходимо выполнить следующие действия, чтобы перенести компьютеры и расписания из службы "Управление обновлениями службы автоматизации" в Диспетчер обновлений Azure.
Неподдерживаемые сценарии
- Не будут перенесены сохраненные поисковые запросы, не относящиеся к Azure; их необходимо перенести вручную.
Полный список ограничений и вещей, которые необходимо отметить, см . в основных точках миграции.
Пошаговое руководство
Сведения, упомянутые в каждом из описанных выше шагов, подробно описаны ниже.
Предварительные требования 1. Подключение компьютеров, отличных от Azure, к Arc
Что делать
Модуль Runbook службы автоматизации миграции игнорирует ресурсы, которые не подключены к Arc. Поэтому перед запуском модуля Runbook миграции необходимо подключить все компьютеры, отличные от Azure Arc. Выполните действия, чтобы подключить компьютеры к Azure Arc.
Предварительные требования 2. Создание удостоверений пользователей и назначений ролей с помощью скрипта PowerShell
А. Предварительные требования для запуска скрипта
- Выполните команду
Install-Module -Name Az -Repository PSGallery -Force
в PowerShell. Скрипт предварительных требований зависит от Az.Modules. Этот шаг требуется, если Az.Modules не присутствуют или не обновляются. - Чтобы запустить этот скрипт предварительных требований, необходимо иметь разрешения Microsoft.Authorization/roleAssignments/write для всех подписок, содержащих ресурсы управления обновлениями службы автоматизации, такие как компьютеры, расписания, рабочая область log analytics и учетная запись службы автоматизации. Узнайте , как назначить роль Azure.
- У вас должны быть разрешения управления обновлениями.
B. Выполнение скрипта
Скачайте и запустите скрипт MigrationPrerequisiteScript
PowerShell локально. Этот скрипт принимает AutomationAccountResourceId учетной записи службы автоматизации для переноса и автоматизацииAccountAzureEnvironment в качестве входных данных. Допустимые значения для AutomationAccountAzureEnvironment : AzureCloud, AzureUSGovernment и AzureChina, указывающие облако, к которому принадлежит учетная запись службы автоматизации.
Вы можете получить AutomationAccountResourceId, перейдя в свойства учетной записи>службы автоматизации.
C. Проверка
После запуска скрипта убедитесь, что в учетной записи автоматизации создается управляемое удостоверение пользователя. Назначен пользователь учетной>записи>службы автоматизации.
D. Внутренние операции с помощью скрипта
Обновление Az.Modules для учетной записи службы автоматизации, которая потребуется для выполнения сценариев миграции и переноса.
Создает переменную автоматизации с именем AutomationAccountAzureEnvironment, которая будет хранить облачную среду Azure, к которой принадлежит учетная запись службы автоматизации.
Создание удостоверения пользователя в той же подписке и группе ресурсов, что и учетная запись службы автоматизации. Имя удостоверения пользователя будет таким же , как AutomationAccount_aummig_umsi.
Присоединение удостоверения пользователя к учетной записи службы автоматизации.
Скрипт назначает следующие разрешения управляемому удостоверению пользователя: обязательные разрешения для управления обновлениями.
- Для этого скрипт извлекает все компьютеры, подключенные к управлению обновлениями службы автоматизации, в рамках этой учетной записи службы автоматизации, и анализирует идентификаторы подписок, которые необходимо предоставить RBAC идентификатору пользователя.
- Скрипт предоставляет RBAC правильному идентификатору пользователя в подписке, к которой принадлежит учетная запись службы автоматизации, чтобы можно было создать здесь конфигурации MRP.
- Скрипт назначает необходимые роли для рабочей области и решения Log Analytics.
Регистрация необходимых подписок для поставщиков ресурсов Microsoft.Maintenance и Microsoft.EventGrid.
Шаг 1. Миграция компьютеров и расписаний
Этот шаг включает использование модуля Runbook службы автоматизации для переноса всех компьютеров и расписаний из учетной записи службы автоматизации в Диспетчер обновлений Azure.
Выполните следующие действия:
Импорт модуля Runbook миграции из коллекции runbook и публикация. Выполните поиск обновления службы автоматизации Azure из коллекции и импортируйте модуль Runbook миграции с именем "Миграция из служба автоматизации Azure управление обновлениями в Диспетчер обновлений Azure" и опубликуйте модуль Runbook.
Runbook поддерживает PowerShell 5.1.
Задайте для модуля Runbook значение True для подробного ведения журнала.
Запустите модуль Runbook и передайте необходимые параметры, такие как AutomationAccountResourceId, UserManagedServiceIdentityClientId и т. д.
Вы можете получить automationAccountResourceId из свойств учетной записи>службы автоматизации.
Вы можете получить идентификатор клиента userManagedServiceIdentityClientId из идентификатора пользователя,>назначенного>пользователем удостоверения>>службы автоматизации.>
Параметр EnablePeriodicAssessmentForMachinesOnboardedToUpdateManagement для TRUE включает периодическое свойство оценки на всех компьютерах, подключенных к управлению обновлениями службы автоматизации.
Установка параметра MigrateUpdateSchedulesAndEnablePeriodicAssessmentonLinkedMachines на TRUE перенесите все расписания обновлений в Диспетчер обновлений службы автоматизации в Диспетчер обновлений Azure, а также включить периодическое свойство оценки в True на всех компьютерах, связанных с этими расписаниями.
Необходимо указать ResourceGroupForMaintenanceConfigurations , где будут созданы все конфигурации обслуживания в Диспетчере обновлений Azure. Если указать новое имя, будет создана группа ресурсов, в которой будут созданы все конфигурации обслуживания. Однако если указать имя, с которым уже существует группа ресурсов, все конфигурации обслуживания будут созданы в существующей группе ресурсов.
Проверьте журналы Runbook Azure, чтобы узнать о состоянии выполнения и миграции для SCS.
Операции Runbook в серверной части
Миграция модуля Runbook выполняет следующие задачи:
- Включает периодическую оценку на всех компьютерах.
- Все расписания в учетной записи автоматизации переносятся в Диспетчер обновлений Azure, а для каждого из них создается соответствующая конфигурация обслуживания с одинаковыми свойствами.
Сведения о скрипте
Ниже приведено поведение скрипта миграции.
Проверьте, присутствует ли группа ресурсов с именем, принятым в качестве входных данных, в подписке учетной записи службы автоматизации или нет. Если нет, создайте группу ресурсов с именем, указанным клиентом. Эта группа ресурсов используется для создания конфигураций MRP для версии 2.
Параметр RebootOnly недоступен в Диспетчере обновлений Azure. Расписания с параметром RebootOnly не переносятся.
Отфильтруйте suCs, которые находятся в состоянии ошибки, истечения срока действия или подготовкиFailed/disabled, и помечайте их как не перенесенные, и напечатать соответствующие журналы, указывающие, что такие suCs не переносятся.
Имя назначения конфигурации — это строка, которая будет находиться в формате AUMMig_AAName_SUCName
Узнайте, назначена ли эта динамическая область конфигурации обслуживания или не проверяется на Azure Resource Graph. Если это не назначено, назначьте только имя назначения в формате AUMMig_ AAName_SUCName_SomeGUID.
Для расписаний с настроенными задачами предварительной и последующей отправки скрипт создаст веб-перехватчик службы автоматизации для модулей Runbook в задачах предварительной записи и подписках сетки событий для событий предварительного или последующего обслуживания. Дополнительные сведения см. в статье о работе предварительной и публикации в Диспетчере обновлений Azure
Резюмируемый набор журналов выводится в поток вывода, чтобы обеспечить общее состояние компьютеров и SCS.
Подробные журналы печатаются в подробном потоке.
После миграции конфигурация обновления программного обеспечения может иметь одно из следующих четырех состояний миграции:
- MigrationFailed
- ЧастичноMigrated
- NotMigrated
- Перенесены
В приведенной ниже таблице показаны сценарии, связанные с каждым состоянием миграции.
MigrationFailed | ЧастичноMigrated | NotMigrated | Перенесены |
---|---|---|---|
Не удалось создать конфигурацию обслуживания для конфигурации обновления программного обеспечения. | Ненулевое число компьютеров, в которых не удалось применить параметры исправления. | Не удалось получить конфигурацию обновления программного обеспечения из API из-за некоторых ошибок клиента или сервера, например внутренней ошибки службы. | |
Ненулевое число компьютеров с неисправными назначениями конфигурации. | Конфигурация обновления программного обеспечения имеет параметр перезагрузки только в качестве перезагрузки. Это не поддерживается сегодня в Диспетчере обновлений Azure. | ||
Ненулевое число динамических запросов не удалось устранить, которое не удалось выполнить запрос к Azure Resource Graph. | |||
Ненулевое число сбоев назначения конфигурации динамической области. | Конфигурация обновления программного обеспечения не имеет состояния подготовки в базе данных. | ||
Конфигурация обновления программного обеспечения сохраняет поисковые запросы. | Конфигурация обновления программного обеспечения находится в состоянии ошибки в базе данных. | ||
Конфигурация обновления программного обеспечения выполняет задачи предварительной или post, которые не были успешно перенесены. | Расписание, связанное с конфигурацией обновления программного обеспечения, уже истекло во время миграции. | ||
Расписание, связанное с конфигурацией обновления программного обеспечения, отключено. | |||
Необработанное исключение при переносе конфигурации обновления программного обеспечения. | Ноль компьютеров, на которых не удалось применить параметры исправления. And Ноль компьютеров с неудачными назначениями конфигурации. And Не удалось разрешить не удалось выполнить запрос к Azure Resource Graph, но не удалось выполнить динамические запросы. And Сбои назначения динамической области. And Конфигурация обновления программного обеспечения содержит ноль сохраненных запросов поиска. |
Чтобы узнать из таблицы выше, какие сценарии и сценарии соответствуют тому, почему конфигурация обновления программного обеспечения имеет определенное состояние, просмотрите подробные журналы или журналы предупреждений, чтобы получить код ошибки и сообщение об ошибке.
Вы также можете выполнить поиск по имени расписания обновления, чтобы получить журналы, относящиеся к нему для отладки.
Шаг 2. Отключение подключения из решения управления обновлениями службы автоматизации
Выполните следующие действия:
Импортируйте модуль Runbook миграции из коллекции runbook. Выполните поиск обновления службы автоматизации Azure из коллекции и импортируйте модуль Runbook миграции с именем Deboard из служба автоматизации Azure Update Management и опубликуйте модуль Runbook.
Runbook поддерживает PowerShell 5.1.
Задайте для модуля Runbook значение True для подробного ведения журнала.
Запустите модуль Runbook и передайте такие параметры, как AccountResourceId, UserManagedServiceIdentityClientId и т. д.
Вы можете получить automationAccountResourceId из свойств учетной записи>службы автоматизации.
Вы можете получить идентификатор клиента userManagedServiceIdentityClientId из идентификатора пользователя,>назначенного>пользователем удостоверения>>службы автоматизации.>
Проверьте журналы runbook Azure для состояния деboarding компьютеров и расписаний.
Отмена операций скрипта в серверной части
- Отключите все базовые расписания для всех конфигураций обновлений программного обеспечения, присутствующих в этой учетной записи службы автоматизации. Это делается для обеспечения того, чтобы runbook patch-MicrosoftOMSComputers не активировался для SCS, которые были частично перенесены на версию 2.
- Удалите решение обновлений из связанной рабочей области Log Analytics для учетной записи службы автоматизации, отложенной из службы "Управление обновлениями службы автоматизации" в версии 1.
- В выходной поток также выводится сводный журнал всех SCS, отключенных и состояние удаления решения обновлений из связанной рабочей области log analytics.
- Подробные журналы печатаются в подробных потоках.