我有一个Windows软件RAID 1(由Windows控制)configuration了两个SSD的Windows 2012服务器,在该configuration下,优化工具不受支持。
TRIM是否仍然由操作系统调度/执行,只是不明显,而且没有手动控制?
有没有办法强制它,因为它是一个简单的镜像RAID,而操作系统是能够TRIM时,SSD没有RAID'ed?
我在早期发现了一个“选项”,但显然不适合在生产环境中使用:从RAID中分离一个磁盘(从而消除RAID),在单磁盘上执行TRIM,然后重buildRAID。
(这些固态硬盘是120GB的英特尔Sandforce以防万一,重要的是它们拥有多个数据库,每天24小时不断的读/写,并且每天有数千兆字节的数据轮换)
Windows软件RAID此时仅支持对RAID-0的修剪/取消映射传递。
然而,Sandforce(以及大多数其他SSD芯片)将取代一个块被归零,并标记为垃圾收集块(Trim会做什么)。 您可以使用cypher /w X:\命令强制Windows将未使用的磁盘空间清零。 这不适用于encryption驱动器。
请参阅在RAID 1中的SSD磁盘上是否可以使用TRIM?
你所要求的是没有道理的。 TRIM是一个正在进行的过程,而不是一次性的修剪,它不能与RAID一起使用。
但驱动器仍然会自己做背景垃圾收集,所以这是你根本不需要担心的事情。
数据从操作系统到SSD的整个path需要支持TRIM命令的传递槽。
通常,问题是硬件RAID控制器不能通过TRIM命令。
只要使用正常的控制器(LSI HBA SAS控制器或其它),软件RAID应该能够通过TRIM命令。
过度configuration降低了TRIM优势的论点有些不妥,因为过度configuration只是意味着SSD有比您意识到的更多的空间来使用,而且您可以尽可能轻松地填充这个空间,这会导致相同的低性能,但需要更长的时间去那个点。 普通磁盘大约有7%的过度configuration,企业磁盘有25%以上的超额configuration,但最后你会填满它们,你会在同一个地方。
目前我们的系统中有这个问题,我们可能会从使用LSI RAID控制器切换到LSI HBA SAS控制器,以确保TRIM命令传递。 另一个解决办法是获得一个JBOD,但是比改变控制器要贵一些。 我们的RAID 1中的企业级磁盘还不到一年的时间,但即使过度configuration和垃圾收集,性能也大大下降。