How do I install Ubuntu on a SSD with HDD for data?

Solution 1:

Install Linux to the SSD (100GB is much more room than needed) after configuring your machine's BIOS to set the SSD as sda and the HDD as sdb, and make the SSD (sda) the boot drive.

When the installation process comes to partition, set up both drives with the default filesystem ext4 - and swap goes at the back of the HDD as per normal. You can also revised that after installation ends with the Gparted utility of Ubuntu.

Leave about 10%-20% of the space on the SSD unallocated, for as the SSD ages, specific addresses will fail, and the SSD will automatically block those and replace them with addresses in the unallocated space. Also, this “Over-provisioning” boosts an SSD’s sustained write performance by allocating temporary space as discussed at http://www.tweaktown.com/reviews/5822/sandisk-x210-256gb-business-class-ssd-exploring-overprovisioning/index.html . The ext4 partition on the SSD should be about 80-90% of the total space, or 103GB-115GB, with about 13GB-25GB left unallocated, outside that partition.

After installation, modify the filesystem by editing /etc/fstab to put /tmp /var and /home on sdb along with swap, and add the ,noatime parameter to sda , then save and reboot.

The purpose of noatime is to disable timestamping of file reads which cuts down the number of I/O ops. Should a program need timestamping then remove noatime which in Ubuntu will default to relatime instead which keeps the timestamps more or less accurate with only a slight uptick in I/O.

A good detailed article on the subject can be found at https://wiki.debian.org/SSDOptimization and examples of what /etc/fstab should look like may be seen at https://wiki.archlinux.org/index.php/SSD#noatime_Mount_Flag and at http://forums.debian.net/viewtopic.php?f=16&t=76921