ZFS:销毁和重新创build镜像zpool而不会丢失任何数据。 可能?

我有一个现有的Solaris ZFS NAS / SAN设备,出于几个原因,我期望有效地销毁和重新创buildzpool。 问题是,我没有其他地方可以把数据放到任何地方,所以在我这样做的时候,它实际上必须留在盒子里。

有12个1TB的7.2k SATA驱动器组成了6个镜像对的zpool。 我的计划如下:

  1. 在镜像对中,完全从池中移除其中一个驱动器。
  2. 创build一个仅包含此驱动器的新zpool
  3. 对每个其他镜像对重复(1),将它们添加到新的zpool中。
  4. 在这一点上,我留下了两个相同大小的zpools,没有冗余,但每个包含6个驱动器。
  5. 将数据复制到新的池中,并validation(我猜是用磨砂膏)?
  6. 一旦数据被复制,破坏旧的池,并将6个驱动器添加到新的池作为现有6个驱动器的镜像。
  7. 确保所有的文件系统是正确的,并具有正确的属性

这有什么理由不起作用吗? 如果不是,有没有更好的方法可以做到这一点?

为什么你需要重build池? 池中实际包含多less数据? 这对您的迁移策略将产生比其他任何更大的影响。 如果可以将数据放在单个磁盘上(例如1TB或2TB),那么我会这样做,而不是冒一些未镜像磁盘的风险。 但是,这又取决于需要移动多less数据。

你的步骤似乎相当于已经到位的“蛙跳”镜子。 这可能不会“重复”重叠,因为这些属性可能会在镜像重build时继续前进。 您可能需要考虑在重复数据删除池和非重复数据池之间的应用程序级复制/复制,以展开实际的文件实例。