我使用的是 Windows 10 Enterprise。我在存储空间池中设置了四个相同的 3TB 磁盘。每个磁盘显示为池提供 2.72 TB。我创建了一个具有 REFS 和复原力作为奇偶校验的存储空间。
来自 RAID-5 世界,我将大小设置为 (N-1)*drive_size = 8.16 TB。当我继续将数据复制到磁盘时,我很惊讶它在 7.26 TB 之后空间不足。我想有几个术语我不明白。
在存储空间下,显示:
- WDC 3TBx4(F:)
- 平价
- 8.16 TB
- 使用 10.8 TB 池容量
在 Windows 资源管理器中显示:
- WDC 3TBx4(F:)
- 8.15 TB 中剩余 915 GB 可用。
我想我不明白的是,在首先创建池和空间时,这些定义是什么:
- 泳池总容量
- 可用池容量
- 尺寸(最大)<----------------我可以设置
- 包括弹性
由于我不想删除 4x3TB 空间并重新开始,我尝试使用 4x5GB VHD 文件进行实验(遗憾的是,我无法尝试 3GB 磁盘,因为它们显然必须至少为 4 GB)。使用 5 GB 磁盘:
- 总池容量:17 GB
- 可用池容量:16 GB
- 大小(最大):默认为 8 GB,但我可以将其设置为我想要的任何大小
- 包括弹性:12 GB
有人可以解释一下数学是如何运作的吗?
答案1
在许多情况下,微软希望我们在不知道如何管理空间的情况下使用它。而我们不知道。实际上,可用空间不是 8.16TB,而是少了大约 1TB。其中一些空间用于创建写回缓存,一些空间用于尚不清楚的原因。
答案2
我不明白这里发生了什么,但我发现这似乎与 2015 年有关。如果它没有帮助,我很抱歉。我同意 Overmind 的观点——如果 MS 能让我们了解发生了什么,那就太好了。
我大约一周前向 MS 支持部门提出了这个问题,昨天他们确认这是一个错误。
由于我需要解决这个问题,因此我不得不投入更多时间。我在实验室中创建了一个新版本,其中有 8 个物理磁盘可供池化,并花了一些时间测试各种配置和命令。我发现它与存储空间 GUI 中的一个错误有关;即底层 PowerShell 存储 cmdlet 工作正常。
以下是我为实现预期结果所采取的步骤:
- 创建所有必需磁盘的存储池(在本例中为 8x68GB,名为“JStore”)- 这可以通过 GUI 或 Shell 完成
- 从管理 PowerShell 会话运行以下命令:
New-VirtualDisk -FriendlyName“Parity_Max_Auto”-StoragePoolFriendlyName JStore -UseMaximumSize -ResiliencySettingName Parity -AutoNumberOfColumns
- 运行 Get-VirtualDisk 以确认成功:
FriendlyName ResiliencySettingNa OperationalStatus HealthStatus IsManualAttach Size me
Parity_Max_Auto 奇偶校验 OK 健康 False 469 GB
- 运行 Get-VirtualDisk | Get-Disk | Initialize-Disk
- 运行 Get-VirtualDisk | Get-Disk 获取磁盘编号(本例中为 10)
- 运行 New-Partition -DiskNumber 10 -UseMaximumSize -AssignDriveLetter 创建一个新分区
- 运行 Format-Volume -DriveLetter F -FileSystem NTFS 来格式化卷
这一系列命令按预期创建了一个具有 1/n 奇偶校验分配的奇偶校验空间,在这种情况下,可用空间为 469GB,相当于 1/8。今晚我将尝试将其应用于我的 9TB 版本,看看会发生什么。我担心 Win8 可能会在 RTM 中出现此错误,但我希望这至少可以帮助其他人正确利用存储空间。
干杯
由 stlc8tr 于 2015 年 10 月 22 日星期四 9:17 PM 于 2012 年 10 月 2 日星期二 4:13 PM 提议为答案 jazzrobot
下一篇文章——我已从 MS 处确认这是 Win8 存储空间 GUI 元素中的一个错误。底层 PowerShell 存储 cmdlet 可按预期运行,您应该能够使用 PowerShell 创建存储空间。创建后,可以通过 shell 或 GUI 进行管理,因为似乎只有创建向导受到该错误的影响。