在 Azure Stack HCI 和 Windows Server 群集中创建卷

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

本文介绍如何使用 Windows Admin Center 和 Windows PowerShell 在群集中创建卷、如何处理卷中的文件,以及如何在卷中启用重复数据删除和压缩、完整性校验和或 BitLocker 加密。 若要了解如何为延伸群集创建卷并设置复制,请参阅创建延伸卷

提示

如果尚未查看规划卷,请先查看它。

在单节点群集上创建卷时,必须使用 PowerShell。 请参阅使用 PowerShell 创建卷

创建双向或三向镜像卷

若要使用 Windows Admin Center 创建双向或三向镜像卷,请执行以下操作:

  1. 在 Windows Admin Center 中连接到某个群集,然后从“工具”窗格中选择“卷”。

  2. 在“卷”页上选择“清单”选项卡,然后选择“创建”。

  3. 在“创建卷”窗格中输入卷的名称。

  4. 在“复原能力”中,选择“双向镜像”或“三向镜像”,具体取决于群集中的服务器数。

  5. 在“HDD 上的大小”中指定卷的大小。 例如 5 TB。

  6. 在“更多选项”下,你可以使用复选框来启用重复数据删除和压缩、完整性校验和或 BitLocker 加密。

  7. 选择创建

    可以使用 Windows Admin Center 创建双向或三向镜像卷。

创建卷可能需要几分钟时间,具体取决于大小。 卷创建好之后,右上方会显示通知。 然后,新卷会显示在“清单”列表中。

创建镜像加速奇偶校验卷

镜像加速奇偶校验 (MAP) 可减少卷在 HDD 上的占用空间。 例如,三向镜像卷意味着每 10 TB 的卷大小需要 30 TB 的占用空间。 为了减少占用空间开销,请创建使用镜像加速奇偶校验的卷。 这样,即使只有 4 台服务器,也可以镜像最活跃的 20% 数据,然后使用空间效率更高的奇偶校验来存储剩余数据,从而将占用空间从 30 TB 减到 22 TB。 可以调整奇偶校验和镜像之比,在性能与容量方面做出最适合工作负荷的取舍。 例如,使用 90% 的奇偶校验和 10% 的镜像所带来的性能效果不太理想,但可以进一步优化占用空间。

注意

镜像加速奇偶校验卷需要使用可复原文件系统 (ReFS)。

若要在 Windows Admin Center 创建使用镜像加速奇偶校验的卷:

  1. 在 Windows Admin Center 中连接到某个群集,然后从“工具”窗格中选择“卷”。
  2. 在“卷”页上选择“清单”选项卡,然后选择“创建”。
  3. 在“创建卷”窗格中输入卷的名称。
  4. 在“复原”中选择“镜像加速奇偶校验”。
  5. 在“奇偶校验百分比”中选择奇偶校验的百分比。
  6. 在“更多选项”下,你可以使用复选框来启用重复数据删除和压缩、完整性校验和或 BitLocker 加密。
  7. 选择“创建”。

打开卷并添加文件

若要在 Windows Admin Center 中打开卷并将文件添加到卷:

  1. 在 Windows Admin Center 中连接到某个群集,然后从“工具”窗格中选择“卷”。

  2. 在“卷”页上选择“库存”选项卡。

  3. 在卷列表中,选择要打开的卷的名称。

    在卷详细信息页上,可以看到卷的路径。

  4. 在页面顶部选择“打开”。 随即会在 Windows Admin Center 中启动“文件”工具。

  5. 导航到卷的路径。 可在此处浏览卷中的文件。

  6. 选择“上传”,然后选择要上传的文件。

  7. 使用浏览器中的“后退”按钮返回到 Windows Admin Center 中的“工具”窗格。

启用重复数据删除和压缩

重复数据删除和压缩是根据每个卷进行管理的。 重复数据删除和压缩使用后处理模型,这意味着,在该功能运行之前,你看不到节省的空间。 该功能在运行时会处理所有文件,甚至包括以前就已存在的文件。

若要了解详细信息,请参阅启用卷加密、重复数据删除和压缩

使用 Windows PowerShell 创建卷

