Simone Pernice Asked: 2015-06-20 10:48:48 +0800 CST2015-06-20 10:48:48 +0800 CST 2015-06-20 10:48:48 +0800 CST 禁用 TRIM 以避免文件系统损坏 772 我阅读了以下有关 TRIM 和 Samsumg 问题的文章。 我正在运行 Ubuntu 14.04.1,我有一个 250GB 的三星 PRO 850。 我担心由于同样的固件问题而损坏我的文件系统。 有人对相同的 SSD 和 Ubuntu 版本有问题吗? 您是否建议为了安全而禁用 trim? 如果是,删除文件 /etc/cron.weekly/fstrim 就足够了吗? 谢谢你,西蒙 ssd 2 个回答 Voted Best Answer Cbhihe 2015-06-21T14:26:40+08:002015-06-21T14:26:40+08:00 简短回答:对于您关于在 Trim ready SSD 中禁用 TRIM 的影响的问题,我不会这样做。 长答案:原因如下: 粗略地引用之前的帖子: TRIM 在 SSD 上为新的写入操作 (Wop) 准备至少一次写入的物理块,从而避免了在 WOP 发生之前立即实际擦除目标块的需要(在没有 TRIM 的设置中就是这种情况)。为此,SSD 必须具有支持 TRIM 的硬件控制器。情况并非总是如此。 第一阶段的使用是,即当全新的SSD刚刚安装并且还比较新时,所有的SSD块至少还没有被重写一次。在此阶段,TRIM 不会系统地启动,并且对整体读写速度带来的好处有限。 在那个取决于许多因素的早期阶段之后,其中包括您写入和访问 SSD 的次数,Wop 的速度将减慢以达到速度稳定状态。 在那个阶段,一个经验法则是,相对于没有启用 TRIM 的相同硬件,TRIM 在支持 TRIM 的 SSD 上的写入时间减少了一半以上。fstrim一些人坚持认为,经常使用垃圾收集实用程序,实际上对已经写入但现在丢弃的块执行零重写,将使您的写入速度提高 4 倍(是的,400%!)或更多. 我(和大多数人)没有办法控制它,除了隔离和查看在fstrim工作时使用和不使用 的垃圾收集而编写的块。 HTH,至少在概念上是这样。要了解更多信息,您将不得不深入研究一些相当技术性的白皮书。对于非专家来说,它们变得非常深奥。 关于禁用 TRIM 的问题,首先检查您的 SSD IS TRIM ready 并且 TRIM 已启用: $ sudo hdparm -I /dev/sda | grep "TRIM supported" 注意:使用hdparm 前请阅读您的手册页。如果使用不当,您可能会彻底破坏您的系统。上面的命令是完全无害的。 如果你得到一个空白,那么 TRIM 没有启用 - >案例关闭 如果收到* Data Set Management TRIM supported (limit 8 blocks),请检查 TRIM 是否在您的机器上实际处于活动状态。 在 Ubuntu 上,有两种可能性(我知道): discard对于通常格式化为 ext3 或 ext4 的任何 SSD 设备,您可能在 /etc/fstab 文件中有一个as mount 选项。如果您安装的卷具有 ext3 格式,discard则已知安装选项实际上将卷限制为只读。我认为这会很快引起任何人的注意。因此,任何带有discard挂载选项的卷都可能是 ext4。 您可以编程fstrim为定期(每小时、每天、每周或其他方式)自动运行。要检查您是否已fstrim如此编程,请在终端中输入以下内容: $ 查找 /etc/ 修剪 | egrep fstrim 至少在我最近运行的 Ubuntu 14.04.x 上,fstrim计划每周启动一次,这对任何普通桌面用户来说都是合适的。如果您运行数据写入密集型服务,即以性能为导向的数据库管理系统,您可能希望提高到每日频率。WADR,不知何故,如果你不得不问,我怀疑是这样的。 最后,是的,fstrim将其从其/etc/cron.{hourly,daily,weekly,monthly}目录中抑制或删除将停止您机器上的修剪过程。 我的意见(应您的要求提供,而不是您必须遵循的建议):您可能可以安全地将该fstrim文件留在原处。如果您更喜欢禁用它,请去购买等效的基于传统磁盘 (HDD) 的驱动器来替换它。与未激活 TRIM 的 SSD 相比,您可能会过得更好,为此支付了额外费用。但坦率地说,将您提取的 SSD 用作压纸机会很可惜。那将完全按照字面意思discard选择 TRIM垃圾收集选项。 Simone Pernice 2015-08-18T05:45:20+08:002015-08-18T05:45:20+08:00 三星调查后,问题是由于 RAID 上 Linux 内核的错误引起的。看来 raid 驱动程序和 scsi/ata 驱动程序之间存在误解。 您可以在以下链接raid0: data corruption when using trim中找到详细信息。
简短回答:对于您关于在 Trim ready SSD 中禁用 TRIM 的影响的问题,我不会这样做。
长答案:原因如下:
粗略地引用之前的帖子:
TRIM 在 SSD 上为新的写入操作 (Wop) 准备至少一次写入的物理块,从而避免了在 WOP 发生之前立即实际擦除目标块的需要(在没有 TRIM 的设置中就是这种情况)。为此,SSD 必须具有支持 TRIM 的硬件控制器。情况并非总是如此。
第一阶段的使用是,即当全新的SSD刚刚安装并且还比较新时,所有的SSD块至少还没有被重写一次。在此阶段,TRIM 不会系统地启动,并且对整体读写速度带来的好处有限。
在那个取决于许多因素的早期阶段之后,其中包括您写入和访问 SSD 的次数,Wop 的速度将减慢以达到速度稳定状态。
在那个阶段,一个经验法则是,相对于没有启用 TRIM 的相同硬件,TRIM 在支持 TRIM 的 SSD 上的写入时间减少了一半以上。
fstrim
一些人坚持认为,经常使用垃圾收集实用程序,实际上对已经写入但现在丢弃的块执行零重写,将使您的写入速度提高 4 倍(是的,400%!)或更多. 我(和大多数人)没有办法控制它,除了隔离和查看在fstrim
工作时使用和不使用 的垃圾收集而编写的块。HTH,至少在概念上是这样。要了解更多信息,您将不得不深入研究一些相当技术性的白皮书。对于非专家来说,它们变得非常深奥。
关于禁用 TRIM 的问题,首先检查您的 SSD IS TRIM ready 并且 TRIM 已启用:
注意:使用
hdparm
前请阅读您的手册页。如果使用不当,您可能会彻底破坏您的系统。上面的命令是完全无害的。如果你得到一个空白,那么 TRIM 没有启用 - >案例关闭
如果收到
* Data Set Management TRIM supported (limit 8 blocks)
,请检查 TRIM 是否在您的机器上实际处于活动状态。在 Ubuntu 上,有两种可能性(我知道):
discard
对于通常格式化为 ext3 或 ext4 的任何 SSD 设备,您可能在 /etc/fstab 文件中有一个as mount 选项。如果您安装的卷具有 ext3 格式,discard
则已知安装选项实际上将卷限制为只读。我认为这会很快引起任何人的注意。因此,任何带有discard
挂载选项的卷都可能是 ext4。您可以编程
fstrim
为定期(每小时、每天、每周或其他方式)自动运行。要检查您是否已fstrim
如此编程,请在终端中输入以下内容:$ 查找 /etc/ 修剪 | egrep fstrim
至少在我最近运行的 Ubuntu 14.04.x 上,
fstrim
计划每周启动一次,这对任何普通桌面用户来说都是合适的。如果您运行数据写入密集型服务,即以性能为导向的数据库管理系统,您可能希望提高到每日频率。WADR,不知何故,如果你不得不问,我怀疑是这样的。最后,是的,
fstrim
将其从其/etc/cron.{hourly,daily,weekly,monthly}
目录中抑制或删除将停止您机器上的修剪过程。我的意见(应您的要求提供,而不是您必须遵循的建议):您可能可以安全地将该
fstrim
文件留在原处。如果您更喜欢禁用它,请去购买等效的基于传统磁盘 (HDD) 的驱动器来替换它。与未激活 TRIM 的 SSD 相比,您可能会过得更好,为此支付了额外费用。但坦率地说,将您提取的 SSD 用作压纸机会很可惜。那将完全按照字面意思discard
选择 TRIM垃圾收集选项。三星调查后,问题是由于 RAID 上 Linux 内核的错误引起的。看来 raid 驱动程序和 scsi/ata 驱动程序之间存在误解。
您可以在以下链接raid0: data corruption when using trim中找到详细信息。