之前买了一把鱼竿厂的 1.5T SSD (当时还是 TLC )回来组阵列,然后尴尬地发现 SAS 阵列卡不支持 trim。。。当时想着就先这么用着吧,反正保 5 年就没管,然后 md raid5 + btrfs raid0 的 8TB 阵列被写得只剩 70G,上面还跑了两个 Windows 10 虚拟机。。。。然后就在前两天检查阵列发现损坏了几个文件,赶紧看 smart 信息发现卧槽居然已经有 reallocate 了。。。。心想不行必须得把 discard 开起来,于是就有了这个项目(女票写的):
https://github.com/ReimuNotMoe/trim2unmap
原理很简单,把 trim 指令翻译成 SCSI 的 sg_unmap 即可,我们试了一下发现并没有出什么问题,工作得相当良好而且也没有出现读写性能损失,各位要是有需要的话可以考虑一下(出问题不保,暂时 GPLv3 开源)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.