Ben's notes

Linux, Unix, network, radio...

User Tools

Site Tools


Correct way to enable trim

Use a more recent kernel. Full support for TRIM was not added to the Linux kernel until version 3.7. But… since TRIM is officially supported on CentOS 6, you could assume that RH have backported all the necessary fixes for it to work properly.


Realtime discards can slow down performance, use scheduled fstrim instead.

Discard mount option

If you don't want to configure a scheduled fstrim job, add 'discard' to mount options in /etc/fstab.

/dev/mapper/vg-lv_root  /                       ext4    defaults,noatime,discard,commit=60 1 1

Scheduled trim with fstrim

For example, configure a weekly fstrim job. Create /etc/cron.weekly/fstrim. This script will run fstrim on ext filesystems which are non removable and not rotational.

#this script will run weekly, will overwrite log.

echo > $trimlog
for mount in `lsblk -ro "rota,rm,fstype,mountpoint" | egrep "0 0 ext[2|3|4]" | cut -d " " -f4`; do
  printf "`date` - `fstrim -v $mount`\n" >>$trimlog


Edit /etc/crypttab and add the discard option.

# <target name>    <source device>    <key file>       <options>
sda2_crypt         /dev/sda2          none             luks,discard


Edit /etc/lvm/lvm.conf and enable issue_discards. The “discard” options with on-disk-cryptography (like dm-crypt) have drawbacks with security/cryptography. See crypttab(5).

issue_discards = 1

Update initramfs

  • Update the initramfs.
    dracut -f
  • reboot


Test with lsblk, DISC-GRAN and DISC-MAX should not be '0B' for SSD backed partitons and filesystems.

$ lsblk -D
sda                          0      512B       2G         0
├─sda1                       0      512B       2G         0
└─sda2                       0      512B       2G         0
  ├─vg-lv_swap (dm-0)        0      512B       2G         0
  ├─vg-lv_root (dm-1)        0      512B       2G         0
  ├─vg-lv_var (dm-2)         0      512B       2G         0
  └─vg-lv_home (dm-3)        0      512B       2G         0
sdc                          0        0B       0B         0
└─sdc1                       0        0B       0B         0
correct_way_to_enable_trim_for_ssd_s_on_centos_6.5.txt · Last modified: 2014/05/26 10:01 by admin