ZFS, btrfs, LVM with VMs and backups

I am playing with a few home lab solutions, basically jumping between container and vm solutions. I realized Proxmox was creating lvs in lvm and passing them to the vms. How slick. I heard about these features with ZFS ZVOLs, where you could snapshot and send it to another host, basically replicating the VMs filesystem. And that’s the thing, I really like having the btrfs and ZFS send options, especially for my backups. With a ZFS NAS to round it out, it seems like the perfect solution.

So, does Btrfs have a solution like this for VMs? I’m just work shopping the ideal home lab, NAS and even workstation setup. It seems ZFS is the way to go, but I cannot seem to verify similar Btrfs capabilities.

Edit: to be clear, I don’t need a turnkey system. I have generally created the systems by hand, but right now I have some turnkey systems in place plus restic backups. I was simply curious about Btrfs abilities like a subvolume for a VM and then being able to send it, much like ZFS ZVOLS (which I haven’t tested, only read about).

1 Like

https://btrfs.readthedocs.io/en/latest/btrfs-send.html

btrfs does have send capabilities, but I think you’ll find that ZFS is more robust.

I believe it’s also possible to use the “preformatted fs” storage pool type (libvirt) with btrfs subvolumes and use subvolumes as VM root filesystems.

I’m not aware of any solution that ties both of these together in a nice interface except for maybe Rockstor or Synology NASes. I can think of a couple that do the same thing for ZFS.

I’d tend to agree Synology has done a pretty good job with BTRFS making it quite easy to use but I still wish mine had ZFS instead. :slight_smile:

@Camerontainium I’m doing the same as you with trying different home lab solutions to see what works well and what doesn’t. I’m doing this right now to help others moving from typical NAS boxes to something a little bigger with more control.

Example using Proxmox VE with controller/HDD passthrough to TrueNAS Scale VM or containerized. That gives you nice menus to work with to create ZFS storage pools, vdevs, datasets as well as file, block and object protocols and decent user, group & permission management as well as really great virtualization that work well together. This allows for HA clustering as well as use GlusterFS & CephFS if needed.
From there it’s just a matter of picking the apps you need.

You could use TrueNAS apps and containers but these can be separated out to another container running under ProxMox VE with a nice Portainer menu system. Both of these are Debian based and so could the docker or Kubernetes containers.

I’m shooting for a modular approach so any one peice could be switch out such as Xen Project or even Hyper-V for ProxMox VE. If you didn’t want to use TrueNAS you could install Cockpit right in the ProxMox OS system along with a few plugins for it. 45 Drives has a few nice plugins for Cockpit including ZFS.

So I’m sort of doing something similar to you but my playbox consists of over 70 SAS disks plug SATA, SSD and NVMe with 4 shelfs. So with the storage I’m using BTRFS isn’t in the cards. For now I’ll keep that on the Synologies I’ve got. :slight_smile:

Let me ask you this. Why would you want to use BTRFS over ZFS? You’re going to take a speed hit with either on your first set of disks (vdev) until you start striping vdevs improving performance. ZFS is a lot more mature, has easier control and simple command lines (or gui) to use with more features from my experience that make snapshots, backups and replication a lot easier.

I enjoy experimenting as much or more than the next guy and would suggest setting up some small test cases to see how btrfs will work compared to zfs. I’d not worry about speed but function on something small scale to test features you want to have. Try playing around with snapshops and rsync for example which is a powerful combination for certain things.

I have the feeling you’ll like idea of BTRFS but love the functionality of ZFS.

PS if you want to see a pretty good implementation of BTRFS have a look at a Synology NAS or try installing Xpenology (older clone) on a PC or in a VM.

Sorry for the late response.

I hear you on a lot of this. Much of this are things I would also consider in the right config, like the pass through and using TrueNAS.

Regarding why BTRFS, it’s only because it’s so we’ll supported in the Linux ecosystem. I know ZFS is better, but as of right now, I have a really old Synology and keep to some older tools.

I do have a crazy thought though. I run Proxmox with a Lenovo P50S at the moment. I have an unused Razer Core X. Maybe I should get a pie sata controller and use that for my storage??? Then I can migrate my storage…

Preformatted FS May be exactly what I am looking for. I’m actually just wondering if Btrfs has all the coolness of ZFS, and if this feature exists, well… It still won’t be as cool. But it’d help!