SSD+HDD Partitioning in Linux

I searched earlier on internet about this but it's still confusing for me. I have a 500GB SSD and 2TB HDD and I have this scheme but I don't know how big I need to make the each partition:

  • Solid state: / (root filesystem), /usr, /usr/local, /opt
  • Spinning disk: /var, /home, /tmp, swap

Please help me and thanks in advance!

2 Answers

You're overcomplicating things.

Don't separate /usr and /opt, it's pointless. If you wish to have all of them on single disk, just create a single SSD partition for / and you're done. You don't have to worry about partition sizes.

Separating /var is also pointless, same with /tmp which is regularly emptied on modern OSes so it won't eat up a lot of your SSD's space (on a 500 GB disk you won't even notice).

Modern recommendation for swap is usually 4 GB if you don't need hibernation, otherwise you'll need at least as much as your RAM because it will be dumped into swap on hibernation. I'd recommend to put it on SSD too because it will significantly improve swapping performance. Modern SSD's longevity won't be affected noticeably. Note that by default Ubuntu will create a swap file in filesystem root instead of using a partition.

That leaves entire HDD for /home.

If you're going to use EFI boot, which is highly recommended because it's been a standard for a decade or so, you'll also need an EFI System Partition (ESP). In Ubuntu it's mounted under /boot/efi. 300 MB is usually sufficient, but you may want to play it safe and assign 500 MB or even 1 GB to it to make it future-proof. Some distros, for example Pop_OS (derivative of Ubuntu) have transitioned from GRUB2 to more modern systemd-boot combined with kernelstub. Such distros have to copy entire kernel+initrd into ESP and those can take up quite a lot of disk space. I'd place this partition on SSD too to keep system things on more reliable and quiet flash storage (and to keep system stuff together, separated from /home).

Summary

SSD:

  • EFI System Partition - 500 MB or 1 GB
  • Swap - 4 GB
  • / - entire space left

HDD:

  • /home - entire disk
4

Another alternative is:

Use the SSD for:

  • / (root OS) - 20-50 GB should be plenty for any modern linux depending on what applications you plan on using
  • /boot/efi (1 GB)
  • swap (1X RAM)
  • any additional fast data storage you may need

and the HDD for:

  • home (data)
  • anywhere else you need a large amount of relatively slow storage

LVM will make this process easier to manage but does have an initial learning curve. Another advantage to using LVM is you could reserve a small portion of your SSD (fast) to cache rust drive partitions (slow) providing an accelerator.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like