首先,从 Windows 的“开始”菜单启动 Windows PowerShell。 建议使用 New-Volume cmdlet 来为 Azure Stack HCI 创建卷。 它可以提供最快且最直接的体验。 此单个 cmdlet 会自动创建虚拟磁盘,对其进行分区和格式化,使用匹配的名称创建卷,并将其添加到群集共享卷 - 这些全都在一个简单的步骤中完成。

New-Volume cmdlet 具有你将始终需要提供的四个参数:

  • FriendlyName:所需的任何字符串,例如“Volume1”

  • FileSystem:CSVFS_ReFS(推荐用于所有卷;必须用于镜像加速奇偶校验卷)或 CSVFS_NTFS

  • StoragePoolFriendlyName:你的存储池名称,例如“S2D on ClusterName”

  • Size:卷的大小,例如“10 TB”

    注意

    Windows 以及 PowerShell 使用二进制(基数为 2)数字进行计数,而系统经常使用十进制(基数为 10)数字来标记驱动器。 这可以说明定义为 1,000,000,000,000 字节的“1 TB”驱动器在 Windows 中显示为大约“909 GB”的原因。 这是正常情况。 使用 New-Volume 创建卷时,你应使用二进制(基数为 2)数字指定 Size 参数。 例如,指定“909 GB”或“0.909495TB”将创建大约 1,000,000,000,000 字节的卷。

示例:使用 1 到 3 个服务器

为简便起见,如果部署只包含一个或两个服务器,则存储空间直通自动使用双向镜像来实现复原功能。 如果你的部署仅涉及三个服务器,则它将自动使用三向镜像。

New-Volume -FriendlyName "Volume1" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size 1TB

示例:具有 4 个以上的服务器

如果你具有四个或更多个服务器,则可以使用可选的 ResiliencySettingName 参数来选择复原类型。

  • ResiliencySettingName镜像奇偶校验

在以下示例中,“Volume2”使用三向镜像,“Volume3”使用双奇偶校验(通常称为“擦除编码”)。

New-Volume -FriendlyName "Volume2" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size 1TB -ResiliencySettingName Mirror
New-Volume -FriendlyName "Volume3" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size 1TB -ResiliencySettingName Parity

使用存储层

在涉及三种驱动器类型的部署中,一个卷可以跨越 SSD 和 HDD 层以在每类驱动器上驻留一部分。 同样,在涉及四个或更多个服务器的部署中,一个卷可以混合镜像和双奇偶校验以在每个服务器上驻留一部分。

为了帮助你创建这样的卷,Azure Stack HCI 提供了名为 MirrorOnMediaType 和 NestedMirrorOnMediaType(用于性能)以及名为 ParityOnMediaType 和 NestedParityOnMediaType(用于容量)的默认层级模板,其中 MediaType 是 HDD 或 SSD。 这些模板表示基于介质类型的存储层,在较快的容量驱动器(如果适用)上封装三向镜像的定义,在较慢的容量驱动器(如果适用)上封装双重奇偶校验的定义。

注意

单一服务器配置不支持存储总线层 (SBL) 缓存。 全平面单一存储类型配置(例如全 NVMe 或全 SSD)是单一服务器唯一支持的存储类型。

注意

对于在较早版本的 Windows Server 2016 上运行的存储空间直通群集,默认层模板简单地称为“性能”和“容量” 。

可以通过在群集中的任何服务器上运行 Get-StorageTier cmdlet 来查看存储层。

Get-StorageTier | Select FriendlyName, ResiliencySettingName, PhysicalDiskRedundancy

例如,如果你有一个只有 HDD 的双节点群集,则输出可能如下所示:

FriendlyName      ResiliencySettingName PhysicalDiskRedundancy
------------      --------------------- ----------------------
NestedParityOnHDD Parity                                     1
Capacity          Mirror                                     1
NestedMirrorOnHDD Mirror                                     3
MirrorOnHDD       Mirror                                     1

若要创建分层卷,请使用 New-Volume cmdlet 的 StorageTierFriendlyNamesStorageTierSizes 参数引用这些层模板。 例如,以下 cmdlet 会创建一个按 30:70 的比例混合三向镜像和双奇偶校验的卷。

New-Volume -FriendlyName "Volume1" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -StorageTierFriendlyNames MirrorOnHDD, Capacity -StorageTierSizes 300GB, 700GB

根据需要重复操作以创建多个卷。

存储层摘要表

下面的各表汇总了在/可在 Azure Stack HCI 和 Windows Server 中创建的存储层。

