Storage Replica (репликация хранилища) в Windows Server 2016

Storage Replica (репликация хранилища) в Windows Server 2016

В Windows Server 2016 появилась довольно интересная возможность репликации локального хранилища (дискового тома) на удаленный сервер – Storage Replica (SR). Данные одного тома автоматически синхронизируются по сети на вторичный сервер, на котором всегда будет доступна идентичная копия тома. Репликация данных в Storage Replica выполняется на уровне блоков с помощью протокола SMB v3.1.1 и не зависит от используемой файловой системы (NTFS, CSVFS, ReFS).

Репликация хранилищ в Windows Server 2016 работает в режиме Active / Passive. Это означает, что данные доступны только на сервере источнике. Возможны два режима репликации:

  • Синхронная репликация – данные пишутся одновременно на оба сервера. Перед записью данных на основной сервер он ждет подтверждения о записи данных на удаленный сервер;
  • Асинхронная репликация – данные записываются на основной сервер, и затем реплицируются на вторичный.

Storage Replica поддерживает следующие сценарии:

  1. Репликация между томами одного сервера
  2. Репликация хранилища Server-to-server
  3. Репликация хранилища в эластичном кластере (stretch cluster)
  4. Репликация хранилища между двумя разными кластерами (Cluster-to-cluster)

Требования к Storage Replica

Для использования Storage Replica ваша инфраструктура должна соответствовать следующим требованиям:

  • Windows Server 2016/2019 в редакции Datacenter;
  • Оба сервера должны состоять в домене Active Directory;
  • По два дополнительных диска на каждом сервере – на одном храняться данные, на втором – логи. Диск с логами должен быть быстрее диска с данными, в идеале SSD. Размеры диска с данными должны быть одинаковыми;
  • Таблица разделов дисков – только GPT (MBR не поддерживается);
  • Поддерживаются локальные диски (SAS/SCSI/SATA), iSCSI, SAN, общие VHDX, Storage Spaces с SAS JBOD;
  • Минимум 2 Гб памяти на сервере;
  • Сеть между серверами >= 1 Гбит/с с задержками не более 5 мс в обе стороны ( как правило это ограничивает расстоянием между партнерами по репликации до 30-50 км). Сетевой адаптер желательно с поддержкой RDMA;
  • Наличие открытых TCP портов 445, 5985 и 5445 между серверами;

Установка Storage Replica в Windows Server 2016

Компонент Storage Replica можно установить из консоли Server Manager или с помощью PowerShell:

Установка Storage Replica в Windows Server 2016

Install-WindowsFeature Storage-Replica –IncludeManagementTools -Restart

Install-WindowsFeature Storage-Replica –IncludeManagementTools

Компонент Storage-Replica нужно установить на оба сервера. После установки компонента сервера нужно перезагрузить.

Настройка репликации томов в Windows Server 2016

У Storage Replication нет встроенной графической консоли управления. Для настройки репликации хранилищ нужно использовать PowerShell, Admin Center или консоль Failover Clustering (при использовании кластера).

Список доступных командлетов в модуле StorageReplica можно вывести так:

Get-Command -Module storagereplica

С помощью команды
Test-SRTopology
вы можете проверить соответствует ли ваш сервер и канал связи технологии Storage Replica. Вы можете оценить текущее количество операций ввода/вывода, пропускную способность сети, размер журналов. Командлет Test-SRTopology генерирует HTML отчет с текущими нагрузками и рекомендациями.

Test-SRTopology

Включим репликацию хранилища D: между двумя отдельными серверами SR1 и SR2 (для логов используется диск L:, размер журнала – 1 Гб):

New-SRPartnership -SourceComputerName SR1 -SourceRGName SR1ReplGroup01 -SourceVolumeName E: -SourceLogVolumeName L: -DestinationComputerName SR2 -DestinationRGName SR2ReplGroup01 -DestinationVolumeName D: -DestinationLogVolumeName E: -LogSizeInBytes 1GB

New-SRPartnership

После включения репликации на вторичном сервере диск с данными становится недоступен для внесения изменений (формат RAW).

вторичный диск репликации Storage Replica недоступен пользователям

Информацию о репликации тома можно получить с помощью дополнительных счетчиков производительности в PerfMon или из PowerShell:

Get-Counter -Counter “Storage Replica Statistics(*)

Storage Replica PerfMon

События репликации томов можно отслеживать в журналах Event Viewer (Applications and Services Logs -> Microsoft -> Windows -> StorageReplica) или из PowerShell:

Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica -max 10

Переключить режим репликации на асинхронный можно командой:

Set-SRPartnership -ReplicationMode Asynchronous

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

Set-SRPartnership -NewSourceComputerName SR2 -SourceRGName SR2ReplGroup01 -DestinationComputerName SR1 -DestinationRGName SR1ReplGroup01

Для получения информации о состоянии групп и направлении репликации используйте командлеты Get-SRGroup и Get-SRPartnerShip.

Можно проверить длину очереди копирования:

(Get-SRGroup).Replicas | Select-Object numofbytesremaining

Чтобы удалить репликацию:

Get-SRPartnership | Remove-SRPartnership
(только на основном сервере)

Get-SRGroup | Remove-SRGroup
(на обоих серверах)

Вы можете использовать Admin Center для настройки Storage Replication из графического

интерфейса. настройка Storage Replication из Windows Admin Center

Во многих организациях в качестве решения для катастрофоустойчивого хранения данных используется DFS репликация между ЦОД. У SR есть несколько преимуществ перед DFS репликацией: данные копируются на блочном уровне (возможно репликация открытых и используемых файлов, VSS снапшотов), независимость от базы данных (нет необходимости согласования базы данных при старте), быстрая и синхронная репликация (не нужно ждать часы или дни как в DFS). Из недостатков Storage Replica: репликация только 1 к 1, высокие требования к сети и задержкам, без использования кластера используется ручное переключение направления репликации и перенастройка приложений (пользователей) на новый сервер (можно упростить за счет общего DFS namespace).

В Windows Server 2019 Build 17650 Storage Replica доступна и редакции Standard (можно реплицирвать только 1 том до 2 Тб, одному партнеру по репликации. В Datacenter партеров по репликации можен быть несколько). Кроме того, появился режим Test Failover. В этом режиме на партнере создается достпный для записи том-реплика, а репликация прекращается до момента отключения Test Failover (все изменения за время использования этого режима откатываются к снапшоту).

Windows Server 2019
Storage Replica (репликация хранилища) в Windows Server 2016