设置新的 (zfs-on-linux) 设置,使用 zpool 作为数据存储(不用于系统),我希望尽可能为最坏的情况做好准备。但由于我没有任何实际的 ZFS 恢复经验,我不知道在这种情况下我可能需要什么。
假设主机系统着火,只有 ZFS 磁盘幸存,我希望能够尽可能简单可靠地恢复池。五年前 stackoverflow 上有一个关于这个方向的答案 (备份 ZFS 池元数据) 指出运行“zpool import”时将自动识别 ZFS 磁盘。“zpool export”的手册页指出:
从系统中导出给定的池。所有设备都标记为已导出,但仍被视为由其他子系统使用。只要有足够数量的设备,就可以在系统之间移动设备(即使不同字节序的系统也是如此)并导入设备。
这让我很疑惑:我是否应该在设置新的 zpool 后始终进行导出,以增加安全恢复的机会?或者是否有任何元数据未写入磁盘,而应该在备份中?
答案1
在日常使用中,您无需手动运行zpool export
。池会在 Linux 启动和关闭过程中自动导入。
但是,只要仍可以访问磁盘,ZFS zpools 就具有可移植性。您无需针对所询问的内容采取任何其他操作。
答案2
如果您有zpool export
一个池,则磁盘所连接的系统将无法再使用它,直到您zpool import
再次使用它。所以您不能经常这样做。它适用于当您知道要通过移动其物理介质将 zpool 移动到某处的情况。
如果您需要导入未正确导出的池(例如因为其所在的服务器已死亡),您只需使用zpool import -f
。