NumberOfNodes: 1

FriendlyName MediaType ResiliencySettingName NumberOfDataCopies PhysicalDiskRedundancy NumberOfGroups FaultDomainAwareness ColumnIsolation 备注
MirrorOnHDD HDD 镜像 2 1 1 物理磁盘 物理磁盘 自动创建的
MirrorOnSSD SSD 镜像 2 1 1 物理磁盘 物理磁盘 自动创建的
MirrorOnSCM SCM 镜像 2 1 1 物理磁盘 物理磁盘 自动创建的
ParityOnHDD HDD Parity 1 1 1 物理磁盘 物理磁盘 自动创建的
ParityOnSSD SSD Parity 1 1 1 物理磁盘 物理磁盘 自动创建的
ParityOnSCM SCM Parity 1 1 1 物理磁盘 物理磁盘 自动创建的

NumberOfNodes:2

FriendlyName MediaType ResiliencySettingName NumberOfDataCopies PhysicalDiskRedundancy NumberOfGroups FaultDomainAwareness ColumnIsolation 备注
MirrorOnHDD HDD 镜像 2 1 1 StorageScaleUnit 物理磁盘 自动创建的
MirrorOnSSD SSD 镜像 2 1 1 StorageScaleUnit 物理磁盘 自动创建的
MirrorOnSCM SCM 镜像 2 1 1 StorageScaleUnit 物理磁盘 自动创建的
NestedMirrorOnHDD HDD 镜像 4 3 1 StorageScaleUnit 物理磁盘 manual
NestedMirrorOnSSD SSD 镜像 4 3 1 StorageScaleUnit 物理磁盘 manual
NestedMirrorOnSCM SCM 镜像 4 3 1 StorageScaleUnit 物理磁盘 manual
NestedParityOnHDD HDD Parity 2 1 1 StorageScaleUnit 物理磁盘 manual
NestedParityOnSSD SSD Parity 2 1 1 StorageScaleUnit 物理磁盘 manual
NestedParityOnSCM SCM Parity 2 1 1 StorageScaleUnit 物理磁盘 manual

NumberOfNodes:3

FriendlyName MediaType ResiliencySettingName NumberOfDataCopies PhysicalDiskRedundancy NumberOfGroups FaultDomainAwareness ColumnIsolation 备注
MirrorOnHDD HDD 镜像 3 2 1 StorageScaleUnit 物理磁盘 自动创建的
MirrorOnSSD SSD 镜像 3 2 1 StorageScaleUnit 物理磁盘 自动创建的
MirrorOnSCM SCM 镜像 3 2 1 StorageScaleUnit 物理磁盘 自动创建的

NumberOfNodes:4+

FriendlyName MediaType ResiliencySettingName NumberOfDataCopies PhysicalDiskRedundancy NumberOfGroups FaultDomainAwareness ColumnIsolation 备注
MirrorOnHDD HDD 镜像 3 2 1 StorageScaleUnit 物理磁盘 自动创建的
MirrorOnSSD SSD 镜像 3 2 1 StorageScaleUnit 物理磁盘 自动创建的
MirrorOnSCM SCM 镜像 3 2 1 StorageScaleUnit 物理磁盘 自动创建的
ParityOnHDD HDD Parity 1 2 Auto StorageScaleUnit StorageScaleUnit 自动创建的
ParityOnSSD SSD Parity 1 2 Auto StorageScaleUnit StorageScaleUnit 自动创建的
ParityOnSCM SCM Parity 1 2 Auto StorageScaleUnit StorageScaleUnit 自动创建的

嵌套复原卷

嵌套复原仅适用于运行 Azure Stack HCI 或 Windows Server 2022 或 Windows Server 2019 的双服务器群集;如果群集有三个或更多服务器,或者群集运行的是 Windows Server 2016,则不能使用嵌套复原。 嵌套复原允许双服务器群集同时承受多个硬件故障,而不会失去存储可用性,从而使用户、应用和虚拟机能够无中断地继续运行。 有关详细信息,请参阅存储空间直通的嵌套复原规划卷:选择复原类型

可以在 PowerShell 中使用熟悉的存储 cmdlet 创建具有嵌套复原能力的卷,如以下部分所述。

步骤 1:创建存储层模板(仅限 Windows Server 2019)

