我有一个现有的 Solaris ZFS NAS/SAN 设备,出于一些原因,我希望有效地销毁并重新创建 zpool。问题是我没有地方放置数据,所以在我执行此操作时,它实际上必须留在盒子上。
有 12 个 1TB 7.2k SATA 驱动器,它们以 6 个镜像对的形式组成 zpool。我的计划如下:
- 在镜像对一中,从池中完全移除其中一个驱动器。
- 创建仅包含此驱动器的新 zpool
- 对其他每个镜像对重复 (1),将它们添加到新的 zpool。
- 至此,我只剩下两个大小相同的 zpool,没有冗余,但每个包含 6 个驱动器。
- 将数据复制到新池并进行验证(我猜是用清理?)
- 数据复制完成后,销毁旧池,并将 6 个驱动器添加到新池作为现有 6 个驱动器的镜像。
- 确保所有文件系统均正确且具有正确的属性
有什么原因导致此方法行不通吗?如果没有,是否有其他/更好的方法可以实现此目的?
答案1
为什么需要重建池?池中实际包含多少数据?这会对您的迁移策略产生比其他任何事情都更大的影响。如果可以将数据放在单个磁盘上(例如 1 或 2 TB),我会这样做,而不是冒险使用未镜像的磁盘条带。但同样,这取决于需要移动多少数据。
答案2
您的步骤似乎相当于“跳过”已经存在的镜像。这可能不会“撤消”重复,因为这些属性可能会在镜像集重建时继续向前。您可能需要考虑在重复数据删除池和非重复数据删除池之间进行应用程序级复制/复制,以扩展实际文件实例。