4

I am planning to install Kubuntu onto an SSD, but have /home mounted on a hard disk drive.
But also, I would like some /home/... subdirectories to benefit from SSD's performance (they will be read often and written rarely).

An obvious solution for this is to create symbolic links to some location on the solid-state drive.
However, I was under the impression that symlinks are similar to files in a way, and to get to the files on the SSD, the computer would have to read the symlink from the HDD first.

So my question is the following:
Do symbolic links from a (normal) hard disk drive to a solid-state drive (both ext4 formatted) lead to a significant performance hit? Can I just use them or should I look for another solution?

4

No, it does not lead to a performance hit. The link has to be read, but only once. After that it will be kept in the cache.

| improve this answer | |
  • 2
    That's nice to hear, but can you provide some references/proof? – Oleh Prypin Dec 1 '12 at 20:50
  • 1
    There are two exceptions, Recursive links (i.e. /filea links to /fileb that links to /filea) and when the HDD is spun down (it will take time to spool drive). But there is no performance hit on links themselves. – coteyr Dec 1 '12 at 20:59
  • this reference says something that makes sense, after the file have been opened it doesn't matter if it was found using a symlink or not, the inode is already open and now OS will use the stream connection. – deFreitas Dec 25 '18 at 3:02
  • This is another good reference – deFreitas Dec 25 '18 at 3:03
2

You could keep the whole of /home in SSD, and mount only the Documents, Pictures, etc in the harddisk. Consider this solution as in my computer:

/disk/zero/bin /home/sddhrthrt/bin      auto bind 0 0
/disk/zero/Documents /home/sddhrthrt/Documents  auto bind 0 0
/disk/zero/dotfiles /home/sddhrthrt/dotfiles    auto bind 0 0
/disk/zero/srv      /home/sddhrthrt/srv         auto bind 0 0 

in your /etc/fstab. I'm not sure if this is better than symlinking, but I guess it performs better. (I did it for backup/sharing purposes anyway, because I do the same folders with other distros too).

And you should consider mounting your /var in the harddisk if you haven't already.

| improve this answer | |

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.