如何在 Fedora 17 上启用 SSD TRIM 支持?

如何在 Fedora 17 上启用 SSD TRIM 支持?

我以前把Linux安装在硬盘上。这很容易。但现在我有一个 SSD,我想在上面安装 Fedora 17。

我应该怎么做才能让Fedora 17向SSD发出TRIM命令?

答案1

这非常简单,现在 TRIM 可以通过 LVM 传递到底层设备。

  1. 安装时,请确保文件系统全部设置为 ext4。 ext3 不支持 TRIM。

  2. 安装后,以 root 身份登录并编辑/etc/fstab.在第四列(通常为defaults)中添加关键字discard。对//boot分区以及您在 SSD 上创建的任何其他分区执行此操作。

    一个例子:

    /dev/mapper/vg_mymachine-lv_root /                       ext4    discard         1 1
    UUID=94b6d32d-ec21-4028-9a89-b1a19849c4ad /boot                   ext4    discard         1 2
    

    (如果defaults是唯一的关键字,可以用 替换discard。如果有其他关键字,请在后面添加逗号,例如whatever,discard。)

    交换无需执行任何操作;所有交换分区自动支持 TRIM。

  3. 默认情况下禁用 LVM 对丢弃的支持。通过编辑/etc/lvm/lvm.conf并更改issue_discards = 0为来启用它issue_discards = 1

  4. 重新启动计算机。

答案2

Fedora 18 中存在一些问题,LUKS 无法传播 TRIM 命令,但这在 Fedora 19 中得到了修复。在我的系统上,TRIM 命令传播成功。只需要对配置进行一些更改即可。首先,我们需要检查 TRIM 是否将所有分区传播到终端设备:

[lzap@lzapx ~]$ lsblk -D
NAME                                            DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                                                    0      512B       2G         1
├─sda1                                                 0      512B       2G         1
└─sda2                                                 0      512B       2G         1
  ├─fedora_lzapx-root                                  0      512B       2G         1
  ├─fedora_lzapx-swap                                  0      512B       2G         1
  └─fedora_lzapx-home                                  0      512B       2G         1
    └─luks-aaaaaaaa-6657-44f4-8297-bbbbbbbb1111        0      512B       2G         0

最后一列显示 TRIM 命令是否传播。我们可以看到一切都已设置, 除了加密的主页(最后一行)。为了在 LUKS 加密设备上获得完整的 TRIM 支持,我们需要允许 TRIM 命令。注意这会降低加密强度。这是 Fedora 19 默认的 crypttab 文件:

$ cat /etc/crypttab
luks-aaaaaaaa-6657-44f4-8297-bbbbbbbb1111 UUID=aaaaaaaa-6657-44f4-8297-a571e02e5492 none

allow-discards在那里添加了选项:

$ cat /etc/crypttab
luks-aaaaaaaa-6657-44f4-8297-bbbbbbbb1111 UUID=aaaaaaaa-6657-44f4-8297-a571e02e5492 none allow-discards

可选 LVM 配置

如果您经常修改 LVM 逻辑卷(例如缩小、删除),则需要在`/etc/lvm/lvm.conf 中将 issues_discards 设置为 1。然后您需要执行下面描述的下一个可选步骤。

可选的初始化 RAM 磁盘再生

如果你有由 LUKS 加密的分区(不是我的情况)或者如果你有LVM 上的分区如果您希望在收缩或删除时进行 LVM 修剪(请参阅上面的可选步骤),则需要使用以下命令重新生成初始 RAM 磁盘:

dracut -f

当然,您需要重新启动才能使此更改生效。

现在,要启用 TRIM 并利用它,有两个选项:

删除文件时TRIM

可以配置 ext4 在删除数据时发送 TRIM 命令。您可以通过discard向 中的分区添加选项来做到这一点/etc/fstab。请注意,这会减慢删除速度。这取决于 SSD 驱动器,但这在某些驱动器上可能会显着减慢速度。

不要将discard选项设置为交换设备,因为这不是必需的(也许它也不起作用)。默认情况下,交换对 SSD 友好并传播 TRIM 命令。

从 cron 进行修剪

这是首选选项,因为如果您不关闭笔记本电脑/服务器,则可以每天、每周或在夜间安排它:

cat /etc/cron.weekly/01-fstrim
#!/bin/sh
fstrim /
fstrim /home

chmod +x /etc/cron.weekly/01-fstrim

现在尝试运行该脚本,它不应该打印任何错误消息。如果您更改了 LUKS 配置,则可能需要重新启动才能执行此操作。

http://lukas.zapletalovi.com/2013/11/how-to-trim-your-ssd-in-fedora-19.html

相关内容