Поделиться через


Миграция экземпляра отказоустойчивого кластера на SQL Server в виртуальных машинах Azure

В этой статье описано, как перенести экземпляр отказоустойчивого кластера «Always On» на SQL Server в виртуальных машинах Azure с помощью инструмента Azure Migrate: Server Migration. С помощью средства миграции можно перенести каждый узел отказоустойчивого кластера на виртуальную машину Azure, где размещён SQL Server, а также метаданные кластера и FCI.

В этой статье вы узнаете, как:

  • Подготовьте Azure и исходную среду для миграции.
  • Запуск репликации виртуальных машин.
  • Мониторинг репликации.
  • Выполнение полной миграции виртуальной машины.
  • Перенастроить отказоустойчивый кластер SQL с общими дисками Azure.

В этом руководстве используется подход к миграции на основе агента Azure Migrate, который обрабатывает любой сервер или виртуальную машину как физический сервер. При переносе физических компьютеров Azure Migrate: миграция сервера использует ту же архитектуру репликации, что и аварийное восстановление на основе агента в службе Azure Site Recovery, и некоторые компоненты используют ту же базу кода. Некоторые материалы могут ссылаться на Site Recovery документацию.

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

Перед тем как начать это руководство, вы должны:

  1. Подписка Azure. При необходимости создайте бесплатную учетную запись.
  2. Установите модуль Azure PowerShell Az.
  3. Скачайте примерные скрипты PowerShell из репозитория GitHub.

Подготовьте Azure

Подготовьте Azure для миграции с помощью миграции сервера.

Задача Сведения
Создайте проект Azure Migrate Для учетной записи Azure требуются разрешения участника или владельца для создания нового проекта.
Проверьте разрешения для вашей учетной записи Azure Для учетной записи Azure требуются разрешения участника или владельца подписки Azure, разрешения на регистрацию приложений в идентификаторе Microsoft Entra (ранее Azure Active Directory) и разрешения администратора доступа пользователей в подписке Azure для создания Key Vault, создания виртуальной машины и записи на управляемый диск Azure.
Настройка виртуальной сети Azure Настройте виртуальную сеть в Azure. При репликации в Azure виртуальные машины создаются и присоединяются к указанной виртуальной сети Azure при настройке миграции.

Чтобы проверить наличие требуемых разрешений, выполните следующие действия.

  1. На портале Azure откройте подписку и выберите Контроль доступа (IAM).
  2. В разделе Проверка доступа найдите соответствующую учетную запись и выберите ее, чтобы просмотреть разрешения.
  3. Вы должны обладать разрешениями уровня Участник или Владелец.
    • Если вы только что создали бесплатную учетную запись Azure, вы являетесь владельцем подписки.
    • Если вы не являетесь владельцем подписки, работайте с владельцем для назначения этой роли.

Если необходимо назначить разрешения, выполните действия, описанные в Prepare для учетной записи пользователя Azure.

Подготовка к переносу

Чтобы подготовиться к миграции серверов, необходимо проверить их параметры, а также выполнить подготовку к развертыванию устройства репликации.

Проверка требований к компьютеру

Убедитесь, что компьютеры соответствуют требованиям для миграции в Azure.

  1. Проверьте соответствие требованиям к серверу.
  2. Убедитесь, что исходные компьютеры, реплицируемые в Azure, соответствуют требованиям Azure виртуальных машин.
  3. Для некоторых источников Windows требуются несколько дополнительных изменений. Перенос источника перед внесением этих изменений может предотвратить загрузку виртуальной машины в Azure. Для некоторых операционных систем Azure Migrate автоматически вносит эти изменения.

Подготовка к репликации

Azure Migrate: Миграция серверов использует устройство репликации для переноса машин в Azure. Устройство репликации запускает следующие компоненты.

  • сервер Configuration server: сервер конфигурации координирует обмен данными между локальной средой и Azure и управляет репликацией данных.
  • Сервер обработки. Сервер обработки выступает в качестве шлюза репликации. Он получает данные репликации; оптимизирует его с помощью кэширования, сжатия и шифрования и отправляет его в учетную запись хранения кэша в Azure.

Выполните подготовку к развертыванию устройства следующим образом:

  • Создайте Windows Server 2016 компьютер для размещения устройства репликации. Просмотрите требования к компьютеру.
  • Модуль репликации использует MySQL. Проверьте параметры для установки MySQL в модуле.
  • Просмотрите URL-адреса Azure, необходимые для устройства репликации для доступа к облакам public и government.
  • Проверьте требования к доступу к портам для устройства репликации.

Примечание.

Устройство репликации должно быть установлено на компьютере, отличном от исходного компьютера, на котором выполняется репликация или перенос, и не должно устанавливаться на компьютере, где ранее было установлено устройство обнаружения и оценки Azure Migrate.

Загрузка установщика устройства репликации

Чтобы загрузить установщик устройства репликации, выполните следующие действия.

  1. В проекте Azure Migrate >Servers в Azure Migrate: Миграция сервера выберите Discover.

    Снимок экрана: параметр

  2. В разделе Обнаружение компьютеров>Ваши компьютеры виртуализированы? выберите Физическое или другое (AWS, GCP, Xen и т. д.).

  3. В регионе Target выберите регион Azure, в который требуется перенести компьютеры.

  4. Выберите подтвердите, что целевым регионом для миграции является region-name.

  5. Выберите Создание ресурсов. При этом создается хранилище Azure Site Recovery в фоновом режиме.

    • Если вы уже настроили миграцию с помощью Azure Migrate Server Migration, параметр назначения нельзя настроить, так как ресурсы были настроены ранее.
    • После нажатия этой кнопки вы не сможете изменить целевой регион для этого проекта.
    • Все последующие миграции будут выполняться в этом регионе.
  6. В разделе Do you want to install a new replication appliance? (Вы хотите установить новое устройство репликации?) щелкните Установить устройство репликации.

  7. В разделе Download and install the replication appliance software (Скачайте и установите ПО устройства репликации) скачайте установщик устройства и регистрационный ключ. Для регистрации устройства необходим ключ. Ключ действителен в течение пяти дней после скачивания.

    Снимок экрана: параметр поставщика загрузки.

  8. Скопируйте файл установки устройства и файл ключа на Windows Server 2016 компьютер, созданный для устройства.

  9. После установки будет автоматически запущен мастер настройки устройства (мастер можно также запустить вручную с помощью ярлыка cspsconfigtool, который создается на рабочем столе компьютера, где установлено устройство). Используйте вкладку Управление учетными записями мастера, чтобы создать фиктивную учетную запись со следующими сведениями:

    • "гость" как дружественное имя
    • «username» в поле имени пользователя.
    • Используйте "password" в качестве пароля для учетной записи.

    Эта фиктивная учетная запись используется на этапе включения репликации.

  10. После завершения настройки и перезапуска устройства на вкладке Обнаружение компьютеров выберите новое устройство в разделе Выберите сервер конфигурации и нажмите кнопку Завершить регистрацию. Завершение регистрации выполняет пару заключительных задач по подготовке устройства репликации.

    Снимок экрана: параметр

Установка службы Mobility

Установите агент Mobility service на серверах, которые требуется перенести. Установщики агентов доступны на устройстве для репликации. Найдите правильный установщик и установите агент на каждой машине, которую вы хотите перенести.

Чтобы установить Mobility service, выполните следующие действия.

  1. Войдите на устройство репликации.

  2. Перейдите к %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository.

  3. Найдите версию установщика, которая соответствует ОС компьютера. Проверьте поддерживаемые операционные системы.

  4. Скопируйте файл установщика на компьютер, который вы хотите перенести.

  5. Убедитесь, что у вас есть пароль, сгенерированный при развертывании устройства.

    • Сохраните файл во временный текстовый файл на компьютере.
    • На устройстве репликации можно получить парольную фразу. В командной строке выполните команду C:\ProgramData\ASR\home\svsystems\bin\genpassphrase.exe -v , чтобы просмотреть текущую парольную фразу.
    • Не создавайте парольную фразу повторно. Это нарушает подключение и необходимо повторно зарегистрировать устройство репликации.
    • В параметре /Platform укажите VMware как для компьютеров VMware, так и для физических компьютеров.
  6. Подключитесь к компьютеру и извлеките содержимое файла установщика в локальную папку (например, С:\temp). Выполните эту команду в командной строке с правами администратора.

    ren Microsoft-ASR_UA*Windows*release.exe MobilityServiceInstaller.exe
    MobilityServiceInstaller.exe /q /x:C:\Temp\Extracted
    cd C:\Temp\Extracted
    
  7. Запустите установщик Службы мобильности:

    UnifiedAgent.exe /Role "MS" /Platform "VmWare" /Silent
    
  8. Зарегистрируйте агент на устройстве репликации:

    cd C:\Program Files (x86)\Microsoft Azure Site Recovery\agent
    UnifiedAgentConfigurator.exe  /CSEndPoint <replication appliance IP address> /PassphraseFilePath <Passphrase File Path>
    

После установки может пройти некоторое время, прежде чем обнаруженные машины появятся в Azure Migrate: Server Migration. При обнаружении виртуальных машин количество обнаруженных серверов увеличивается.

Снимок экрана: параметр

Подготовка исходных компьютеров

Для подготовки исходных компьютеров требуется информация из кластера.

Внимание

  • Сохраняйте владение диском на всех этапах процесса репликации до окончательного переключения. Если происходит изменение права собственности на диск, существует вероятность того, что тома могут быть искажены, и репликация должна быть повторно запущена. Установите предпочтительного владельца для каждого диска, чтобы избежать передачи прав владения во время репликации.

  • Избегайте действий по исправлению и перезапусков системы во время процесса репликации, чтобы избежать передачи владения диском.

Для подготовки исходных компьютеров выполните следующие действия.

  1. Определение владельца диска: войдите в один из узлов кластера и откройте диспетчер отказоустойчивости кластеров. Определите узел владельца дисков, чтобы определить диски, которые необходимо перенести с каждого сервера.

  2. Получение сведений о кластере: выполните Get-ClusterInfo.ps1 сценарий на узле кластера, чтобы получить сведения о ресурсах кластера. Сценарий выводит имя роли, имя ресурса, IP-адрес и порт пробы в файле Cluster-Config.csv. Используйте этот CSV-файл для создания и назначения ресурсов в Azure далее в этой статье.

    ./Get-ClusterInfo.ps1
    

Создание подсистемы балансировки нагрузки

Для того чтобы кластер и роли кластера корректно реагировали на запросы, требуется балансировщик нагрузки Azure. Без подсистемы балансировки нагрузки другим виртуальным машинам не удастся подключиться к IP-адресу кластера, так как он не распознается как принадлежащий сети или кластеру.

  1. Заполните столбцы в файле Cluster-Config.csv:

    Заголовок столбца Description
    NewIP Укажите IP-адрес в виртуальной сети Azure (или подсети) для каждого ресурса в CSV-файле.
    ServicePort Укажите порт службы, который будет использоваться каждым ресурсом в CSV-файле. Для кластерного ресурса SQL используйте то же значение для порта службы, что и для порта пробы в CSV-файле. Для других ролей кластера используется значение по умолчанию 1433, однако вы можете по-прежнему применять текущие настроенные номера портов.
  2. Запустите скрипт Create-ClusterLoadBalancer.ps1, чтобы создать подсистему балансировки нагрузки, используя следующие обязательные параметры.

    Параметр Тип Description
    ConfigFilePath Обязательно Укажите путь к файлу Cluster-Config.csv, который вы заполнили на предыдущем шаге.
    ResourceGroupName Обязательно Укажите имя группы ресурсов, в которой будет создана подсистема балансировки нагрузки.
    VNetName Обязательно Укажите имя виртуальной сети Azure, с которым будет связан подсистема балансировки нагрузки.
    SubnetName Обязательно Укажите имя подсети в виртуальной сети Azure, с которым будет связан подсистема балансировки нагрузки.
    VNetResourceGroupName Обязательно Укажите имя группы ресурсов для виртуальной сети Azure, с которым будет связан подсистема балансировки нагрузки.
    Location Обязательно Укажите расположение, в котором должна быть создана подсистема балансировки нагрузки.
    LoadBalancerName Обязательно Укажите имя создаваемой подсистемы балансировки нагрузки.
    ./Create-ClusterLoadBalancer.ps1 -ConfigFilePath ./cluster-config.csv -ResourceGroupName $resourcegroupname -VNetName $vnetname -subnetName $subnetname -VnetResourceGroupName $vnetresourcegroupname -Location "eastus" -LoadBalancerName $loadbalancername
    

