我有一个 ZFS 池,其中包含 3 个相互镜像的磁盘。我希望能够取出其中一个磁盘并将其离线存储几个月,然后将其重新引入池中,同步数据,使另一个驱动器离线并重复。此方案将始终使 2 个驱动器在 ZFS 池中处于活动状态。将数据发送到另一台服务器不是一种选择。如果我需要访问该备份(例如服务器烧毁或发生灾难性事件),我希望将要离线的磁盘上的数据可用。我还希望仍然能够监控 ZFS 池的运行状况,以防 2 个活动驱动器中的一个开始出现问题。所有 3 个驱动器都将使用 ZFS 数据集加密。
实现此目的的最佳方法是什么? ZFS“脱机”命令是否足以使其中一个磁盘脱机,然后在以后将其重新“联机”以重新同步数据? 如果我需要访问脱机磁盘上的数据,是否可以使用此方法获取它?
ZFS 是否会对使用此方法的脱机磁盘提出投诉?我基本上希望能够在移除 1 个磁盘的情况下检查池的运行状况,以防剩余 2 个驱动器中的任何一个发生故障。
如果我使用此模式对池中的数据集使用 ZFS 本机加密,会有什么可预见的问题吗?我在想,如果服务器烧毁了,我将来解密剩余驱动器上的数据会有什么问题吗?
感谢您的帮助!
答案1
ZFS 的“离线”命令是否足以使其中一个磁盘脱机,然后在稍后将其重新“在线”以重新同步数据?
是的。在移除磁盘之前将其脱机,这是告诉 ZFS 活动数据在哪里的方法。稍后重新插入的脱机磁盘将使用池中的新数据进行更新。
如果我需要访问离线磁盘上的数据,是否可以使用此方法获取数据?
是的。只需将其导入另一个 ZFS 系统即可,但请注意:
- 作为镜像中的单个磁盘,它将被导入为故障池,并且如果磁盘损坏,您将会遭受损坏(或什么都没有)
- 如果你没有导入只读模式如果您在其他地方写入磁盘后将其放入源池,则会破坏与源池的“关系”,并会出现麻烦。
使用这种方法时 ZFS 会对离线磁盘提出抱怨吗?
是的。离线磁盘使池处于降级状态
我基本上希望能够在移除 1 个磁盘的情况下检查池的运行状况,以防剩余 2 个驱动器中的任何一个出现故障。
这取决于你期望«可以检查»,并注意在 ZFS 上下文中“已删除”与“已离线”不同。
恕我直言,如果您希望数据完整,请不要计划定期移动磁盘。磁盘不适合频繁移动。这看起来像一个“磁带备份”使用 ZFS 磁盘代替磁带……
请记住贮存 不是 备份:
- 存储是硬件
- 备份是一个过程(使用硬件、软件、策略等)
ZFS 池只是存储,在灾难恢复计划之前,不要计划移动包含实时数据的磁盘。