您的位置:首页 > 运维架构 > Linux

Linux系统下如何使用SSD固态硬盘

2016-06-23 11:30 302 查看
Linux下的trim支持叫discard,现在ext4和xfs都支持(btrfs应该也支持),内核需要>=2.6.37,xfs的支持在3.0才比较完善。

具体需要设置这几个方面:

1. 内核

升级到2.6.37以上,最好用最新的3.0。

禁用disk IO scheduler模块。

2. 文件系统表

修改fstab文件,在挂载参数中加上discard;最好也同时加上noatime。

3. 调整文件系统参数

ext4的话最好禁用日志功能,能防止写入额外的数据而减少ssd寿命。

4. 相关文档:

xfs官网对ssd支持的说明

ext4的ssd设置

suse官方对ssd支持的相关说明

12fdisk -H 224 -S 56 /dev/sddfdisk -H 32 -S 32 /dev/sdd
配置固态硬盘(SSD)的Ext 4接着需要关注的就是文件系统。想要优化文件系统删除字节区块的效率,就必须确保小于512K的文件分布在不同的删除字节区块上。要做到这一点,必须 确保在创建可扩展文件系统时指定了需要使用的条带的宽度和幅度。这些值在页面中指定,默认大小为4KB。要创建一个最佳的可扩展文件系统,应该使用如下命 令:

1

mkfs.ext4-Estride=128,stripe-width=128/dev/sda1

如果要修改现有的文件系统的参数,可以使用tune2fs实用程序:

1tune2fs -E stride=128,stripe-width=128 /dev/sda1
配置固态硬盘(SSD)的I/O调度程序
优化的第三个部分涉及到I/O调度程序。该模块是一个决定如何处理I/O请求的核心组件。默认情况下就是非常公平的排队,对于普通的磁盘驱动器来说,这是很好的方案,但对于以期限调度为优势的固态硬盘来说,这并不是最好的。如果你想在系统中对所有磁盘采用期限调度,可以在内核加 载时把elevator=deadline这句话加入到系统引导管理器(GURB)中;如果你只是想针对某一个磁盘,就应该在rc.local文件中加入 类似如下实例的一句话,那么每次当系统重启,期限调度就会应用到指定的磁盘。如下实例将会对/dev/sdb磁盘采用期限调度。

1

echodeadline>/sys/block/sda/queue/scheduler

清理固态硬盘(SSD)中的数据块

最后一个重要的步骤称为“清理”,该操作可以确保在删除文件后相应的数据块真正清空,然后在创建新的文件时才能有可用的数据块。

如果没有清理操作, 一旦数据块空间填满,固态硬盘的性能就会下降。

如果使用丢弃挂载选项,当文件删除后,数据块也会被相应地清除,这样可以显著提高固态硬盘的性能。

 2.6.33以上的内核已经支持清理操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux ssd 固态硬盘