这是一个很宽泛的问题——我并不是在问特定的 RAID 级别或操作系统。
答案1
还没有,至少据我所知还没有。
问题在于文件系统层和用于处理软件 RAID 的 LVM 系统之间的断开连接 - 通常它们从文件系统中抽象出设备类型,因此不知道使用 TRIM。
第一个在软件上支持它的人可能是 Sun 的 ZFS,它没有传统的 LVM 层,而是以统一池的形式运行。他们已经在研究TRIM 支持被添加到 ZFS 时,我认为它将适用于所有 ZFS 功能,包括软件 RAID。
答案2
您可以使用我的 MDTRIM 脚本(https://github.com/Cyberax/mdtrim/) 来修剪 ext4/3 1 级 RAID 上的空白空间。我们定期从 cron 启动它,它对我们来说效果很好。
可以添加对其他 RAID 级别的支持,但我没有时间(或不需要)这样做。
答案3
SoftRAID 4.3适用于 OS X 的第三方软件 RAID,售价 129 美元,现在支持TRIM在条带阵列上:
SoftRAID 驱动程序现在在 Lion(Mac OS X 10.7)下运行时支持所有品牌 SSD 的 TRIM 命令。这可以大大增加 SSD 的使用寿命。与大多数其他 RAID 解决方案不同,SoftRAID 甚至支持条带卷(RAID 0)上的 TRIM。可以在 SoftRAID 首选项中禁用对 TRIM 命令的支持。
据我所知(这很难验证),OS X 的内置软件 RAID 不处理 TRIM。
编辑:已验证dtrace
内置 SW RAID 不会调用 TRIM 相关函数。
答案4
我猜一个合格的是的。由于 Windows 端的所有软件 RAID 都将驱动器视为单个驱动器。只有卷被视为 RAID。
您必须确保将驱动器插入不支持 BMC 或 RAID 的驱动器控制器。本质上,如果 speedfan、hdtune 等可以看到 SMART 数据,我希望 Trim 命令能够进入驱动器。
Windows 7 和 Windows Server 2008 R2支持 Trim。如果我没记错的话,这就意味着软件 RAID 0、1 或 5 可以支持 trim。
这使得 Server 2008 32 位、Server 2008 64 位(非 R2)、Server 2003(所有版本)无法做到这一点。对于无法创建软件 RAID 卷的 Vista 和 XP 来说更是如此。
不幸的是,在 Windows 方面,RAID 10 不支持完全基于软件的 RAID 级别。您必须在硬件中执行 RAID 0 或 1,然后在软件方面根据需要进行条带化或镜像,以获得您真正想要的 1+0 或 0+1 阵列,此时 TRIM 支持将不适用,就像您完全在硬件中执行 RAID 10 一样。
此外,许多硬件 RAID 控制器的速度会比使用 SSD 的软件 RAID 慢。请参阅http://it.anandtech.com/IT/showdoc.aspx?i=3532&p=9用于展示此概念的基准。