Управление репликой хранилища в VMM

Реплика хранилища появилась в Windows Server 2016. Она обеспечивает независимую от типа хранилища, блочную, синхронную репликацию между кластерами или серверами для обеспечения готовности к аварийным ситуациям и восстановления, а также расширение отказоустойчивого кластера на несколько сайтов для высокой доступности. Синхронная репликация позволяет зеркально отображать данные на физических сайтах с отказоустойчивыми томами, что полностью предотвращает потерю данных на уровне файловой системы. Асинхронная репликация позволяет расширение возможностей сайта за пределы городских зон с потенциальной потерей данных.

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

Дополнительные сведения и ознакомьтесь с часто задаваемыми вопросами.

В этой статье объясняется, как Storage Replica интегрируется с Диспетчером виртуальных машин System Center (VMM), и описывается, как настроить репликацию хранилища с помощью PowerShell для репликации данных в инфраструктуре VMM.

Реплика хранилища в VMM

Реплику хранилища можно использовать для репликации данных кластера Hyper-V или файлов. Использование реплики хранилища в VMM обеспечивает множество бизнес-преимуществ:

  • Устраняет затраты и сложность, связанные с синхронными решениями репликации, такими как SAN.
  • Синхронная репликация сокращает время простоя и потерю данных. Он предоставляет RPO 0 (ноль потери данных). RTO (недоступность данных) происходит только во время сбоя первичного сайта и запуска дополнительного сайта.
  • Оборудование исходного и целевого хранилища не должно быть идентичным.

Перед началом работы

  • VMM должен работать в Windows Server 2016 или более поздней версии Datacenter Edition.
  • Hyper-V должен работать в Windows Server 2016 или более поздней версии Datacenter, Server Core или Nano.
  • VMM должен работать в Windows Server 2025 или более поздней версии Datacenter Edition.
  • Hyper-V должен работать в Windows Server 2019 или более поздней версии Datacenter, Server Core или Nano.
  • Поддерживается только синхронная репликация. Асинхронный не поддерживается.
  • Вам потребуются два комплекта хранилища: хранилище томов или хранилище файлов. Исходные и конечные расположения должны иметь одинаковый тип хранилища (файла или тома), но фактическое хранилище может быть смешанным. Например, на одном конце у вас может быть SAN Fibre Channel, а на другом — Spaces Direct (в гиперконвергентном или разбалансированном режиме).
  • Каждый набор хранилища должен быть доступен в каждом из кластеров. Хранилище кластера не должно быть общим.
  • Исходные и конечные тома (включая тома журнала) должны быть идентичными по размеру и размеру блока. Это связано с тем, что реплика хранилища использует репликацию блоков.
  • На каждом сервере хранения требуется по крайней мере одно подключение с 1 Гбит/с (Gigabit Ethernet), предпочтительно 10 Гбит/с, iWARP или InfiniBand.
  • Для каждого файлового сервера или узла кластера требуются правила брандмауэра, разрешающие двунаправленный трафик ICMP, SMB (порт 445, плюс 5445 для SMB Direct) и WS-MAN (порт 5985).
  • Необходимо быть членом группы администраторов на каждом узле кластера.
  • Реплику хранилища можно настроить только с помощью Windows PowerShell в настоящее время.
  • Исходное и целевое хранилище должно управляться тем же сервером VMM.
  • Интеграция VMM с Azure Site Recovery не поддерживается.
  • Настройка порядка записи и групп согласованности не поддерживается.

Шаги развертывания

  1. Определение хранилища. Определите исходное и целевое хранилище, которое вы хотите использовать.

  2. Обнаружение и классификация. Если хранилище в настоящее время не находится в структуре VMM, необходимо обнаружить его с помощью VMM. Исходное и целевое хранилище должно управляться тем же сервером VMM. После обнаружения создайте пул носителей и классификацию хранилища. Подробнее.

  3. Пара: связывание исходного и целевого массива хранилища.

  4. Подготовка. После объединения хранилищ необходимо подготовить идентичные тома данных и журналов из пулов хранилища источника и назначения, созданных на соответствующих массивах хранилища. Помимо выделения тома для реплицируемых данных, также необходимо выделить том для журналов транзакций репликации. Так как данные обновляются в исходном хранилище, журнал транзакций добавляется, а разностные изменения синхронизируются (с помощью синхронной репликации) с целевым хранилищем.

  5. Создайте группы репликации: после размещения томов выполните этот шаг. Группы репликации — это логические группы, содержащие несколько томов. Группы репликации должны быть идентичными, содержащими тома данных и журналов для исходных и целевых сайтов соответственно.

  6. Включение репликации. Теперь можно включить репликацию между группами исходной и целевой репликации.

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

  8. Проверьте состояние: теперь можно проверить состояние основной группы репликации. Он должен находиться в состоянии репликации.

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

  10. Запуск переключения: после того как репликация перейдет в состояние синхронизации, вы можете запустить переключение, чтобы проверить, работает ли оно должным образом. Тестового механизма аварийного переключения не существует, поэтому вы выполните аварийное переключение вручную в ответ на запланированные или незапланированные сбои. После отработки отказа можно удалить виртуальную машину на исходном сайте (если она по-прежнему существует) и создать виртуальную машину на целевом сайте с помощью реплицированных данных.

  11. Запуск восстановления после отказа: После завершения отработки отказа и запуска виртуальных машин реплики можно выполнить восстановление по мере необходимости. Убедитесь в следующем:

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

