nix-config icon indicating copy to clipboard operation
nix-config copied to clipboard

QUESTION : Why use a btrfs blank snapshot instead of tmpfs ?

Open Nandicre2 opened this issue 3 years ago • 10 comments

Just asking, because i tought that snapshoting was bad for the SSD longetivity.

Nandicre2 avatar Feb 25 '23 09:02 Nandicre2

Hello!

I'm actually considering moving back to ext4+tmpfs, because of simplicity mostly.

Btrfs does have a couple of goodies that might make it worth using:

  • Snapshots: useful to have lightweight "backups" (for human error situation, that is) for your data
  • Transparent compression: shaves off about 20-30% storage with negligible performance impact
  • Subvolumes: you can have logical volumes within the same physical partition, making it pretty painless to organize stuff into different mountpoints if needed

Misterio77 avatar Feb 26 '23 03:02 Misterio77

(sorry for the open and close, was answering from my phone)

I'm actually considering using both : tmpfs as root and everything else on btrfs. I found this blog post and I think I'll go this way

Nandicre2 avatar Feb 26 '23 08:02 Nandicre2

would https://github.com/nix-community/disko not help with the "its complicated" part? didn't checked it out yet.

luxus avatar Feb 26 '23 18:02 luxus

would https://github.com/nix-community/disko not help with the "its complicated" part? didn't checked it out yet.

Didn't checked it out either. I've seen it mentioned on the forum but i don't want to mess with it now. Maybe later

Nandicre2 avatar Mar 02 '23 18:03 Nandicre2

would https://github.com/nix-community/disko not help with the "its complicated" part? didn't checked it out yet.

Disko is pretty cool. Moving my setup to it is definitively on my todo-list.

Misterio77 avatar Apr 21 '23 20:04 Misterio77

My issue with tmpfs is that you have to specify a size for the tmpfs root or be limited based on your RAM. Tmpfs defaults to half your system RAM (I believe). Some guides set tmpfs to 2GiB (example), but that means that you can only have up to 2GiB of files on root outside of the files you have persisted on a separate partition. Btrfs' logical volumes avoid this by having automatically resizing subvolumes so I never have to think about the size of individual subvolumes.

omernaveedxyz avatar May 03 '23 02:05 omernaveedxyz

(sorry for the open and close, was answering from my phone)

I'm actually considering using both : tmpfs as root and everything else on btrfs. I found this blog post and I think I'll go this way

Nice post! Wish I'd found it sooner! No really, I went with btrfs because it's really cool, I could make a raid with it without LVM it has compression (really 0 performance decrease with raid0) and...COW! ;) Plus yeah some snapshotting for backup purposes do no harm I guess! ;) not to /nix of course, but /home and maybe /persist (especially when I'll wipe out even home at boot - the original post doesn't but I'll go for it once my home-manager configuration is really solid).

NerdHusky avatar May 24 '23 23:05 NerdHusky

My issue with tmpfs is that you have to specify a size for the tmpfs root or be limited based on your RAM. Tmpfs defaults to half your system RAM (I believe). Some guides set tmpfs to 2GiB (example), but that means that you can only have up to 2GiB of files on root outside of the files you have persisted on a separate partition. Btrfs' logical volumes avoid this by having automatically resizing subvolumes so I never have to think about the size of individual subvolumes.

That I didn't know and if it's true it really sucks because I'm already using zram xD.

NerdHusky avatar May 24 '23 23:05 NerdHusky

I have been using tmpfs for a while, and to be honest it has its quirks, see for example https://github.com/nix-community/impermanence/issues/124 . This issue is not present when root is on btrfs.

threddast avatar May 30 '23 17:05 threddast