Mirroring existing 1-SSD pool with slightly smaller drive

Yes. This is true, but you already have a stripe vdev right? We could argue about what is safer, replicating your data to another pool… then having only a single copy while building the mirror… or evacuating your data to another vdev… then only having a single copy while building the mirror.

The warning is scary because its trying to encourage you not to do what you’ve already done, which is setup a non-redundant pool.

1. Is this actually what you suggested I do, before removing the first disk’s vdev?

Yes.

2. Also, once I’ve removed the first disk’s vdev and its contents begin to be transferred to the second disk’s vdev, how do I know when the process is complete? This process seems to be resilvering in all but name, but @pmh 's comment makes me think it’s a bit hacky and therefore might not show the normal resilvering progress messages.

Its a clever way to use an existing feature to do what you want. ZFS Device Removal was first promulgated about 10 years ago.

3. Do I need to shut down the jails and VMs that are on the first vdev, as well as avoid writing data to it, while this data transfer process is in place?

No. The device removal proceeds while the pool is online. This is a benefit of doing it this way. The con is that you will have a removed device table in memory until all blocks that were originally on the now removed device are eventually rewritten as part of normal pool churn. Of course, that may never happen.

4. My current vdev is GELI-encrypted and has not just data on it, but also a VM on a ZVol. Will any of this cause problems with your method?

I’m sorry I didn’t notice the GELI detail upfront, in theory it shouldn’t matter, but I have no idea what the actual effect of GELI will be. Its possible the new vdev won’t be encrypted… and the old one will be removed. or not.

I expect it will work if you do everything by the GUI, but I don’t know, and I have never used GELI… which is also deprecated… and you will want to remove it before migrating to SCALE as well.

My understanding is that GELI is whole-device encryption which is applied at a layer below ZFS, thus replacing a GELI encrypted disk with a non-encrypted device would mean the new disk is not encrypted.

1 Like