S2D Pool 混插 16TB 跟 4TB 擴充失敗 (報 Insufficient Space for Resiliency)

SSD Zhang 40 信譽點數
2026-08-17T05:40:01.36+00:00

各位 SRE / Infra 大神好,

最近在幫 Cluster 的 S2D Storage Pool 擴容,遇到一點障礙想請教一下。

原本環境全部都是用 4TB 的 Drive 在跑,最近買了幾顆 16TB 的硬碟想補空間,直接拉進原本的 Pool 裡面。結果發現 Usable Space 根本沒吃進去,要長 Volume 的時候直接被系統吐 Insufficient Space for Resiliency... 囧

踩坑查了一下,感覺是底層 Storage Slabs 在不同 Capacity 的 Drive 之間配置嚴重 Unbalance。因為 16TB 跟 4TB 尺寸差太多,S2D 的 Fault Tolerance 機構死活不給過,吃不到新硬碟的大容量。

想問一下版上各大神,像這種不同 Capacity 混插造成 Slab 沒平衡好的狀況,有沒有人用 PowerShell 手動跑過 Storage Pool 的 Slabs Rebalance?

有 try 過一些指令但效果不佳,不知道有沒有推薦的 cmdlet 組合或 Workaround 流程可以強制踩過這個限制?感謝大家!

Windows 商務版 | Windows 365 企業版
0 則留言 沒有留言

1 個回答

排序依據: 最實用
  1. Domic Vo 37,000 信譽點數 獨立顧問
    2026-08-17T07:24:48.3433333+00:00

    您好 SSD Zhang,

    在 S2D(存储空间直接)环境中,其底层设计使用固定大小的“数据块”(通常为 256MB 的板块)来均匀分配所有磁盘的容量。如果你直接将 16TB 磁盘添加到原本仅有 4TB 磁盘的存储池中,系统会因数据块分布不均而拒绝将其新容量纳入可用空间,导致创建卷时出现“弹性空间不足”错误。这个问题不能通过 PowerShell 强制重新平衡简单解决,因为 S2D 的容错机制要求所有磁盘的数据块分配必须保持一致。

    目前,Microsoft 建议确保同一存储池内的磁盘容量尽可能一致。如果需要混合不同容量的磁盘,应创建新的存储池或存储层,并包含 16TB 磁盘供使用,而非直接添加到旧存储池。尽管 PowerShell 提供了 Optimize-StoragePool Repair-ClusterStorageSpacesDirect 诸如 和 等命令,但这些命令仅针对现有数据块进行优化,无法解决容量不平衡。换句话说,目前没有支持的方法“强制”使用16TB磁盘上的剩余空间

    建议保持磁盘容量一致以避免数据块分布不均,或专门规划新的存储池或层来挂载大型磁盘。这确保了自动弹性和数据块分配功能正常运行,防止未来容量短缺。

    如果我的回答对你有帮助,请接受它以表达你的支持。

    谢谢你,

    多米克。

    此回答有幫助嗎?

    0 則留言 沒有留言

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。