有没有办法在 Windows 2012 软件 RAID 阵列中强制执行 TRIM?

有没有办法在 Windows 2012 软件 RAID 阵列中强制执行 TRIM?

我有一台 Windows 2012 服务器,在软件 RAID 1(由 Windows 控制)下配置了两个 SSD,在该配置下优化工具不受支持。

TRIM 是否仍由操作系统安排/执行,只是不明显,并且没有手动控制?

有没有办法强制执行它,因为它是一个简单的镜像 RAID,并且当 SSD 没有 RAID 时,操作系统能够进行 TRIM?

我很早就找到了一个“选项”,但它显然不适合在生产中使用:从 RAID 中分离一个磁盘(从而杀死 RAID),在单个磁盘上执行 TRIM,然后重建 RAID。

(如果有必要的话,SSD 是 120GB Intel Sandforce,它们托管多个数据库,全天候不间断地读写,并且每天有几 GB 的数据轮换)

答案1

目前,Windows 软件 RAID 仅支持 RAID-0 的 Trim/Unmap 直通。

但是,Sandforce(以及大多数其他 SSD 芯片)会发现某个块正在被清零,并将该块标记为垃圾回收(Trim 会这样做)。您可以使用该命令强制 Windows 将未使用的磁盘空间清零cypher /w X:\。这不适用于加密驱动器。

答案2

RAID 1 中的 SSD 磁盘可以进行 TRIM 吗?

您的要求毫无意义。TRIM 是一个持续的过程,而不是一次性修剪,并且它不能与 RAID 协同工作。

但是驱动器仍然会进行自己的后台垃圾收集,所以您根本不必担心。

答案3

数据从操作系统到 SSD 的整个路径都需要支持 TRIM 命令的传递。

通常问题是硬件 RAID 控制器没有传递 TRIM 命令。

只要您使用普通控制器(LSI HBA SAS 控制器或其他控制器),软件 RAID 就应该能够通过 TRIM 命令。

过度配置会降低 TRIM 的优势的说法有些不妥,因为过度配置只是意味着 SSD 有比您意识到的更多的可用空间,您可以同样轻松地填满这个空间,这会导致相同的性能下降,但需要更长的时间才能达到这一点。普通磁盘有大约 7% 的过度配置,企业磁盘有 25% 以上的过度配置,但最终您填满它们,您还是会处于同样的位置。

目前我们的一个系统存在这个问题,我们可能会从使用 LSI RAID 控制器切换到 LSI HBA SAS 控制器,以确保 TRIM 命令得到传递。另一个解决方案是获取 JBOD,但这比更换控制器要贵一点。我们在 RAID 1 中拥有使用不到一年的企业磁盘,但即使进行了过度配置和垃圾收集,性能也大幅下降。

相关内容