Ubuntu 系统 SSD固态硬盘检查4K对齐以及开启Trim

发表于 Linux 分类,标签: ubuntulinuxtrim4k对齐cron

    最近在折腾Ubuntu系统,想工作上能更专注一些,下面是一些经验吧算是。

  0x00

         查看SSD以及系统环境是否支持Trim

        系统需要满足如下条件才能开启trim

            1. 系统内核版本大于等于 2.6.33
            2. 所用的 SSD 支持 Trim

            3. 分区格式为 ext4(或 BTRFS)

       对于ubuntu14.04,内核版本已经升级到4.x,系统层面支持不是问题

       对于查看SSD是否支持Trim可以采用下面方法验证

        如下面的输出即是支持的,输出中明确supported

        loong@LOONG:/etc/cron.weekly$ sudo hdparm -I /dev/sda | grep "TRIM"
        [sudo] password for loong: 
       *    Data Set Management TRIM supported (limit 8 blocks)


   0x01

        Ubuntu系统从14.04已经默认对知名的SSD固态硬盘做了每周的定时Trim

   具体支持哪些固态硬盘可以参考 http://askubuntu.com/questions/18903/how-to-enable-trim ,由于使用的是系统cron的定时命令执行,我们不必担心某一周执行时机器关机。

  如下,在cron.weekly里有相关配置

  
loong@LOONG:/etc/cron.weekly$ ls
0anacron  apt-xapian-index  fstrim  man-db  update-notifier-common


 而fstrim脚本内容即为执行trim的命令,如下

loong@LOONG:/etc/cron.weekly$ cat fstrim 
#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e
# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g.  https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all

0x02

    所有的linux系统可以采用在ext4分区增加discard选项方式增加trim支持,但是效率较低,已经被Deprecated ,不建议使用

    开启方法为在/etc/fstab中要支持trim的分区增加discard参数,如下

UUID=f0c140a1-3118-4bdf-a4b9-9d9ca13c11d6 /               ext4    discard,errors=remount-ro 0       1

0x03

    判断trim是否生效

     可以参考http://askubuntu.com/questions/18903/how-to-enable-trim 中的方法 


0x04

    关于SSD分区自动对齐

   用SSD的都应该知道,SSD分区是否进行4k对齐对性能以及SSD寿命的影响巨大,那么在分区时就需要注意,下面是分区方法以及验证是否4K对齐方法

   下面引用自http://www.slblog.net/2013/07/enable-trim-and-perform-4k-alignment-in-ubuntu/

先说说这个 4K 对齐。有人说用 GParted 直接分区会自动进行 4K 对齐,而更普遍的说法则是分区时在 “Free Space Preceding” 处填上一个整数(比如1或2,如下图)。我使用了后面那个方法,因为我是装完系统才知道前面那个(更新:经测试前面那个方法是有效的)。

GParted_New

测试是否 4K 对齐很简单,在终端运行 $sudo fdisk -l 然后查看各分区的起始扇区,如果是8的倍数则表明该分区已经“4K 对齐”了(如下图,Start 一栏的数值全部为8的倍数)。

4K_Alignment


0x05

    总结

如上即是在Ubuntu优化(折腾)过程中关于硬盘的优化部分了,其中学到了

  1. 查看4k对齐的方法,还好新分的分区已经是对齐过了的,应该是ubuntu系统在安装时格式化已经处理了这个问题

  2. linux系统中定制执行的cron机制,可以利用这个做些类似windows系统下计划任务的事情


0x06

    参考文档

  1.http://www.slblog.net/2013/07/enable-trim-and-perform-4k-alignment-in-ubuntu/

   2.http://askubuntu.com/questions/18903/how-to-enable-trim

0 篇评论

发表我的评论