Репликация компьютеров

Теперь выберите машины для миграции. Можно реплицировать до 10 виртуальных машин за раз. Если требуется реплицировать больше, выполняйте их одновременную репликацию пакетами из 10.

  1. В проекте Azure Migrate >Servers, Azure Migrate: Миграция сервера выберите Replicate.

    Скриншот экрана Azure Migrate —

  2. В Репликация, >настройках источника>Ваши машины виртуализированы?, выберите Физическое или другое (AWS, GCP, Xen и т. д.).

  3. В Локальное устройство выберите имя настроенного устройства Azure Migrate.

  4. В разделе Сервер обработки выберите имя устройства репликации.

  5. В окне Учетные данные гостя выберите фиктивную учетную запись, созданную ранее во время установки установщика репликации. Затем выберите Далее: виртуальные машины.

    Снимок экрана: вкладка

  6. В Virtual Machines в разделе Импортировать параметры миграции из оценки? оставьте параметр по умолчанию Нет, я укажу параметры миграции вручную.

  7. Проверьте каждую виртуальную машину, которую требуется перенести. Затем нажмите Далее: целевые параметры.

    Снимок экрана: параметр

  8. В Target settings выберите подписку и целевой регион, в который выполняется миграция, и укажите группу ресурсов, в которой будут находиться Azure виртуальные машины после миграции.

  9. В Virtual Network выберите Azure виртуальную сеть или подсеть, к которой будут присоединены Azure виртуальные машины после миграции.

  10. В области Параметры доступности выберите следующие параметры.

    • Зона доступности, чтобы закрепить перенесенный компьютер в определенной зоне доступности в регионе. Используйте этот параметр для распределения серверов, которые формируют многоузловой уровень приложений по зонам доступности. Если этот параметр выбран, необходимо указать зону доступности, которая будет использоваться для каждого выбранного компьютера на вкладке "Вычисления". Этот параметр доступен только в том случае, если целевой регион, выбранный для миграции, поддерживает Availability Zones
    • Группа доступности, чтобы поместить перенесенную виртуальную машину в группу доступности. Чтобы использовать этот параметр, выбранная целевая группа ресурсов должна содержать одну или несколько групп доступности.
    • Параметр «Избыточность инфраструктуры не требуется», если вам не требуется ни одна из этих конфигураций доступности для мигрированных машин.
  11. В разделе Disk encryption type (Тип шифрования диска) выберите один из следующих вариантов:

    • Шифрование данных на месте хранения с использованием ключа, управляемого платформой.
    • шифрование неактивных данных с помощью ключа, управляемого клиентом.
    • Двойное шифрование с помощью ключей, управляемых платформой и управляемых клиентом

    Примечание.

    Чтобы реплицировать виртуальные машины с помощью CMK, необходимо создать набор шифрования дисков в целевой группе ресурсов. Объект набора шифрования дисков сопоставляет Managed Disks с Key Vault, в котором содержится CMK для использования с SSE.

  12. В Azure Hybrid Benefit:

    • Выберите No если вы не хотите применять Azure Hybrid Benefit. Затем выберите Далее.
    • Выберите Yes, если у вас есть серверы Windows, которые имеют активные подписки Software Assurance или Windows Server, и вы хотите применить преимущество к серверам, которые вы собираетесь переносить. Затем выберите Далее.

    Снимок экрана: параметр

  13. В разделе Вычисление проверьте имя виртуальной машины, ее размер, тип диска ОС и конфигурацию доступности (если она выбрана на предыдущем шаге). Виртуальные машины должны соответствовать требованиям Azure.

    • Размер виртуальной машины: если вы используете рекомендации по оценке, в раскрывающемся списке размера виртуальной машины отображается рекомендуемый размер. В противном случае Azure Migrate выбирает размер на основе ближайшего соответствия в подписке Azure. Либо выберите размер вручную в размере виртуальной машины Azure VM.
    • Диск ОС. Укажите загрузочный диск ОС для виртуальной машины. Диск ОС — это диск с загрузчиком операционной системы и установщиком.
    • Зона доступности. Укажите используемую зону доступности.
    • Группа доступности. Укажите используемую группу доступности.

    Снимок экрана: параметр параметров вычислений.

  14. В Disks укажите, следует ли реплицировать диски виртуальных машин в Azure, а затем выберите тип диска (диски SSD или HDD уровня "Стандартный" или "Премиум") в Azure. Затем выберите Далее.

    • Используйте ранее созданный список, чтобы выбрать диски для репликации на каждом сервере. Исключите другие диски из репликации.

    Снимок экрана: параметр

  15. В разделе Просмотр и запуск репликации проверьте настройки, а затем нажмите кнопку Реплицировать, чтобы запустить первоначальную репликацию для серверов.

