重新平衡存储空间池中的硬盘?

重新平衡存储空间池中的硬盘?

我在(双向镜像存储池)中拥有 2 个 1.5TB 的驱动器。该池最近达到了 100% 的容量,这意味着两个驱动器的剩余空间均为 0%。

我向存储池添加了 2 个 4TB 驱动器,但存储空间不会尝试重新平衡磁盘利用率。添加后,我现在看到:

My storage space pool : Physical drives
1.5 TB HDD-1 : 100% used
1.5 TB HDD-2 : 100% used
4.0 TB HDD-3 : 0% used
4.0 TB HDD-4 : 0% used

似乎所有未来的写入现在都将集中在较新的驱动器上。我原本以为存储空间一旦get busy看到新驱动器就会开始重新平衡 - 但运气不佳。

我如何重新平衡使用情况,以便我的读/写操作大致按比例/平等地分布在存储池中的所有驱动器上?

仅供参考,这是在 Windows Server 2012 R2 上,但它的存储空间与 Windows 8.1 相同

答案1

通过即将推出的 Windows 10 和 Windows Server 2016 操作系统中最终起作用的东西重新提出这个老问题。

微软在 Windows 10 和 Windows Server 2016 中添加了一个Optimize-StoragePoolPowerShell 命令,可以重新平衡整个池的存储空间。

只需打开管理 PowerShell 控制台并运行

> Optimize-StoragePool -FriendlyName "TheNameOfYourStoragePool"

我在博客上提到了这一点这里

微软宣布了该功能就在几天前,作为新的存储空间直通的一部分,但它也可以与普通存储空间一起正常工作。

答案2

当我发现存储空间(在 Windows 8.1 中)并迁移现有文件时,我遇到了类似的问题。我从驱动器开始:

  • Aaron:500GB,已使用 95%
  • Bruce:1TB,已使用 70%
  • Craig:1TB,已使用 55%
  • Devin:1TB,已使用 30%
  • Ethan:3TB,已使用 50%
  • Felix:3TB,使用率为 0

因此,在将所有内容转移到 2 个 3TB 驱动器上后,我将剩余的 4 个驱动器连接到存储空间,创建了一个空间,然后将文件从 2 个已填充的驱动器复制到该空间(奇偶校验弹性)。将两个驱动器添加回空间(顺序添加)后,所有驱动器的使用率都在 50% 左右,但 3TB 驱动器的使用率分别为 20% 和 0%,与清除并添加到池中时相比。

我尝试等待几天,看看系统是否会重新平衡,但什么也没发生。

最终,我发现我有两个选择:

  1. 创建第二个空间,然后按顺序将文件从一个空间复制并删除到另一个空间(不确定切割是否会做同样的事情,但我操作时的理解是,如果进行了切割,系统会检测到这一点,并简单地重新标记板坯而不是移动它们,但我不能保证这个说法的有效性)
  2. 使磁盘脱机并重新引入(需要一定的弹性)

我选择了第二种选择,但在早期的测试中,第一种选择似乎可行,但速度非常慢。

因此,一旦我的所有文件和磁盘都进入池中,我就会物理断开其中一个较满的磁盘(在我的情况下是 USB,在您的情况下,您可能只需禁用该设备)。然后存储空间开始显示有关“弹性降低”的错误,并让我选择从池中移除磁盘,我照做了。

然后我等了几个小时(早上启动,去上班,回来时屏幕已完成),存储空间随后修复了空间。修复空间后,我重新连接磁盘,格式化,然后将其重新引入池中。

我对所有想要重新平衡的驱动器重复了此步骤,按照容量从大到小的顺序进行,以便我的小型 500GB 驱动器是最后重新添加的。

是的,这意味着最终会剩下一个使用率为 0% 的驱动器,但随着时间的推移,它很快就会被填满,达到整个池的平均使用率

答案3

Windows 10 具有优化池在 GUI 中可用的命令:

在此处输入图片描述

在此处输入图片描述

Windows 服务器

Windows Server 2016 添加了优化池的功能。但与基于 GUI 的工作站操作系统不同,Windows Server 没有用于管理存储空间优化的 GUI。相反,必须使用 powershell:

> Get-StoragePool

FriendlyName              OperationalStatus HealthStatus IsPrimordial IsReadOnly     Size AllocatedSize
------------              ----------------- ------------ ------------ ----------     ---- -------------
Primordial                OK                Healthy      True         False      10.23 TB       5.46 TB
Silk Road Pool            OK                Healthy      False        False       5.45 TB       4.11 TB

> Optimize-StoragePool -FriendlyName "Silk Road Pool"

但还请注意,在 Windows Server 上,数据将自动地重新平衡添加驱动器 30 分钟后。

图像

您可以通过 powershell 获取优化的状态(再次强调,Microsoft 讨厌图形用户界面):

> Get-StorageJob

Name      IsBackgroundTask ElapsedTime JobState PercentComplete BytesProcessed BytesTotal
----      ---------------- ----------- -------- --------------- -------------- ----------
Optimize  False            00:12:21    Running  11
Rebalance True             00:00:00    Running  11              114085068800   1020323168256

笔记:重新平衡/优化功能仅适用于 Windows Server 2016/Windows 10 空间。如果您使用的是在 Windows Server 2012/Windows 8 中创建的空间:您必须“升级”该空间。

相关内容