直接向存储空间添加服务器或驱动器
11/06/2017
本文内容
适用于:Windows Server 2019、Windows Server 2016
本主题介绍了如何直接向存储空间添加服务器或驱动器。
添加服务器
添加服务器(通常称为横向扩展)可以增加存储容量,提高存储性能,提高存储效率。 如果您的部署是超聚合的,添加服务器也可以为您的工作负载提供更多的计算资源。
通过添加服务器,很容易实现横向扩展。 只有两步:
使用故障转移集管理单位或 PowerShell 中使用 Test-Cluster cmdlet,运行 集群验证导向(作为管理员运行)。 包括要添加的新服务器 。
Test-Cluster -Node , , , -Include "Storage Spaces Direct", Inventory, Network, "System Configuration"
确认正在运行 Windows Server 2016 Datacenter Edition 的新服务器与现有服务器一样已加入 Active Directory 域服务域,具有所的所有角色和功能,网络配置正确。
重要
如果您重复使用包含旧数据或元数据的驱动器,则使用它 磁盘管理 或 Reset-PhysicalDisk cmdlet 清除它们。 如果检测到旧数据或元数据,则不要将这些驱动器放入池中。
以下操作在集群上 cmdlet 以完成服务器添加:
Add-ClusterNode -Name NewNode
备注
自动池取决于你只有一个池。 如果您避免了创建多个池的标准配置,则需要使用它 PhysicalDisk 在首选池中添加新的驱动器。
从 2 服务器横向扩展 3 解锁三向镜像
双向镜像卷只能通过两个服务器创建(与分布式相比) RAID-1)。 三向镜像卷可以通过三个服务器创建,以提供更好的容错性。 建议尽量使用三向镜像。
双向镜像卷不能升级到三向镜像。 相反,您可以创建一个新的卷并迁移数据(复制) 将副本存储到卷中,然后删除旧卷。
创建三向镜像卷有几个不错的选择。 您可以意愿使用这些选项。
选项 1
创建时,指定每个新卷 PhysicalDiskRedundancy = 2。
New-Volume -FriendlyName -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size -PhysicalDiskRedundancy 2
方法 2
你可以在这个池子里叫它 Mirror 的 ResiliencySetting 对象上设置 PhysicalDiskRedundancyDefault = 2。 然后自动使用任何新的镜像卷 三向 即使你没有指定镜像。
Get-StoragePool S2D* | Get-ResiliencySetting -Name Mirror | Set-ResiliencySetting -PhysicalDiskRedundancyDefault 2
New-Volume -FriendlyName -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size
选项 3
在名为 Capacity 的 StorageTier 模板上设置 PhysicalDiskRedundancy = 然后通过引用层创建卷。
Set-StorageTier -FriendlyName Capacity -PhysicalDiskRedundancy 2
New-Volume -FriendlyName -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -StorageTierFriendlyNames Capacity -StorageTierSizes
从 3 服务器横向扩展 4 解锁双奇偶校验服务器
双奇偶校验可用于四个服务器,通常称为删除代码(与分布式相比) RAID-6)。 这提供了与三向镜像相同的默认容错,但存储效率更好。 详情请参考 容错和存储效率。
若您来自较小的部署,则有几个很好的选卷有几个很好的选择。 你可以根据意愿使用这些选项。
选项 1
创建时,指定每个新卷 PhysicalDiskRedundancy = 2 和 ResiliencySettingName = Parity。
New-Volume -FriendlyName -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size -PhysicalDiskRedundancy 2 -ResiliencySettingName Parity
方法 2
对名为 Parity 的池的 ResiliencySetting 对象设置 PhysicalDiskRedundancy = 2。 然后自动使用任何新奇偶校验卷 双 奇偶校验,即使你未指定。
Get-StoragePool S2D* | Get-ResiliencySetting -Name Parity | Set-ResiliencySetting -PhysicalDiskRedundancyDefault 2
New-Volume -FriendlyName -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size -ResiliencySettingName Parity
通过四个服务器,您还可以使用镜像加速奇偶校验开始,其中单卷为部分镜像和部分奇偶校验。
为此,你需要更新你的 StorageTier 同时拥有模板 Performance 和 Capacity 因为如果你先在四个服务器上运行, Enable-ClusterS2D,会创建层。 具体来说,容量设备应设置在这两层(例如 SSD 或 HDD)的 MediaType,且 PhysicalDiskRedundancy = 2。 Performance 层应为 ResiliencySettingName = Mirror,Capacity 层应为 ResiliencySettingName = Parity。
选项 3
您可能会发现,删除现有层模板并创建两个新模板是最简单的方法。 这不会影响任何通过引用层模板创建的预存卷:它只是一个模板。
Remove-StorageTier -FriendlyName Capacity
New-StorageTier -StoragePoolFriendlyName S2D* -MediaType HDD -PhysicalDiskRedundancy 2 -ResiliencySettingName Mirror -FriendlyName Performance
New-StorageTier -StoragePoolFriendlyName S2D* -MediaType HDD -PhysicalDiskRedundancy 2 -ResiliencySettingName Parity -FriendlyName Capacity
就这么简单! 现在可以引用这些层模板来创建镜像加速的奇偶校验。
示例
New-Volume -FriendlyName "Sir-Mix-A-Lot" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -StorageTierFriendlyNames Performance, Capacity -StorageTierSizes
超过 4 服务器:奇偶校验效率更高
如果扩展了四个以上的服务器,新卷可以受益于奇偶校验编码效率的提高。 例如,六个和七个服务器之间的效率是可以的 50.0% 提高到 66.7%,因为它可以使用 Reed Solomon 4 2(而不是 2 2)。 无需任何操作即可开始享受新的效率;最佳编码将在每次创建卷时自动确定。
但是,任何预先存在的卷将 不 被转换为新的更广的编码。 一个主要原因是这样做需要大量的计算,这将是整个部署 每一个位 都有影响。 如果您想以更高的效率编码预存在的数据,您可以将其转移到新卷。
详情请参考 容错和存储效率。
错时使用机箱或机架添加服务器
若您的部署使用机箱或机架容错,则必须在将其添加到集群之前定新服务器的机箱或机架。 这将告诉直接存储空间如何最大限度地分发数据以最大化容错能力。
打开提升 PowerShell 会话,然后使用以下命令(包括, 为节点创建一个临时容错域:
New-ClusterFaultDomain -Type Node -Name
新服务器所在的底盘或货架将这个临时容错域移动到现实世界中 指定:
Set-ClusterFaultDomain -Name -Parent
如 添加服务器 将服务器添加到集群中。 当新服务器加入群组时,它会自动(使用其名称)与占位符容错域相关。
添加驱动器
重要
强烈建议所有服务器都具有相同的存储配置。
若要纵向扩展,请连接驱动器并验证 Windows 是否能够发现它们。 它们应该出现在 PowerShell 的 Get-PhysicalDisk cmdlet 输出中,其 CanPool 属性设置为 True。 如果它们显示为 CanPool = False,则你可以通过查看其 CannotPoolReason 属性来了解原因。
Get-PhysicalDisk | Select SerialNumber, CanPool, CannotPoolReason
在很短的时间内,符合条件的驱动器将由存储空间直通自动声明,并添加到存储池,卷将自动在 所有驱动器之间平均重新分布。 此时,你已完成操作并准备扩展现有卷或创建新卷。
如果驱动器未出现,可手动扫描检测硬件改动。 使用“操作”菜单下的“设备管理器”可以完成此操作。 如果它们包含旧数据或元数据,请考虑对其重格式化。 这可以使用 磁盘管理 或 Reset-PhysicalDisk cmdlet 来完成。
备注
自动池取决于你只有一个池。 如果你规避了标准配置来创建多个池,则需要使用 PhysicalDisk 将新驱动器添加到首选池。
在添加驱动器或服务器之后优化驱动器使用情况
随着时间的推移,添加或删除驱动器时,池中驱动器之间的数据分布可能会变得不稳定。 在某些情况下,这可能会导致某些驱动器变满,而池中的其他驱动器的消耗更少。
若要帮助保留驱动器分配甚至跨池,存储空间直通在将驱动器或服务器添加到池之后,自动优化驱动器使用情况 (这是使用共享 SAS 机箱) 的存储空间系统的手动过程。 在将新驱动器添加到池之后,优化开始15分钟。 池优化作为低优先级后台操作运行,因此可能需要几个小时或几天才能完成,特别是在使用大硬盘时。
优化使用两个作业-一个名为 " 优化 ",另一个称为 "重新 平衡 ",可以使用以下命令监视其进度:
Get-StorageJob
可以使用 StoragePool cmdlet 手动优化存储池。 下面是一个示例:
Get-StoragePool | Optimize-StoragePool