Примечание.

Вы можете обновить параметры репликации в любое время до начала репликации в разделе Управление>Репликация компьютеров. Настройки невозможно изменить после начала репликации.

Отслеживание и мониторинг

Репликация продолжается в следующем порядке.

  • Когда вы нажимаете кнопку Репликация, начинается выполнение задания Запуск репликации.
  • Когда задание Start Replication успешно завершится, компьютеры начинают начальную репликацию до Azure.
  • После завершения начальной репликации начинается разностная репликация. Инкрементальные изменения локальных дисков периодически реплицируются в диски-реплики в Azure.
  • После завершения начальной репликации следует настроить элементы вычислений и элементы сети для каждой виртуальной машины. Кластеры обычно имеют несколько сетевых адаптеров, но для миграции требуется только один сетевой адаптер (задайте остальные как не создающие).

Отслеживать состояние задания можно в уведомлениях портала.

Вы можете отслеживать состояние репликации, выбрав Replicating server в Azure Migrate: миграция сервера.

Снимок экрана: опция репликации монитора.

Перенос виртуальных машин

После репликации компьютеры готовы к миграции. Для переноса серверов выполните следующие действия.

  1. В проекте Azure Migrate >Servers>Azure Migrate: Миграция серверов выберите серверы репликации.

    Снимок экрана: параметр

  2. Чтобы убедиться, что перенесенный сервер синхронизирован с исходным сервером, остановите ресурс SQL Server (в диспетчере кластеров Failover Cluster Manager>Roles>) и убедитесь, что диски кластера находятся в сети.

  3. В машинах для репликации> выберите имя сервера >Обзор, убедитесь, что метка времени последней синхронизации после того, как вы остановили ресурс SQL Server на серверах, которые необходимо перенести, прежде чем перейти к следующему шагу. Это займет не более нескольких минут.

  4. В области Репликация машин щелкните правой кнопкой мыши виртуальную машину и выберите >.

  5. В разделе Миграция>Завершить работу виртуальных машин и выполнить запланированную миграцию без потери данных? выберите вариант Нет>ОК.

    Примечание.

    Для миграции физического сервера завершение работы исходного компьютера не поддерживается автоматически. Рекомендуется остановить приложение в рамках окна миграции (не позволяя приложению принимать подключения), а затем начать миграцию (сервер должен продолжать работу, чтобы оставшиеся изменения можно было синхронизировать) до завершения процесса.

  6. Задача миграции виртуальной машины запускается. Отслеживайте задание в уведомлениях Azure.

  7. После завершения задания вы можете просмотреть виртуальную машину и управлять ею на странице Virtual Machines.

Изменение настройки кластера

