Принцип работы и отслеживание повторной синхронизации хранилища

Область применения: Windows Server 2022, Windows Server 2019

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

в этом разделе приводятся общие сведения и действия для понимания и просмотра повторной синхронизации хранилища в отказоустойчивом кластере Windows Server с дисковые пространства Direct.

Основные сведения о повторной синхронизации

Начнем с простого примера, чтобы понять, как хранилище становится несинхронизированным. Следует помнить, что такое поведение характерно для всех общих дисков (только на локальных дисках). Как можно увидеть ниже, если один Серверный узел выйдет из строя, то его диски не будут обновлены до тех пор, пока не вернется в режим «в сети». это справедливо для любой архитектуры с согласованием Hyper-in.

Предположим, что мы хотим сохранить строку "HELLO".

ASCII of string

Асссуминг, что у нас есть три способа обеспечения отказоустойчивости зеркала, у нас есть три копии этой строки. Теперь, если мы временно перестали использовать сервер #1 (для маинтаненце), мы не можем получить доступ к #1 копирования.

Can't access copy #1

Предположим, что мы обновляем нашу строку с "HELLO" на "HELP!" в настоящее время.

ASCII of string

После обновления строки Copy #2 и #3 будут успешно обновлены. Однако копирование #1 по-прежнему недоступно, так как сервер #1 временно отключен (для маинтаненце).

Gif of writing to copy #2 and #2

Теперь у нас есть копия #1 с данными, которые не синхронизированы. Операционная система использует детализированное отслеживание "грязного" региона для отслеживания несинхронизированных битов. Таким образом, когда сервер #1 возвращается в режим «в сети», можно синхронизировать изменения, считывая данные из #2 копирования или #3 и перезаписав данные в #1 копирования. Преимуществом этого подхода является то, что нам нужно только скопировать устаревшие данные вместо повторной синхронизации всех данных с сервера #2 или сервера #3.

Gif of overwriting to copy #1

Таким образом, объясняется, как данные выходят из синхронизации. Но как это выглядит на высоком уровне? Предположим, что в этом примере имеется три сервера кластера Hyper-in. Когда сервер #1 находится в состоянии обслуживания, вы увидите, что он не работает. При переводе сервера #1 резервной копии запускается повторная синхронизация всех его хранилищ с помощью детального отслеживания "грязного" региона (см. описание выше). После синхронизации данных все серверы будут отображаться как включенные.

Gif of admin view of resync

мониторинг повторной синхронизации хранилища в Windows Server 2019

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

Чтобы просмотреть эту ошибку в PowerShell, выполните следующую команду:

Get-HealthFault

это новая ошибка в Windows Server 2019. она появится в PowerShell, в отчете о проверке кластера и в любом другом месте, где происходит сбой.

Чтобы получить более глубокое представление, можно запросить базу данных временных рядов в PowerShell следующим образом:

Get-ClusterNode | Get-ClusterPerf -ClusterNodeSeriesName ClusterNode.Storage.Degraded

Вот пример выходных данных:

Object Description: ClusterNode Server1

Series                       Time                Value Unit
------                       ----                ----- ----
ClusterNode.Storage.Degraded 01/11/2019 16:26:48     214 GB

особенно, Windows центр администрирования использует сбои работоспособности для задания состояния и цвета узлов кластера. Таким образом, эта новая ошибка приведет к тому, что узлы кластера будут переходить с красного (вниз) на желтый (повторная синхронизация) в зеленый (вверх), а не с красного на зеленый на панели мониторинга ХЦИ.

Image of 2016 vs 2019 view of resync

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

Image of alert in Windows Admin Center

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

если перейти на страницу " серверы " в Windows центре администрирования, щелкнуть " инвентаризация", а затем выбрать конкретный сервер, можно получить более подробное представление о том, как эта повторная синхронизация хранилища будет просматриваться отдельно для каждого сервера. если вы перейдете к серверу и взгляните на диаграмму служба хранилища , вы увидите объем данных, которые необходимо исправить, в фиолетовой строке с точным числом, расположенным выше. Это значение увеличится при отключении сервера (больше данных необходимо повторно синхронизировать) и постепенно снизится после возвращения сервера в режим «в сети» (синхронизация данных). Когда объем данных, требующих восстановления, равен 0, выполняется повторная синхронизация хранилища. Теперь вы можете отключить сервер при необходимости. ниже приведен снимок экрана с этим интерфейсом в Windows центре администрирования:

Image of server view in Windows Admin Center

Как просмотреть повторную синхронизацию хранилища в Windows Server 2016

Как видите, это предупреждение особенно полезно для получения целостного представления о том, что происходит на уровне хранилища. он эффективно суммирует сведения, которые можно получить с помощью командлета Get-StorageJob, который возвращает сведения о длительных заданиях модуля служба хранилища, таких как операция восстановления в дисковом пространстве. Пример приведен ниже.

Get-StorageJob

Ниже приведен пример выходных данных:

Name                  ElapsedTime           JobState              PercentComplete       IsBackgroundTask
----                  -----------           --------              ---------------       ----------------
Regeneration          00:01:19              Running               50                    True

Это представление гораздо более детализировано, так как задания хранилища в списке относятся к тому, вы видите список выполняемых заданий и можете отслеживать их отдельный ход выполнения. этот командлет работает как в Windows Server 2016, так и в 2019.

Дополнительные ссылки