Recommended partition layout? I am having a hard time deciding

so a bit of history - I used to use Antergos (I’m sure some here will remember) then switched to EOS. During this time there were a few occasions when I had to reinstall the OS (due to things breaking I couldn’t fix etc) and I felt that having a separate home partition would’ve helped.

Then I found out about Btrfs and subvolumes and how its usual install has different subvolumes.

But I’m still not 100% sure on whether this is supported and how to take advantage of it. e,g when you do a fresh install do you select ‘manual partitioning’ and then choose the existing /home or @home subvol and somehow mark it as ‘leave alone’?

How does this work in new EOS which uses systemd-boot? All the howtos I’ve read say that once you change partition info in etc/fstab you remake the grub config.

I also have questions on Btrfs. I’ve read POLL: Which file system in 2022. ext4, btrfs, xfs, zfs, f2fs (choose 1) and still can’t decide.

TLDR -

  • do you recommend a separate /home partition and does it help when reinstalling etc? if so what is recommended size of /? is 10-15GB enough?
  • do you recommend Btrfs instead?

I personally don’t recommend it but many people do prefer it. It is a personal preference.

This is the primary downfall of having separate partitions. You have to manage the partition sizes manually and hope you get it right or and up trying to resize later which carries risk of data loss.

If you want the benefits that btrfs brings and are willing to spend the time setting it up, it is a great choice. Otherwise, stick with ext4 or xfs.

1 Like

Btrfs promises dynamic resizing of subvolumes, correct? I don’t see this mentioned much vs the CoW snapshots which seems to be the highlight.

Also the checksumming/self repair features, how useful in practice are they? i.e. do they really present some real advantages over running fsck on ext4, for that matter I’ve never needed to run fsck, but on Btrfs you need to setup scrub/balance?

I did try the Btrfs implemented on GarudaLinux which you may be involved in? The pacman hooks/grub integration works well, basically its a zero config install.

It seems to setup the same layout as done on OpenSuse/Fedora and EOS which seems to be the standard in Linux now and also has it integrated into grub. Now that EOS uses systemd-boot, I dont think this is possible here?

I was also thinking that if I had a Btrfs server (for backup) then it’d have more advantages? And on Arch I really like the idea of snapshots and being able to recover in case things break.

Am I also correct that there will be no perf differences noticeable? Which one if any has less impact on ssd? I’m using an old Thinkpad that came with a used ssd.

If you don’t set up multiple disks BTRFS can’t recover data automatically, only report problems.

The subvolumes exist in the same partition so they basically share space.

Yes and no. Garuda is highly opinionated so over there everything is setup for you the way Garuda thinks it should be.

However, you still need to schedule and configure the maintenance tasks such as running regular balance and scrub operations.

There is no standard. EOS and Garuda use different layouts.

Many distros appear to use the same layout because they are taking the defaults from Calamares.

EOS lets you choose between systemd-boot and grub in the installer. If you want to boot off of snapshots, simply choose grub. The installer also mentions this on the screen where you choose a bootloader.

Yes, you could take snapshots locally and then replicate them to the server as part of a backup strategy.

Most people won’t notice the performance difference for an average desktop use case.

ext4

2 Likes

I’m not recommending this but wanted to show what my partition table looks like. It’s my personal preference and having a separate /home has saved me behind a couple of times. but again take in the advice, search a lot, and decide for yourself what to do.

image

I always use a separate home Partition. My personal experience is, that / should not be under 40GB, currently I have 60GB which is solid for me (I have a 1TB nvme disk for Linux and a 4TB data SSD for other stuff - the 1TB nvme is partitioned as follows: 500MB /boot/efi ; 60GB /; 8GB swap; remaining space: /home).
But the size of / heavily varies with what you want to install and how you install it, and how clean you keep your /var (especially pacman cache) .
If you are going to install a lot of stuff from the repo’s and AUR, / should be bigger.

Your /home should not be too slim either, especially if you want to install many games through Steam or Lutris and have no other fast enough drive in your system or have many videos and music and stuff you want to save in there.

It depends on how you use it. If you have lot of personal data on it, it might be wise to have a partition.

I used to have separate /homepartition, but never had any real use because I use it only for configs and virtualbox images, have all my data on mechanical drives.

It is quick enough to back up /home, even with the virtualbox folder.

I have 2 old ThinkPad laptops, 128 and 480gb ssd. So I guess I can think about separate partition in the bigger one.

in my experience, whenever possible it is wiser to have separate DISKS (not just partitions) for OS and data.
When this is not possible due to hardware design limitations, the least perilous path is to isolate /home and then backup ‘system’ consistently.

1 Like

I prefer a separate /home partition. On my notebook with a 500GB SSD I use ext4 with the following partition scheme:

$ lsblk -l
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda    8:0    0 465.8G  0 disk 
sda1   8:1    0   500M  0 part /boot/efi
sda2   8:2    0  68.4G  0 part /
sda3   8:3    0 385.2G  0 part /home
sda4   8:4    0   9.8G  0 part [SWAP]
sr0   11:0    1  1024M  0 rom  

Simple and serves me well. YMMV.