У Windows Server 2016 з'явилася досить цікава можливість реплікації локального сховища (дискового тому) на віддалений сервер - Storage Replica (SR). Дані одного тому автоматично синхронізуються через мережу на вторинний сервер, на якому завжди буде доступна ідентична копія томи. Реплікація даних в Storage Replica виконується на рівні блоків за допомогою протоколу SMB v3.1.1 і не залежить від файлової системи (NTFS, CSVFS, ReFS).
Реплікація сховищ в Windows Server 2016 працює в режимі Active / Passive. Це означає, що дані доступні тільки на сервері джерелі. Можливі два режими реплікації:
- синхронна реплікація - дані пишуться одночасно на обидва сервера. Перед записом даних на основний сервер він чекає підтвердження про запис даних на віддалений сервер;
- асинхронна реплікація - дані записуються на основний сервер, і потім реплицируются на вторинний.
Storage Replica підтримує наступні сценарії:
- Реплікація між томами одного сервера
- Реплікація сховища Server-to-server
- Реплікація сховища в еластичному кластері (stretch cluster)
- Реплікація сховища між двома різними кластерами (Cluster-to-cluster)
зміст:
- Вимоги до Storage Replica
- Установка Storage Replica в Windows Server 2016
- Налаштування реплікації томів в Windows Server 2016
Вимоги до 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:
Install-WindowsFeature Storage-Replica -IncludeManagementTools -Restart
Компонент Storage-Replica потрібно встановити на обидва сервера. Після установки компонента сервера потрібно перезавантажити.
Налаштування реплікації томів в Windows Server 2016
У Storage Replication немає вбудованої графічної консолі управління. Для настройки реплікації сховищ потрібно використовувати PowerShell, Admin Center або консоль Failover Clustering (при використанні кластера).
Список доступних командлетів в модулі StorageReplica можна вивести так:
Get-Command -Module storagereplica
За допомогою команди Test-SRTopology
ви можете перевірити чи відповідає ваш сервер і канал зв'язку технології Storage Replica. Ви можете оцінити поточну кількість операцій введення / виводу, пропускну здатність мережі, розмір журналів. Командлет Test-SRTopology генерує HTML звіт з поточними навантаженнями і рекомендаціями.
Включимо реплікацію сховища 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
Після включення реплікації на вторинному сервері диск з даними стає недоступний для внесення змін (формат RAW).
Інформацію про реплікації томи можна отримати за допомогою додаткових лічильників продуктивності в PerfMon або з PowerShell:
Get-Counter -Counter "\ Storage Replica Statistics (*)
Події реплікації томів можна відстежувати в журналах 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
(На обох серверах)
інтерфейсу.
У багатьох організаціях як рішення для катастрофостійкі зберігання даних використовується 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 (всі зміни за час використання цього режиму відкочуються до снапшотов).