如何延长SSD寿命提高读写速度?固态硬盘TRIM开启指南 | 您所在的位置:网站首页 › ahci已禁用win7 › 如何延长SSD寿命提高读写速度?固态硬盘TRIM开启指南 |
如何延长SSD寿命提高读写速度?固态硬盘TRIM开启指南
2022-11-10 09:32:18
10点赞
34收藏
13评论
今年SSD降幅明显,相信站内很多朋友都买了SSD固态硬盘,笔者也分别入手了京造、移速的固态硬盘。虽然两者都是京东自营并负责售后,不过谁也不想硬盘在毫无预期的时候突然挂掉,笔者挂在锐角云上的某讯H1硬盘因突然跳电导致敲盘,恢复docker配置、虚拟机花费了大半天时间。 TRIM不仅可以延长 SSD 的使用寿命,还可以提高读写速度,但仍需要注意:TRIM涉及到数据安全!!!所以建议各位观众姥爷们切勿在正式环境上盲目启用! 先说结论:想要开启TRIM功能需要软硬件同时支持,目前市面上绝大多数硬件都已支持TRIM,但USB移动硬盘固件支持较弱。 我的硬件支持TRIM吗?1. SSD固态硬盘首先要支持TRIM,一般较新的SSD都支持,可以使用查看CrystalDiskInfo查看 固态硬盘支持TRIM 2. 如果你的SSD是使用硬盘盒的方式接入主机USB,那么移动硬盘盒的主控芯片是否支持TRIM成为关键的影响因素!当然如果你是直接接在主板的M.2或SATA接口上,就免去了这部分烦恼! 关于某一型号的硬盘盒或者某一主控是否支持TRIM,各家都众说纷纭,究其原因笔者理解为:TRIM这项技术并未被厂商作为主要卖点;同一主控芯片也存在不同厂商不同固件,所以我们的测试就像盲人摸象,得出来的结论自然也是大相径庭,这里也希望硬盘盒厂商能重视这一点。 有请正方一辩: 正方观点 有请反方一辩: 反方观点 支不支持首先看主控芯片,这里可以通过芯片厂商的官网查询,其次看硬盘盒厂家固件,可以通过询问客服或技术人员索取固件。目前市面上的绝大多数主控都支持TRIM,但硬盘盒固件支持较弱! 以上来自@海门牌梭鱼罐头 我的系统支持TRIM吗?系统也需要支持TRIM,笔者查阅资料发现,Windows阵营从Win7系统开始便已支持TRIM,不需要特殊操作。这点给巨硬点赞! fsutil behavior query DisableDeleteNotify 0代表启用 注意这里的措辞是重新裁剪而不是碎片整理 再看Linux这边对于TRIM支持相对比较保守,虽然在2008年内核已支持TRIM,但应用较少,毕竟服务器的稳定性高于一切,通过磁盘阵列等方式可以弥补机械硬盘的速度短板,对于商用而言机械硬盘依然是首选,再加上TRIM对RAID的影响。但是TRIM非常适用我们个人的应用场景,比如系统中的缓存文件以及各种小文件。因为我们的固态硬盘通常不会写满,TRIM能大大提高固态硬盘的工作效率。 Linux下各文件系统对TRIM的支持状态 Linux下如何查询TRIM支持(笔者这里使用debian10作为演示,硬盘盒为绿联,设备路径为/dev/sda) 安装必要软件 apt install sg3-utils hdparm -y 查看设备 lsusb 这里的PID VID后面会用到 df -h查看设备路径 查看SSD路径 运行命令: hdparm -I /dev/sda | grep TRIM 注意命令中 /dev/sda 需要改成你自己的设备路径 显示TRIM supported 第二种方式: lsblk --discard 若DISC-GRAN和DISC-MAX列上的数值不为零,则表示对应设备支持TRIM 当然还有第三种判断方法,直接运行命令手动执行裁剪,看看SSD是否在其中 fstrim -a -v SSD在运行设备中 USB固态硬盘可能出现的问题笔者使用的绿联在3项测试中仅通过第1种测试,到底是支持还是不支持呢? 支持 不支持? 不支持? 经过学习终于在ArchWiki中找到了答案: 一些USB转SATA芯片(如VL715、VL716等)以及在外接NVMe硬盘盒(如IB-1817M-C31[失效链接 2022-09-23 ⓘ]))中使用的USB转PCIe芯片(如 智微(JMicron) JMS583 )支持类似TRIM的命令,这些命令可通过 USB Attached SCSI 驱动程序(在Linux下称为"uas")发送。 首先运行 sg_readcap -l /dev/sda 内核认为该设备不支持Logical Block Provisioning Management 如果有Logical block provisioning: lbpme=0这一行,继续执行 sg_vpd -a /dev/sda 设备支持UNMAP 设备支持UNMAP,只需要在对应的provisioning_mode中添加unmap参数即可 echo "unmap" >/sys/block/sda/device/scsi_disk/*/provisioning_mode 通过添加udev配置文件实现该设备自动配置 nano /etc/udev/rules.d/99-sata-adapter-trim-enable.rules 添加以下文件,使用lsusb命令查看设备PID VID,修改对应的ID ACTION=="add|change", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="225c", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap" 注意修改PID VID 这样内核便自动检测到并启用UAS,再次测试这次3项全部通过。 软硬件均支持TRIM,如何才能启用TRIM?开启TRIM有两种方式:Continuous TRIM和Periodic TRIM Continuous TRIM即通过修改/etc/fstab中硬盘的挂载参数加入discard以实现每次在文件被删除后就立即执行TRIM指令,由于Continuous TRIM会拖慢系统,并且有可能导致的数据损坏,目前已不推荐这种方式。 修改/etc/fstab来 btrfs分区支持ssd这个参数,但ext4并不支持该参数,所以挂载时注意分区格式,建议加入nofail参数以免因挂载失败导致系统无法启动。 Periodic TRIM则是定期在支持TRIM的设备上执行修剪,更推荐这种方式。 启动命令 systemctl enable fstrim.timer systemctl start fstrim.timer systemctl status fstrim.timer 显示下一次执行时间2022-11-14 至此,配置TRIM的相关步骤就结束了,在此感谢各位观众姥爷们的点赞、评论、打赏!希望本文能给各位带来帮助! 恰逢双十一,笔者这里也推荐几款固态硬盘给各位观众姥爷们: 首先是本次使用的绿联硬盘盒,笔者到手的主控是ASM2235,没有难为我去刷固件 绿联2.5英寸移动硬盘盒USB3.0SATA串口笔记本电脑台式机外置壳固态机械ssd硬盘盒子32.9元京东去购买笔者购买的原因主要是:京东自营并提供5年质保,目前用于OMV中替换坏了的H1 移速(MOVESPEED)512GBSSD固态硬盘SATA3.0金钱豹系列187元京东去购买京造的这块硬盘目前在挂某PCDN,自营售后没毛病 京东京造3系列480GBSATA3SSD固态硬盘JZ-2.5SSD480GB-3199元京东去购买再推荐下笔者双十一准备购买的两款 京东京造1TB国产麒麟系列SSD固态硬盘M.2接口(NVMe协议)PCIe3.0四通道479元京东去购买致态(ZhiTai)长江存储1TBSSD固态硬盘NVMeM.2接口TiPlus5000系列569元京东去购买本文参考: Solid state drive (简体中文) - ArchWiki (archlinux.org) Fix SSD TRIM on UGREEN UASP USB SATA adapter/enclosure - DEV Community 👩💻👨💻 LemonTeaTT https://www.bilibili.com/read/cv16918890/ 作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~ |
CopyRight 2018-2019 实验室设备网 版权所有 |