Windows Server 2019 要求在创建卷之前使用 New-StorageTier cmdlet 创建新的存储层模板。 只需执行一次此操作,然后创建的每个新卷都可以引用这些模板。

注意

如果正在 Windows Server 2022、Azure Stack HCI 21H2 或 Azure Stack HCI 20H2 上运行,则可以跳过此步骤。

指定容量驱动器的 -MediaType,并可选择性地指定 -FriendlyName。 请勿修改其他参数。

例如,如果容量驱动器是硬盘驱动器 (HDD),则请以管理员的身份启动 PowerShell 并运行以下 cmdlet。

若要创建 NestedMirror 层,请使用以下命令:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4

若要创建 NestedParity 层,请使用以下命令:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedParityOnHDD -ResiliencySettingName Parity -MediaType HDD -NumberOfDataCopies 2 -PhysicalDiskRedundancy 1 -NumberOfGroups 1 -FaultDomainAwareness StorageScaleUnit -ColumnIsolation PhysicalDisk

如果容量驱动器是固态硬盘 (SSD),则请将 -MediaType 设置为 SSD,并将 -FriendlyName 更改为 *OnSSD。 请勿修改其他参数。

提示

验证 Get-StorageTier 是否成功创建了层。

步骤 2:创建嵌套卷

使用 New-Volume cmdlet 创建新卷。

  • 嵌套双向镜像

    若要使用嵌套双向镜像,请参考 NestedMirror 层模板并指定大小。 例如:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
    

    如果容量驱动器是固态硬盘 (SSD),则请将 -StorageTierFriendlyNames 更改为 *OnSSD

  • 嵌套镜像加速奇偶校验

    若要使用嵌套镜像加速奇偶校验,请同时引用 NestedMirrorNestedParity 层模板并指定两个大小,分别用于卷的每个部分(镜像第一个,奇偶校验第二个)。 例如,若要创建一个 20% 嵌套双向镜像和 80% 嵌套奇偶校验的 500 GB 卷,请运行:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
    

    如果容量驱动器是固态硬盘 (SSD),则请将 -StorageTierFriendlyNames 更改为 *OnSSD

步骤 3:在 Windows Admin Center 中继续操作

使用嵌套复原的卷以清晰的标签显示在 Windows Admin Center 中,如以下屏幕截图所示。 创建这些卷后,可以使用 Windows Admin Center 管理和监视它们,就像存储空间直通中的任何其他卷一样。

Windows Admin Center 中的卷管理

可选:扩展到缓存驱动器

借助其默认设置,嵌套复原可防止同时丢失多个容量驱动器,或防止同时丢失一个服务器和一个容量驱动器。 要将这种保护扩展到缓存驱动器,有一个额外的注意事项:因为缓存驱动器通常为多个容量驱动器提供读写缓存,因此,确保可以容忍在其他服务器关闭时丢失缓存驱动器的唯一方法是不缓存写入,但这会影响性能。

为解决这种情况,存储空间直通提供了选项,可在双服务器群集中的一个服务器关闭时自动禁用写入缓存,然后在服务器备份后重新启用写入缓存。 为了在不影响性能的情况下允许例行重启,在服务器关闭后 30 分钟内不会禁用写入缓存。 禁用写入缓存后,写入缓存的内容将写入容量设备。 在此之后,服务器可以容忍联机服务器中出现故障的缓存设备,但如果缓存设备出现故障,从缓存中读取可能会延迟或失败。

注意

对于全缓存(单一介质类型)物理系统,无需考虑在双服务器群集中的一个服务器关闭时自动禁用写入缓存。 仅在使用存储总线层 (SBL) 缓存时才需要考虑这一点,这种缓存仅在使用 HDD 时才需要。

(可选)要在双服务器群集中的一个服务器关闭时自动禁用写入缓存,请以管理员身份启动 PowerShell 并运行:

Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"

设置为“True”时,缓存行为是:

场景 缓存行为 是否可以容忍缓存驱动器丢失?
两个服务器都启动 缓存读取和写入,全性能
服务器关闭,前 30 分钟内 缓存读取和写入,全性能 否(暂时)
前 30 分钟后 缓存只读,性能受影响 是(在将缓存写入容量驱动器之后)

后续步骤

有关相关主题和其他存储管理任务,另请参阅: