在线将 zpool 转换为 GELI 加密卷
昨天测试成功,下面是大致过程。
做转换的 pool 要符合几个条件:
- 所有设备必须都做过 4k 扇区处理,或原本用的就是 4k 扇区;
- 所有设备均有冗余,也就是说可以 offline。如果使用的 zpool 是 raidz, raidz2, raidz3 或 mirror 就没有问题;非冗余的 log 和 cache 设备也是可以的;
- 磁盘上必须有与数据存储区邻接的未分配空间,或可以腾出这样的空间,且不小于 4k。
大致过程如下:
- 用 zpool offline 将设备 offline;
- 用 gpart resize 调整分区尺寸;
- 创建 geli 设备;
- 用 zpool replace 替换之前 offline 的设备;
- 待 resilver 完成之后,对下一个设备重复此操作。
另外想了一个在线转换的方法,等有时间实现一下看看。