Linux下SSD硬盘对齐(trim)及优化

Linux下的trim支持叫discard,现在ext4和xfs都支持(btrfs应该也支持),内核需要>=2.6.37,xfs的支持在3.0才比较完善。具体需要设置这2个方面:
1.文件系统表
修改fstab文件,在挂载参数中加上discard;最好也同时加上noatime,如下
/dev/sda3   /   ext4   noatime,nodiratime,discard,errors=remount-ro 0 1

mount -t ext4 -o discard,defaults /dev/sdc  /home  ssd trim
2. 调整文件系统参数
ext4的话最好禁用日志功能,能防止写入额外的数据而减少ssd寿命。

关闭ext4日志:tune2fs -O^has_journal /dev/sdXX

配置固态硬盘(SSD)的ext4

接 着需要关注的就是文件系统。想要优化文件系统删除字节区块的效率,就必须确保小于512K的文件分布在不同的删除字节区块上。要做到这一点,必须确保在创 建可扩展文件系统时指定了需要使用的条带的宽度和幅度。这些值在页面中指定,默认大小为4KB。要创建一个最佳的可扩展文件系统,应该使用如下命令:
mkfs.ext4 -E stride=128,stripe-width=128 /dev/sda1
如果要修改现有的文件系统的参数,可以使用tune2fs实用程序:
tune2fs -E stride=128,stripe-width=128 /dev/sda1

配置固态硬盘(SSD)的I/O调度程序,修改默认的cfq为deadline
通过输入echo cfq >/sys/block/sda/queue/scheduler 修改
优化的第三个部分涉及到I/O调度程序。该模块是一个决定如何处理I/O请求的核心组件。默认情况下就是非常公平的排队,对于普通的磁盘驱动器来说,这是很好的方案,但对于以期限调度为优势的固态硬盘来说,这并不是最好的。
关于IO调度,请参考http://blog.opvps.com/%E8%87%AA%E5%AE%9A%E4%B9%89redhat-linux%E7%9A%84io%E8%B0%83%E5%BA%A6%E6%9C%BA%E5%88%B6/

posted @ 2014-01-20 15:01  学习噢  阅读(9230)  评论(0编辑  收藏  举报