我有一些 CentOS 6.x 服务器。他们在software raid1
那里fstrim
工作得很好。
在其中一台服务器上,我决定执行software raid5
and ext4
. 我可以安装它discard
并且没有错误消息。
但是,如果我决定运行fstrim
,我会得到:
[root@server ~]# fstrim / <- (raid1 works well)
[root@server ~]# fstrim /SSD <- (raid5 does not work)
fstrim: /SSD: FITRIM ioctl failed: Operation not supported
[root@server ~]# uname -a
Linux server 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
该磁盘支持trim,并且有使用相同磁盘制作的raid1。
这是因为 RedHat 没有将某些东西反向移植到内核中还是我做错了什么?
mdraid 对 RAID 5 丢弃的支持在 2.6 内核系列中不可用;它是在 3.7 内核中添加的。我不知道 Red Hat 向后移植了这个功能。
一旦获得具有此功能的内核,您可能会发现它已禁用,因为某些(较旧的)SSD 实际上并没有正确实现 TRIM。在这种情况下,您需要设置内核模块选项
raid456.devices_handle_discard_safely=Y
,然后在将系统投入生产之前彻底测试。