Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Storage Replica может реплицировать тома между кластерами, включая репликацию кластеров с помощью Storage Spaces Direct. Применяются те же управление и настройка, что и для межсерверной репликации.
Эти компьютеры и хранилища будут настроены в конфигурации кластер-кластер, где один кластер реплицирует свой набор хранилищ с другим кластером и его набором хранилищ. Эти узлы и их хранилище должны находиться на отдельных физических сайтах, хотя это не обязательно.
Внимание
В этом тесте для примера используются четыре сервера. Вы можете использовать любое количество серверов, поддерживаемых корпорацией Майкрософт в каждом кластере, которое в настоящее время составляет 8 для кластера Локальные дисковые пространства и 64 для общего кластера хранилища.
В этом руководстве не рассматривается настройка Storage Spaces Direct. Чтобы получить сведения о настройке технологии Подключенные дисковые пространства, см. в разделе Обзор технологии Подключенные дисковые пространства.
В этом пошаговом руководстве в качестве примера используется следующая среда:
Два сервера-члены с именем SR-SRV01 и SR-SRV02, которые позже формируются в кластер с именем SR-SRVCLUSA.
Два сервера-члены с именем SR-SRV03 и SR-SRV04, которые позже формируются в кластер с именем SR-SRVCLUSB.
Два логических расположения, которые представляют два разных центра обработки данных: Redmond и Bellevue.
РИС. 1. Репликация кластера в кластер
Предварительные условия
- Лес доменных служб Active Directory (не требуется запускать Windows Server 2016).
- 4-128 серверов (два кластера 2-64 серверов) под управлением Windows Server 2019 или Windows Server 2016, Datacenter Edition. Если вы работаете под управлением Windows Server 2019, вы можете вместо этого использовать выпуск Standard, если вы согласны реплицировать только один том размером до 2 ТБ.
- Два набора хранилищ с использованием SAS JBOD, волоконно-оптического SAN, общих VHDX, прямых дисковых пространств (Storage Spaces Direct) или iSCSI-целевого объекта. Хранилище должно включать как жесткие диски, так и твердотельные накопители. Вы сделаете каждый набор хранилища доступным только для каждого кластера без общего доступа между кластерами.
- Каждый набор хранилищ должен допускать создание по меньшей мере двух виртуальных дисков: один для реплицируемых данных и один для журналов. На всех дисках данных в физическом хранилище необходимо использовать одинаковый размер секторов. На всех дисках с журналами в физическом хранилище необходимо использовать одинаковый размер секторов.
- На каждом сервере должно быть создано по меньшей мере одно подключение Ethernet/TCP для синхронной репликации, но желательно использовать RDMA.
- Правила всех задействованных брандмауэров и маршрутизаторов должны разрешать двунаправленный трафик ICMP, SMB (порт 445, а также 5445 для SMB Direct) и WS-MAN (порт 5985) между всеми узлами.
- Сеть между серверами должна иметь достаточную пропускную способность для ваших рабочих нагрузок ввода-вывода, а средняя задержка приема-передачи должна составлять 5 мс для синхронной репликации. Асинхронная репликация не имеет рекомендации по задержке.
- Реплицированное хранилище не может находиться на диске, содержащем папку операционной системы Windows.
- Существуют важные соображения и ограничения для репликации Storage Spaces Direct.
Многие из этих требований можно определить с помощью командлета Test-SRTopology
. Вы получите доступ к этому инструменту, если установите функцию Storage Replica или средства управления Storage Replica хотя бы на один сервер. Не требуется настраивать реплику хранилища для использования этого средства, достаточно установить командлет. Дополнительная информация приведена ниже.
Шаг 1. Подготовка операционной системы, функций, ролей, хранилища и сети
Установите Windows Server на всех четырех узлах сервера с типом установки Windows Server (рабочий стол).
Добавьте сведения о сети и присоедините узлы к домену, а затем перезапустите их.
Внимание
С этого момента всегда войдите в качестве пользователя домена, который является членом встроенной группы администраторов на всех серверах. Не забывайте повышать привилегии командных строк Windows PowerShell и CMD в будущем, когда работаете на графическом сервере или на компьютере с ОС Windows 10.
Подключите первый набор массивов JBOD, iSCSI target, FC SAN, или хранилища на локальном жестком диске (DAS) к серверу в Redmond.
Подключите второй набор хранилищ к серверу в Bellevue.
При необходимости установите на всех четырех узлах последнюю версию прошивки и драйверов для хранилищ и корпусов, последние версии драйверов HBA поставщика, прошивку BIOS/UEFI поставщика, сетевые драйверы поставщика и драйверы набора микросхем материнской платы. Перезапустите узлы при необходимости.
Примечание.
Для настройки общих хранилищ и сетевого оборудования обратитесь к документации поставщика оборудования.
Убедитесь, что в параметрах BIOS/UEFI серверов настроена высокая производительность, например, отключен режим C-State, установлена скорость QPI, включен NUMA и установлена максимально возможная частота памяти. Убедитесь, что для управления питанием в Windows Server выбрана схема высокой производительности. При необходимости перезагрузите компьютер.
Настройте роли следующим образом.
Графический метод
Запустите ServerManager.exe и создайте группу серверов, добавив в нее все узлы серверов.
Установите роли и компоненты файлового сервера и реплики хранилища на всех узлах и перезапустите их.
Метод Windows PowerShell
На сервере SR-SRV04 или на компьютере удаленного управления выполните следующую команду в консоли Windows PowerShell, которая установит все необходимые компоненты и роли для растянутого кластера на четырех узлах и перезапустит их:
$Servers = 'SR-SRV01','SR-SRV02','SR-SRV03','SR-SRV04' $Servers | ForEach { Install-WindowsFeature -ComputerName $_ -Name Storage-Replica,Failover-Clustering,FS-FileServer -IncludeManagementTools -restart }
Дополнительные сведения об этих действиях см. в статье Установка и удаление ролей, служб ролей и компонентов.
Настройте хранилище следующим образом:
Внимание
- Необходимо создать два тома на каждой полке: один для данных и один для журналов.
- Диски журналов и данных следует инициализировать как GPT, а не MBR.
- Два тома данных должны иметь одинаковый размер.
- Два тома логов должны иметь одинаковый размер.
- Все реплицируемые диски данных должны иметь одинаковый размер сектора.
- Все диски журналов должны иметь одинаковый размер сектора.
- Тома журнала следует располагать на твердотельных накопителях на основе флеш-памяти, таких как SSD. Корпорация Майкрософт рекомендует быстрее хранить журналы, чем хранилище данных. Томы журналов никогда не должны использоваться для других рабочих нагрузок.
- В качестве дисков данных можно использовать жесткие диски, твердотельные накопители или их многоуровневое сочетание. Диски можно организовать как зеркальные массивы, массивы с контролем четности, RAID 1 или 10, RAID 5 или RAID 50.
- Размер журнала по умолчанию — 8 ГБ, если не указано. Объем журнала должен быть не менее 10 ГБ или больше в зависимости от требований к журналам и потребностей организации.
- При использовании Storage Spaces Direct с кэшем NVME или SSD, наблюдается большее, чем ожидалось, увеличение задержки при настройке репликации с помощью Storage Replica между кластерами Storage Spaces Direct. Изменение задержки пропорционально значительно выше, чем в случае использования NVME и SSD в конфигурации производительность + емкость без уровня HDD и уровня емкости.
Эта проблема возникает из-за архитектурных ограничений в механизме логирования SR в сочетании с исключительно низкой задержкой NVME в сравнении с более медленными носителями. При использовании кэша в Storage Spaces Direct все операции ввода-вывода журналов SR, а также все последние операции ввода-вывода приложений, происходят в кэше и никогда не выполняются на уровнях производительности или емкости. Это означает, что вся активность SR происходит на одном и том же высокоскоростном носителе данных. Эта конфигурация не поддерживается и не рекомендуется (см. https://aka.ms/srfaq рекомендации по журналам).
При использовании Storage Spaces Direct с жесткими дисками нельзя отключить или избежать использования кэширования. В качестве обходного решения, если используется только SSD и NVME, можно настроить только уровни производительности и емкости. При использовании этой конфигурации, размещая журналы SR на уровне производительности, а объемы данных, которые они обслуживают, — только на уровне емкости, можно избежать проблемы с высокой задержкой, описанной выше. То же самое можно сделать с помощью сочетания более быстрых и медленных SSD и без NVME.
Это решение не идеально подходит, и некоторые клиенты могут не использовать его. Команда SR работает над оптимизацией и обновленным механизмом ведения журнала, чтобы в будущем уменьшить эти возникающие искусственные узкие места.
- Для корпусов JBOD:
Убедитесь, что каждый кластер может видеть только дисковые корпуса своего сайта и что соединения SAS правильно сконфигурированы.
Подготовьте хранилище с помощью дисковых пространств, выполнив шаги 1–3 из статьи Развертывание дисковых пространств на автономном сервере с помощью Windows PowerShell или диспетчера сервера.
- Для целевого хранилища iSCSI:
Убедитесь, что каждый кластер может видеть только хранилища этого сайта. При работе с iSCSI следует использовать несколько сетевых адаптеров.
Подготовьте хранилище в соответствии с документацией поставщика. При использовании целей iSCSI для Windows изучите статью Блочное хранилище конечного сервера iSCSI, краткое руководство.
- Для хранилища SAN FC:
Убедитесь, что каждый кластер имеет доступ только к своим дисковым хранилищам и что вы правильно настроили зонирование узлов.
Подготовьте хранилище в соответствии с документацией поставщика.
- Для Storage Spaces Direct:
Убедитесь, что каждый кластер может видеть корпуса хранилища этого сайта, только развернув Storage Spaces Direct.
Убедитесь, что тома журнала SR всегда будут находиться на самом быстром флэш-хранилище, а тома данных — на более медленном хранилище высокой емкости.
Запустите Windows PowerShell и используйте командлет
Test-SRTopology
, чтобы определить, все ли требования для реплики хранилища выполнены. Командлет можно использовать в режиме, предназначенном только для проверки требований, а также в режиме длительного тестирования производительности. Например,MD c:\temp Test-SRTopology -SourceComputerName SR-SRV01 -SourceVolumeName f: -SourceLogVolumeName g: -DestinationComputerName SR-SRV03 -DestinationVolumeName f: -DestinationLogVolumeName g: -DurationInMinutes 30 -ResultPath c:\temp
Внимание
Если вы используете тестовый сервер, на котором во время проверки не выполняются операции ввода-вывода для выбранного тома источника, попробуйте добавить рабочую нагрузку, иначе отчет не будет содержать полезные сведения. Чтобы увидеть реальные цифры и рекомендованные размеры журналов, следует тестировать с нагрузками, подобными рабочим нагрузкам в производственной среде. Кроме того, скопируйте несколько файлов в исходный том во время тестирования или скачайте и запустите DISKSPD для создания операций записи. Например, образец с низкой нагрузкой на запись IO в течение пяти минут на том D:
Diskspd.exe -c1g -d300 -W5 -C5 -b8k -t2 -o2 -r -w5 -h d:\test.dat
Изучите отчет TestSrTopologyReport.html, чтобы убедиться в выполнении всех требований к реплике хранилища.
Шаг 2. Настройка двух отказоустойчивых кластеров файлового сервера горизонтального масштабирования
Теперь вы создадите два обычных отказоустойчивых кластера. После настройки, проверки и тестирования вы реплицируете их с помощью реплики хранилища. Вы можете выполнить все описанные ниже действия на узлах кластера непосредственно или с компьютера удаленного управления, содержащего средства администрирования удаленного сервера Windows Server.
Графический метод
Запустите cluadmin.msc на узле в каждом сайте.
Проверьте предложенный кластер и проанализируйте результаты, чтобы убедиться, что можно продолжить. В примере ниже рассматриваются SR-SRVCLUSA и SR-SRVCLUSB.
Создайте два кластера. Убедитесь, что имена кластеров содержат не более 15 символов.
Настройте свидетеля общих файлов или свидетеля в облаке.
Примечание.
Windows Server теперь включает в себя опцию для облачного свидетеля на базе Azure. Можно выбрать этот вариант кворума вместо свидетеля общего доступа к файлам.
Предупреждение
Дополнительные сведения о конфигурации свидетеля кворума см. в разделе "Развертывание свидетеля кворума". Дополнительные сведения о командлете
Set-ClusterQuorum
см. в разделе Set-ClusterQuorum.Добавьте один диск сайта Redmond в кластер CSV. Для этого щелкните правой кнопкой мыши исходный диск в узле Disks (Диски) раздела Storage (Хранилище) и нажмите кнопку Add to Cluster Shared Volumes (Добавить к общим томам кластера).
Создайте масштабируемые файловые серверы в обоих кластерах, следуя инструкциям в разделе Настройка масштабируемого файлового сервера
Метод для Windows PowerShell
Протестируйте предложенный кластер и проанализируйте результаты, чтобы убедиться, что можно продолжить.
Test-Cluster SR-SRV01,SR-SRV02 Test-Cluster SR-SRV03,SR-SRV04
Создайте кластеры (необходимо указать свои собственные статические IP-адреса для кластеров). Убедитесь, что имя каждого кластера содержит не более15 символов.
New-Cluster -Name SR-SRVCLUSA -Node SR-SRV01,SR-SRV02 -StaticAddress <your IP here> New-Cluster -Name SR-SRVCLUSB -Node SR-SRV03,SR-SRV04 -StaticAddress <your IP here>
Настройте свидетеля файлового ресурса или облачного свидетеля (Azure) в каждом кластере, который указывает на общий ресурс, размещённый на контроллере домена или другом независимом сервере. Рассмотрим пример.
Set-ClusterQuorum -FileShareWitness \\someserver\someshare
Примечание.
Windows Server теперь включает в себя опцию для облачного свидетеля на базе Azure. Можно выбрать этот вариант кворума вместо свидетеля общего доступа к файлам.
Создайте масштабируемые файловые серверы в обоих кластерах, следуя инструкциям в разделе Настройка масштабируемого файлового сервера
Шаг 3. Настройка кластерной репликации с помощью Windows PowerShell
Теперь вы настроите репликацию кластеров в кластер с помощью Windows PowerShell. Вы можете выполнить все описанные ниже действия на узлах непосредственно или с компьютера удаленного управления, содержащего средства удаленного администрирования сервера Windows Server.
Предоставьте первому кластеру полный доступ к другому кластеру, выполнив командлет Grant-SRAccess на любом узле в первом кластере или удаленно. Средства администрирования удаленного сервера Windows Server
Grant-SRAccess -ComputerName SR-SRV01 -Cluster SR-SRVCLUSB
Предоставьте второму кластеру полный доступ к другому кластеру, выполнив командлет Grant-SRAccess на любом узле второго кластера или удаленно.
Grant-SRAccess -ComputerName SR-SRV03 -Cluster SR-SRVCLUSA
Настройте межкластерную репликацию, указав исходный и целевой диски, исходный и целевой журналы, имена исходного и целевого кластеров, а также размер журнала. Эту команду можно выполнить локально на сервере или на компьютере удаленного управления.
New-SRPartnership -SourceComputerName SR-SRVCLUSA -SourceRGName rg01 -SourceVolumeName c:\ClusterStorage\Volume2 -SourceLogVolumeName f: -DestinationComputerName SR-SRVCLUSB -DestinationRGName rg02 -DestinationVolumeName c:\ClusterStorage\Volume2 -DestinationLogVolumeName f: -LogType Raw
Предупреждение
По умолчанию размер журнала составляет 8 ГБ. В зависимости от результатов выполнения командлета Test-SRTopology, вы можете решить использовать параметр -LogSizeInBytes с более высоким или низким значением.
Чтобы получить сведения о состоянии источника и назначения репликации, используйте командлеты Get-SRGroup и Get-SRPartnership, как показано ниже.
Get-SRGroup Get-SRPartnership (Get-SRGroup).replicas
Ход репликации можно отслеживать следующим образом.
На исходном сервере введите следующую команду и изучите события 5015, 5002, 5004, 1237, 5001 и 2200.
Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica -max 20
На конечном сервере выполните следующую команду, чтобы увидеть события Storage Replica, которые показывают создание партнерства. Это событие сообщает количество скопированных байтов и время выполнения. Пример:
Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | Where-Object {$_.ID -eq "1215"} | Format-List
Вот пример результата.
TimeCreated : 4/8/2016 4:12:37 PM ProviderName : Microsoft-Windows-StorageReplica Id : 1215 Message : Block copy completed for replica. ReplicationGroupName: rg02 ReplicationGroupId: {616F1E00-5A68-4447-830F-B0B0EFBD359C} ReplicaName: f:\ ReplicaId: {00000000-0000-0000-0000-000000000000} End LSN in bitmap: LogGeneration: {00000000-0000-0000-0000-000000000000} LogFileId: 0 CLSFLsn: 0xFFFFFFFF Number of Bytes Recovered: 68583161856 Elapsed Time (seconds): 117
Кроме того, группа конечных серверов для реплики постоянно сообщает количество оставшихся байтов для копирования, и эти сведения можно запрашивать через PowerShell. Рассмотрим пример.
(Get-SRGroup).Replicas | Select-Object numofbytesremaining
Пример выполнения (который не завершится):
while($true) { $v = (Get-SRGroup -Name "Replication 2").replicas | Select-Object numofbytesremaining [System.Console]::Write("Number of bytes remaining: {0}`n", $v.numofbytesremaining) Start-Sleep -s 5 }
На целевом сервере в целевом кластере выполните следующую команду и проверьте события 5009, 1237, 5001, 5015, 5005 и 2200 для отслеживания хода обработки события. В этой последовательности не должно быть предупреждений или ошибок. Будет много событий типа 1237, которые указывают на прогресс.
Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | FL
Примечание.
Во время репликации целевого диска кластера всегда отображается значение Online (No Access) (В сети (нет доступа)).
Шаг 4. Управление репликацией
Теперь вы будете управлять и эксплуатировать репликацию от кластера к кластеру. Вы можете выполнить все описанные ниже действия на узлах кластера непосредственно или с компьютера удаленного управления, содержащего средства администрирования удаленного сервера Windows Server.
Используйте командлет Get-ClusterGroup или диспетчер отказоустойчивости кластеров, чтобы определить источник и цель репликации и их текущее состояние. Средства администрирования удаленного сервера Windows Server
Для измерения производительности репликации выполните командлет Get-Counter на исходном и целевом узлах. Названия счетчиков:
\Статистика ввода-вывода раздела реплики хранилища(*)\Количество раз приостановки записи на диск
\Статистика ввода-вывода раздела реплики хранилища(*)\Количество ожидающих флеш I/O операций
\Статистика ввода-вывода раздела реплики хранилища(*)\Количество запросов для последней записи в журнал
\Статистика операций ввода-вывода раздела реплики хранилища(*)\Средняя длина очереди сброса
\Статистика ввода-вывода раздела реплики хранилища(*)\Текущая длина очереди операций записи на диск
\Статистика ввода-вывода раздела реплики хранилища(*)\Количество запросов записи приложений
\Статистика операций ввода-вывода реплики хранилища(*)\Среднее количество запросов на одну запись в журнал
\Статистика операций ввода-вывода раздела реплики хранилища(*)\Средняя задержка записи приложения
\Статистика операций ввода-вывода секции реплики хранилища(*)\Средн. задержка чтения приложения
\Статистика реплики хранилища(*)\Целевая RPO
\Статистика реплики хранилища(*)\Текущий RPO
\Статистика реплики хранилища(*)\Средн. длина очереди журнала
\Статистика репликации хранилища(*)\Текущая длина очереди логов
\Статистика реплики хранилища(*)\Всего байт получено
\Статистика реплики хранилища(*)\Всего байт отправлено
\Статистика реплики хранилища(*)\Средняя задержка отправки данных по сети
\Статистика реплики хранилища(*)\Состояние репликации
\Статистика реплики хранилища(*)\Средняя задержка обратной доставки сообщения
\Статистика реплики хранилища(*)\Время, затраченное на последнее восстановление
\Статистика реплики хранилища(*)\Количество транзакций восстановления, записанных на диск
\Статистика реплики хранилища(*)\Количество транзакций восстановления
\Статистика репликации хранилища(*)\Количество репликационных транзакций, сброшенных на диск
\Статистика реплики хранилища(*)\Число транзакций репликации
\Статистика реплики хранилища(*)\Максимальный номер лог-файла
\Статистика репликации хранилища(*)\Количество полученных сообщений
\Статистика реплики хранилища(*)\Количество отправленных сообщений
Дополнительные сведения о счетчиках производительности в Windows PowerShell см. в командлете Get-Counter.
Чтобы изменить направление репликации с одного сайта, используйте командлет Set-SRPartnership.
Set-SRPartnership -NewSourceComputerName SR-SRVCLUSB -SourceRGName rg02 -DestinationComputerName SR-SRVCLUSA -DestinationRGName rg01
Примечание.
Windows Server предотвращает переключение ролей при начальной синхронизации, так как может привести к потере данных, если вы пытаетесь переключиться, прежде чем разрешить начальную репликацию завершить. Не изменяйте направления до завершения начальной синхронизации.
Проверьте журналы событий и убедитесь, что направление репликации изменено и режим восстановления установлен, а затем выполните согласование. Теперь операции записи смогут использовать хранилище, принадлежащее новому исходному серверу. Изменение направления репликации блокирует запись IOS на предыдущем исходном компьютере.
Примечание.
Во время репликации целевого диска кластера всегда отображается значение Online (No Access) (В сети (нет доступа)).
Чтобы изменить размер журнала из 8 ГБ по умолчанию, используйте Set-SRGroup как в группах исходной, так и целевой реплики хранилища.
Внимание
По умолчанию размер журнала составляет 8 ГБ. В зависимости от результатов работы командлета Test-SRTopology, вы можете принять решение использовать параметр -LogSizeInBytes с большим или меньшим значением.
Чтобы удалить репликацию, используйте командлеты Get-SRGroup, Get-SRPartnership, Remove-SRGroup и Remove-SRPartnership в каждом кластере.
Get-SRPartnership | Remove-SRPartnership Get-SRGroup | Remove-SRGroup
Примечание.
Реплика хранилища демонтирует конечные тома. Это сделано намеренно.