[Help] Which modules for BTRFS or ZFS setup with Ansible?
from Tywele@lemmy.dbzer0.com to selfhosted@lemmy.world on 28 Apr 20:22
https://lemmy.dbzer0.com/post/19310015

cross-posted from: lemmy.dbzer0.com/post/19310012

Hello,

I need some help here. I’ve been trying to write my own Ansible playbook to setup my homeserver. The storage devices on this server are 1 NVMe SSD and 2 HDDs which I want to setup as a mirror. I want to setup all storage devices as either BTRFS or ZFS but I’m having trouble finding the correct modules to use in Ansible for this.

I have also found some roles in Ansible Galaxy but those are either not explained enough for me to use and seem overwhelming to use (especially in comparison to the terminal commands that are needed to setup the BTRFS volumes or ZFS pools). But just using the builtin command module in Ansible somehow feels wrong and not the right way to go about this.

Can someone point me in the right direction? Right now I think I will prefer using BTRFS.

#selfhosted

threaded - newest

Max_P@lemmy.max-p.me on 28 Apr 23:10 next collapse

There’s always the command escape hatch. Ultimately the roles you’ll use will probably do the same. Even a plugin would do the same, all the ZFS tooling eventually shells to the zfs/zpool, probably same with btrfs. Those are just very complex filesystems, it would be unreliable to reimplement them in Python.

We use tools to solve problems, not make it harder for no reason. That’s why command/shell actions exist: sometimes it’s just better to go that way.

You can always make your own plugin for it, but you’re still just writing extra code to eventually still shell out into the commands and parse their output.

possiblylinux127@lemmy.zip on 28 Apr 23:37 next collapse

For one, use BTRFS as it is built in and doesn’t break with updates. (Btrfs does have limitations)

For ansible, just format the disks from the command line. (You can run commands from ansible)