После переноса виртуальных машин перенастройте кластер. Выполните следующие действия:

  1. Завершите работу перенесенных серверов в Azure.

  2. Добавьте перенесенные виртуальные машины в серверный пул подсистемы балансировки нагрузки. Перейдите к пулам Load Balancer>Backend.

  3. Выберите внутренний пул и добавьте перенесенные компьютеры.

  4. Перенастройте перенесенные диски серверов как общие диски, выполнив скрипт Create-SharedDisks.ps1. Скрипт является интерактивным. Он запросит список компьютеров, а затем отобразит доступные диски для извлечения (только диски данных). Вам будет предложено один раз выбрать, какие компьютеры содержат диски, которые будут преобразованы в общие диски. После выбора вам будет предложено снова, для каждого компьютера, выбрать конкретные диски.

    Параметр Тип Description
    ResourceGroupName Обязательно Укажите имя группы ресурсов, которая содержит перенесенные серверы.
    NumberofNodes Необязательно Укажите количество узлов в экземпляре отказоустойчивого кластера. Этот параметр используется, чтобы указать правильный номер SKU для создаваемых общих дисков. По умолчанию скрипт предполагает, что количество узлов в кластере равно 2.
    DiskNamePrefix Необязательно Укажите префикс, который нужно добавить к именам общих дисков.
    ./Create-SharedDisks.ps1 -ResourceGroupName $resourcegroupname -NumberofNodes $nodesincluster -DiskNamePrefix $disknameprefix
    
  5. Подключите общие диски к перенесенным серверам, запустив скрипт Attach-SharedDisks.ps1.

    Параметр Тип Description
    ResourceGroupName Обязательно Укажите имя группы ресурсов, которая содержит перенесенные серверы.
    StartingLunNumber Необязательно Укажите начальный номер LUN, к которому будут присоединены общие диски. По умолчанию скрипт пытается присоединить общие диски к LUN, начиная с 0.
    ./Attach-ShareDisks.ps1 -ResourceGroupName $resourcegroupname
    
  6. Запустите перенесенные серверы в Azure и войдите на любой узел.

  7. Скопируйте файл Cluster-Config.csv, запустите скрипт Update-ClusterConfig.ps1 и передайте CSV в качестве параметра. Это обеспечит обновление ресурсов кластера с новой конфигурацией для работы кластера в Azure.

    ./Update-ClusterConfig.ps1 -ConfigFilePath $filepath
    

Экземпляр отказоустойчивого кластера SQL Server готов.

Выполнение переноса

  1. После завершения миграции щелкните правой кнопкой мыши виртуальную машину и выберите >Остановить миграцию. Это делает следующее:
    • Останавливает репликацию для локального компьютера.
    • Удаляет машину из числа реплицируемых серверов в Azure Migrate: Миграция сервера.
    • Очистка информации о состоянии репликации для компьютера.
  2. Установите агент Azure виртуальной машины for Windows на перенесенных компьютерах.
  3. Выполните любые доработки приложения после миграции, такие как обновление строк подключения к базе данных и конфигурация веб-сервера.
  4. Выполните окончательное тестирование приложения и принятия миграции в перенесенном приложении, которое теперь работает в Azure.
  5. Сократить трафик до перенесенного экземпляра виртуальной машины Azure.
  6. Удалите локальные виртуальные машины из списка локальных виртуальных машин.
  7. Удалите локальные виртуальные машины из локальных заданий резервного копирования.
  8. Обновите внутреннюю документацию, чтобы отобразить новое расположение и IP-адрес виртуальных машин Azure.

Лучшие практики после миграции

  • Для SQL Server:
    • Установите расширение агента IaaS для SQL Server, чтобы автоматизировать задачи администрирования и управления. Расширение агента IaaS SQL поддерживает только ограниченную функциональность в кластеризованных экземплярах аварийного восстановления SQL Server.
    • Оптимизация производительности SQL Server на виртуальных машинах Azure.
    • Познакомьтесь с ценами для SQL Server на платформе Azure.
  • Для повышения безопасности:
  • Для мониторинга и управления:
    • Рассмотрите возможность развертывания Microsoft Cost Management для мониторинга использования ресурсов и расходов.