Hey guys! I got my home lab setup going nicely now. One mirror vdev ZFS for my Nextcloud, granting very good performance! Small question though: I got two extra drives now and was thinking if it is worth it adding it already as extra mirror vdev. My question is the following:

Will resilvering of a single disk be quicker if I have my data striped over two mirror vdev than if all my data is in a single mirror vdev?

In other words, I was wondering in that sense if it is safer to replace a disk due to shorter resilver?

  • @MSgtRedFox
    link
    16 months ago

    Short of, yes.

    If you have two 8TB drives in mirror, oddly, ZFS doesn’t move the existing data when you add a second vdev of two drives. All newly written data will be stripped across both sets. If you want your existing data stripped, you have to move it back on.

    As for rebuild(resilver), the data on the other device in the vdev and CPU power rebuilds the missing data.

    If you have less data on each vdev, then only then could you consider it faster than if the vdev had more data on it. You are basically making the point that restoring less data is faster than more data.

    People usually end up with more data as they expand a pool. This makes rebuild slower.

    If you plan on lots of data, or want more protection, use z2. If you need performance like hosting VMs or databases, then use mirrors.

    • @jh0wlett@discuss.tchncs.deOP
      link
      fedilink
      16 months ago

      I think for now that should be fine. I got daily cloud backups, and got a way to remotely turn off the PC if a disk degrades or faults. I might also even get a disk as hot or cold spare just to be sure. With 2 mirrors I got quite a bit of performance, and in a sense better off than with a single mirror.

      I’m using the storage to host Nextcloud, and the performance was just not really good enough with a singular disk of speed. I’m hosting it for me and the wife so we can both share pictures with each other without needing a privacy invasive third party :)