Получение объектов PowerShell

  1. Прежде чем начать, получите имя объектов PowerShell, которые вы хотите использовать.

  2. Получите имя основного массива хранилища и назначьте его переменной.

        $PriArray = Get-SCStorageArray -Name $PriArrayName
    
  3. Получите имя вторичного массива хранилища и назначьте его переменной.

        RecArray = Get-SCStorageArray -Name $RecArrayName
    
  4. Получите имя основного пула носителей и назначьте его переменной.

        $ $ PriPoolName $RecPool = Get-SCStoragePool -Name $
    
  5. Получите имя вторичного пула носителей и назначьте его переменной.

        $ $PriPoolName $RecPool = Get-SCStoragePool -Name $
    

Объедините массивы хранилища в пары

Связывание первичных и вторичных массивов хранилища с помощью переменных для имен массивов хранилища.

Примечание.

Имя массива должно совпадать с именем кластера.

      Set-SCStorageArray -StorageArray $PriArray -PeerStorageArrayName $RecArray.name

Если вы создали кластер за пределами VMM и необходимо переименовать имя массива для сопоставления имени кластера, используйте следующую команду:

      Get-SCStorageArray -Name "existing-name" | Set-SCStorageArray -Name "new-name"

Подготовка LUN и создание групп хранения

Подготовьте LUN из пула носителей для данных и журнала. Затем создайте группы репликации.

  1. Предоставление и создание на источнике.

        Set-SCStorageArray -StorageArray $PriArray -PeerStorageArrayName $RecArray.name
    
        $PrimaryVol = New-SCStorageVolume -StorageArray $PriArray -StoragePool $PriPool -Name PrimaryVol -SizeInBytes $VolSize -RunAsynchronously -PhysicalDiskRedundancy "1" -FileSystem "CSVFS_NTFS" -DedupMode "Disabled"
    
        $PrimaryLogVol = New-SCStorageVolume -StorageArray $PriArray -StoragePool $PriPool -Name PrimaryLogVol -SizeInBytes $LogVolSize -GuidPartitionTable -RunAsynchronously -FileSystem "NTFS"
    
        $PriRG = New-SCReplicationGroup -Name PriRG -StorageVolume $PrimaryVol -LogStorageVolume $PrimaryLogVol
    
  2. Подготовьте и создайте в месте назначения.

        $RecoveryVol = New-SCStorageVolume -StorageArray $RecArray -StoragePool $RecPool -Name RecoveryVol -SizeInBytes $VolSize -RunAsynchronously -PhysicalDiskRedundancy "1" -FileSystem "CSVFS_NTFS" -DedupMode "Disabled"
    
        $RecoveryLogVol = New-SCStorageVolume -StorageArray $RecArray -StoragePool $RecPool -Name RecoveryLogVol -SizeInBytes $LogVolSize -GuidPartitionTable -RunAsynchronously -FileSystem "NTFS"
    
        $RecRG = New-SCReplicationGroup -Name RecRG -CreateOnArray -ProtectionMode Synchronous -StorageVolume $RecoveryVol -LogStorageVolume $RecoveryLogVol
    

Включение репликации

Включите синхронную репликацию между группами репликации источника и назначения.

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation EnableProtection -TargetReplicationGroup $RecRG -EnableProtectionMode Synchronous

Обновление поставщиков хранилища

  1. Откройте консоль VMM.
  2. Выберите Ресурсы>Поставщики. Щелкните правой кнопкой мыши на поставщике и выберите >.

Проверка состояния репликации

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

    Get replication status Get-SCReplicationGroup | where {($_.Name.EndsWith("PriRG")) -or ($_.Name.EndsWith("RecRG"))}  | fl Name, IsPrimary, ReplicationState, ReplicationHealth

создание виртуальной машины;

Создайте виртуальную машину с помощью LUN в исходной группе репликации. Кроме того, вы можете создать виртуальную машину в консоли VMM.

    New-SCVirtualMachine -Name "DemoVM" -VMHost <HostName> -Path $PrimaryVol -VMTemplate <VMTemplate>

Запуск переключения на резервный сервер

Выполните переключение на резервную систему.

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation PrepareForFailover

    Set-SCReplicationGroup -ReplicationGroup SRecRG -Operation Failover

Возврат к исходной системе

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

Выполните откат к исходному состоянию:

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation ReverseRoles -EnableProtectionMode Synchronous -TargetReplicationGroup $RecRG

После выполнения возврата после отказа, вы можете создать виртуальные машины на исходном сайте с помощью восстановленных после отказа VHD и конфигурационных файлов.

Остановить репликацию

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

    Set-SCReplicationGroup -ReplicationGroup $RecRG -Operation TearDown  Tear down need to be done on both RGs

Следующие шаги