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

Область применения: Azure Stack HCI версий 22H2 и 21H2; Windows Server 2022, Windows Server 2019

Оповещение о повторной синхронизации хранилища — это возможность Локальные дисковые пространства в Azure Stack HCI и Windows Server. Это позволяет службе работоспособности вызывать ошибку, уведомляя вас о повторной синхронизации. Это помогает предотвратить случайное выключение нескольких серверов, что может повлиять на несколько доменов сбоя, что приведет к отключению кластера.

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

Сведения о повторной синхронизации хранилища

Начнем с простого примера, чтобы понять, как хранилище может выйти из синхронизации. Имейте в виду, что любое распределенное решение для распределенного хранения с общим доступом (только для локальных дисков) демонстрирует такое поведение. В следующем разделе показано, как хранилище выходит из строя при отключении одного узла сервера. Его диски не обновляются до тех пор, пока они не вернулись в режим "в сети" — это поведение применимо к любой гиперконвергентной архитектуре.

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

Изображение s c i i строки приветствия.

При условии, что у вас есть трехсторонняя устойчивость зеркало, у вас есть три копии этой строки. Если вы временно отключите сервер 1 (для обслуживания), вы не сможете получить доступ к копии 1.

Изображение, показывающее, что вы не можете получить доступ к копии с номером 1, если вы удаляете сервер с номером 1.

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

Изображение s c i i справки! Строка.

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

GIF записи для копирования цифр 2 и 3.

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

GIF-файл перезаписи для копирования цифры 1.

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

В следующем GIF-файле показано, как выполняется повторная синхронизация хранилища в гиперконвергентном кластере:

GIF-файл административного представления повторной синхронизации.

Мониторинг повторной синхронизации хранилища

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

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

Get-HealthFault

Эта новая ошибка отображается в 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 Admin Center использует ошибки работоспособности для задания состояния и цвета узлов кластера. На панели мониторинга HCI эта новая ошибка позволяет узлам кластера перейти с красного (вниз) на желтый (повторная синхронизация) на зеленый (вверх), а не переходить прямо с красного на зеленый.

На следующем рисунке сравнивается процесс повторной синхронизации хранилища в Windows Server 2016 и Windows Server 2019.

Изображение повторной синхронизации Windows Server 2016 и Windows Server 2019.

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

Снимок экрана: оповещение в Windows Admin Center.

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

Чтобы получить подробное представление о том, как выполняется повторная синхронизация хранилища для каждого сервера в Windows Admin Center, перейдите на страницу Серверы, щелкните Инвентаризация, а затем выберите конкретный сервер. Перейдите к серверу и посмотрите на диаграмму Хранилище , чтобы увидеть объем данных, которые необходимо восстановить, в фиолетовой строке с точным числом прямо над ним. Этот объем увеличивается при отключении сервера (требуется повторная синхронизация данных) и постепенно уменьшается, когда сервер возвращается в режим "в сети" (данные синхронизируются). Если объем данных, которые необходимо восстановить, равен 0, выполняется повторная синхронизация хранилища. Теперь вы можете отключить сервер при необходимости.

На следующем снимке экрана отображается представление сервера в Windows Admin Center:

Снимок экрана: представление сервера в Windows Admin Center.

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

Оповещение, доступное в Windows Server 2019 и более поздних версиях, помогает получить целостное представление о том, что происходит на уровне хранилища. В нем перечислены сведения, которые можно получить из командлета Get-StorageJob . Этот командлет возвращает сведения о длительных заданиях модуля хранения, таких как операция восстановления в дисковом пространстве, как показано в следующем примере выходных данных.

Get-StorageJob

Ниже представлен пример результата.

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

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

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