0

I have a ZFS pool that contains 3 disks mirroring each other. I would like to be able to take one of the disks and store it offline and offsite for a few months then re-introduce it to the pool, sync the data, take another drive offline and repeat. This scheme will always leave 2 drives active in the ZFS pool. Sending the data to another server is not an option. I would like the data on the disk that will be taken offline to be available if I ever need to access that backup (say the server burns down or something catastrophic). I would also like to still be able to monitor the health of the ZFS pool in case one of the 2 active drives starts to have issues. ZFS dataset encryption will be used on all 3 drives.

  1. What is the best method to accomplish this? Would the ZFS "offline" command be sufficient to take one of the disks offline and then simply bring it back "online" at a later date to re-sync the data? Would the data on the offlined disk be available using this method if I ever need to access it?

  2. Would ZFS complain about the offlined disk using this method? I basically want to be able to check on the health of the pool with the 1 disk removed in case any of the 2 remaining drives fail.

  3. Any foreseeable issues if I use ZFS native encryption for the datasets in the pool using this schema? I am thinking if the server burns down, would I have any issues decrypting the data on the remaining drive in the future?

Thanks for your help!

1
  • 1
    Why bother? Use snapshots and/or bookmarks + zfs send to do a proper backup.
    – Daniel B
    Commented Dec 27, 2021 at 20:47

1 Answer 1

1

Would the ZFS "offline" command be sufficient to take one of the disks offline and then simply bring it back "online" at a later date to re-sync the data?

Yes. Offline a disk before removing it, is the way you tell ZFS where the active data are. An off-lined disk re-plugged later will be updated with the new data from the pool.

Would the data on the off-lined disk be available using this method if I ever need to access it?

Yes. Just import it on another ZFS system, but beware:

  • As a lone disk from a mirror, it will be imported as a faulted pool, and if the disk is damaged, you will had corruption (or nothing)
  • If you did not import in read-only mode you will break the «relation» with the source pool and get troubles if you put the disk in the source pool after writing on it somewhere else.

Would ZFS complain about the off-lined disk using this method?

Yes. An offline disk put the pool in degraded status

I basically want to be able to check on the health of the pool with the 1 disk removed in case any of the 2 remaining drives fail.

It depends what you expect by «able to check», and note that «removed» is not the same as «offlined» in ZFS context.

IMHO, do not plan to move disk in a regular process if you expect data integrity. Disk are not meant to be moved frequently. This looks like a «tape backup» with ZFS disks instead of tapes…

Keep in mind that storage is not backup:

  • Storage is hardware
  • Backup is a process (using hardware, software, strategy, etc.)

A ZFS pool is just storage, do not plan to move disk with live data until you are in disaster recovery plan.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .