了解并监视存储重新同步

适用于:Azure Stack HCI 版本 22H2 和 21H2;Windows Server 2022、Windows Server 2019

存储重新同步警报是 Azure Stack HCI 和 Windows Server 中存储空间直通的一项功能。 它允许运行状况服务引发错误,从而发出重新同步通知。 这有助于防止意外关闭更多服务器,服务器关闭可能会影响多个容错域,导致群集关闭。

本文概述了存储重新同步,以及如何使用存储空间直通在故障转移群集中监视存储重新同步。

关于存储重新同步

让我们首先从一个简单示例了解存储如何变得不同步。请记住,任何非共享(仅本地驱动器)分布式存储解决方案都会表现出此行为。 以下部分演示当一个服务器节点关闭时,存储如何变得不同步。 存储的驱动器在重新联机之前不会更新 - 此行为适用于任何超融合体系结构。

假设要存储字符串“HELLO”。

hello 字符串的 ascii 的图像。

假设具有三向镜像复原能力,则此字符串有三个副本。 如果暂时关闭服务器 #1(用于维护),则无法访问副本 #1。

此图显示如果关闭服务器 1,则无法访问副本 1。

假设此时将字符串从“HELLO”更新为“HELP!”。

help! 字符串的 ascii 的图像。

更新字符串后,副本 #2 和 #3 将成功更新。 但是,无法访问副本 #1,因为服务器 #1 暂时关闭(用于维护)。

GIF 显示如何写入到副本 2 和 3。

现在,副本 #1 的数据已经不同步了。 操作系统会使用精细的更新范围跟踪功能来跟踪不同步的位。这样,当服务器 #1 重新联机时,你可以通过从副本 #2 或 #3 读取数据并覆盖副本 #1 中的数据来同步更改。 若使用这种方法,你只需覆盖过时的数据,而不是重新同步服务器 #2 或服务器 #3 的所有数据。

GIF 显示如何覆盖副本 1。

上一部分介绍了数据是如何变得不同步的。但简要来说,该过程是怎样的? 假设你有一个三服务器超聚合群集。 当服务器 #1 进行维护时,你可以将其视为关闭。 在恢复服务器 #1 时,它开始使用精细的更新范围跟踪功能开始重新同步所有存储(上一部分已介绍)。 数据全部恢复同步后,所有服务器都显示为已启动。

以下 GIF 展示存储重新同步在超聚合群集中的工作原理:

GIF 显示重新同步的管理员视图。

如何监视存储重新同步

从 Windows Server 2019 开始,我们向运行状况服务添加了在存储重新同步时出现的新错误。

若要在 PowerShell 中查看此错误,请运行以下 cmdlet:

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 与 Window 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 cmdlet 获取的信息。 此 cmdlet 返回有关长时间运行的存储模块作业的信息,例如存储空间上的修复操作,如以下示例输出所示。

Get-StorageJob

下面是示例输出:

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

此视图更精细,因为存储作业按卷列出。 可以看到正在运行的作业列表,并可以跟踪单个作业进度。 此 cmdlet 适用于 Windows Server 2016 和 2019。

其他参考