Consider this sharing of information rather than a guide or tutorial. It's what I ended up settling on today after reading the many guides about this topic on the internet. I settled on a fairly current guide for RHEL 7 so most of this is duplicating that information.
Installation works much the same way as to a mechanical drive. You plug in the USB thumb drive or insert the optical media and go through the normal setup routine (see the note at the end of this post regarding partition alignment which is actually something you should have been doing with mechanical AFT drives too). The major difference being a couple of tweaks you can apply afterwards to reduce writes and maintain drive health.
Most modern SSD drives have firmware that features garbage collection which supposedly negates the use for running TRIM if an OS doesn't support it. Garbage collection occurs when the system is idle but takes a while to complete. TRIM on the other hand can be scheduled simply by enabling the fstrim timer these days in Fedora. So it's entirely optional whether to use garbage collection or TRIM.
1. switch off timestamp writes every time a file is accessed
with root rights edit /etc/fstab and add noatime to each drive entry string:
before
Code:
/dev/mapper/luks-419802a7-681c-435f-898d-47aa52b2d20a / xfs defaults,x-systemd.device-timeout=0 0 0
UUID=bbedb204-f646-4b38-a8b1-05ea18b4b3e1 /boot ext4 defaults 1 2
UUID=CCDF-0ED0 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/luks-3df3f1c3-f240-4577-b635-27b9d8d2afd7 /home ext4 defaults,x-systemd.device-timeout=0 1 2
/dev/mapper/luks-9db12648-093a-4b66-9c1a-943e6edcccb2 swap swap defaults,x-systemd.device-timeout=0 0 0
after
Code:
/dev/mapper/luks-419802a7-681c-435f-898d-47aa52b2d20a / xfs noatime,x-systemd.device-timeout=0 0 0
UUID=bbedb204-f646-4b38-a8b1-05ea18b4b3e1 /boot ext4 defaults 1 2
UUID=CCDF-0ED0 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/luks-3df3f1c3-f240-4577-b635-27b9d8d2afd7 /home ext4 noatime,x-systemd.device-timeout=0 1 2
/dev/mapper/luks-9db12648-093a-4b66-9c1a-943e6edcccb2 swap swap noatime,x-systemd.device-timeout=0 0 0
2. optional if your drive's firmware can run garbage collection - find out if your drive supports TRIM and permanently enable the fstrim timer using the following command with root rights:
a. first find out if your drive supports trim
Code:
su -c 'hdparm -I /dev/sda' | grep TRIM
b. if it does run this command to enable the timer
Code:
systemctl enable --now fstrim.timer
3. Limit swap usage by editing /etc/sysctl.conf with root rights and adding the following two entries:
Code:
vm.swappiness=1
vm.vfs_cache_pressure=50
save the changes and return the the terminal. then make them active by issuing the command
4. Finally, enable an SSD friendly I/O schedule mode by adding elevator=deadline to the kernel boot parameters with grubby:
Code:
sudo grubby --update-kernel=ALL --args='elevator=deadline'
NB - partition alignment during OS installation. I cheated here and set them up as blank partitions in Windows 8 after shrinking my data partition to make space for Fedora using the Disk Management Tool. This ensures the new partitions are properly aligned to 4K clusters.
to align partitions manually in Fedora please refer to stevea's possibly out of date in parts but very comprehensive guide.
sources:
http://www.certdepot.net/rhel-7-extend-life-ssd/
stevea's guide - http://forums.fedoraforum.org/showpost.php?p=1559050