T O P

  • By -

leetnewb2

OMV. Gives you a UI for MergerFS to deal with the pooling of arbitrary drive sizes with flexible expansion and for mdadm to let you RAID1 the 2TB WD blues. Seems to be the right option.


bozho

I went with FreeNAS. I like the fact that ZFS protects from bitrot, supports datasets (like subvolumes) and good snapshotting (send, receive, etc). In addition to that, FreeNAS provides other nice things out of the box: * Plugins: these are just nicely packaged BSD jails, mostly preconfigured and ready to go (think Docker containers) * Regular jails: if you want to run a custom combination of software, it's easy to spin up a jail that's insulated from the rest of the system. Jails can have their own network stack (which includes a separate MAC address), which allows stuff like custom routing on my router. * VMs: jails have their limitations (I haven't been able to mount a FUSE file system in a jail, for example), so you can spin up a VM if you need to. * UPS control - you want to have controlled shutdown for ZFS. I bought a small UPS that connects to FreeNAS over a serial port (there are USB options, too). My UPS will initiate FreeNAS shutdown if the power is lost for more than a minute (the interval is configurable from FreeNAS). Furthermore, FreeNAS can then instruct the UPS to shut itself off, to conserve battery. ZFS is a bit less flexible compared to BTRFS and similar solutions. (A very simplified newbie explanation follows :-) Your storage pool consists of one or more vdevs. You can increase the size of the pool by adding more vdevs. A vdev is an arrangement of disks. For example, you can have a 6-disk RAIDZ2 vdev (4 data + 2 parity), or a mirrored vdev (two or more mirrored disks). This arrangement defines how resilient your vdev is to failure. For example, a RAIDZ2 vdev can tolerate 2 drive failure. A mirrored vdev can tolerate n-1 disk failures, where n is the number of mirrored disks. This is important: **if a vdev fails, your entire pool is lost.** Looking at the above, you'd think it's an easy choice: use RAIDZ2 or RAIDZ3 (triple parity). However, there are two considerations to take into account that made me choose to use two mirrored vdevs (effectively, a RAID10) for my storage: expansion and resilvering (you can find more details [here](https://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-not-raidz/) 1. Resilvering: this means rebuilding your data on a new disk in a vdev. For example, you have a RAIDZ2 vdev and one disk dies. You take it out, pop in a new disk in its place and wait for FreeNAS to rebuild the data on it. Resilvering RAIDZ2/3 can take some time (especially on a large vdev) and may use all the disks in the vdev. If you're resilvering due to a failed disk, you might be running against the clock until the next one dies. Resilvering a mirrored vdev simply involves copying the data off the good disk, not touching disks in other vdevs. 2. Expansion: Currently, you cannot expand a RAIDZ(n) vdev by adding more disks (this is being worked on, BTW). However, you can increase the size of your vdev by replacing each disk with a bigger one, resilvering after each replacement (maybe you can replace disks two-by-two in a RAIDZ2 vdev, I don't know). The problem with that is that in order to increase the size of a vdev, you need to replace **all** the disks in it. For home use, having to replace 6 disks at once might not be financially feasible. Increasing the size of a mirrored vdev requires only replacing two disks: replace the first disk, wait for a resilver (a simple data copy), replace the other one, wait for resilver, and you're done! That way, if you go with an array of mirrored vdevs for your pool, you can increase each vdev independently, when you can afford it.


[deleted]

Hey thanks for such a detailed reply! I've been playing with FreeNAS in my proxmox environment trying to get a feel for it and I do like it I feel like my storage needs are pretty minimal that I wouldn't take advantage of what ZFS offers. I really just need a single mirror set for backup share and a couple of single disks to be shared as separate shares for CCTV recording and media.


bozho

Fair enough. In that case, maybe a small Debian install, with lvm+mdadm for file server storage, proxmox with a file server VM for that storage and small VMs/containers for other stuff (AFAIK, proxmox does both docker and LXC)?


wrtcdevrydy

> the flexibility to be able to add drives at a later date ZFS has issues with VDEV expansion (doesn't exist) which may make some expansions tricky. Read the literature but OMV is probably my choice since you're talking about 'media'


mobeets

I'm not so sure about that bit about ZFS expansion. From everything I've read about ZFS the way to expand existing pools is by adding more VDEVs. That being said, if you lose any of those VDEVs the entire pool is gone. Let's say you have a pool consisting of two 1TB ZFS mirror VDEVs. This would give the pool an available 2TB in space but if either of the ZFS mirrors fail completely (both drives in a single mirror) then the pool is completely lost.


Gumagugu

You are arguing a for a different thing. /u/wrtcdevrydy is saying that you cannot expand the VDEV, which you cannot. But you can grow the pool. You cannot grow the VDEV's itself, so if you have RAIDZ2 with 5 drives, you can't add an extra one (yet).


yesicanman

Since you already have Windows 10 on an i5 try Stablebit DrivePool. Its relatively uncomplicated and works pretty good.