linux – 如何在zfs中“重新平衡”数据? (确保数据分布在所有条纹镜像中)

linux – 如何在zfs中“重新平衡”数据? (确保数据分布在所有条纹镜像中),第1张

概述使用条带镜像(Raid 10)作为示例,如果两个磁盘扩展到四个,那么两个磁盘中的数据如何在两个镜像中“重新平衡”(展开)? 也就是说,如何将写入一个镜像的文件写入两个镜像以利用条带化磁盘? 只有新写入(附加)数据在所有当前活动的vdev之间拆分,ZFS中没有明确的重新平衡 *** 作. 两种可能的方案: >等到所有旧数据再次写入(因为CoW,这可能需要很长时间,在最坏的情况下,完全写入磁盘所需的时间加倍) 使用条带镜像(RaID 10)作为示例,如果两个磁盘扩展到四个,那么两个磁盘中的数据如何在两个镜像中“重新平衡”(展开)?

也就是说,如何将写入一个镜像的文件写入两个镜像以利用条带化磁盘?

解决方法 只有新写入(附加)数据在所有当前活动的vdev之间拆分,ZFS中没有明确的重新平衡 *** 作.

两种可能的方案:

>等到所有旧数据再次写入(因为CoW,这可能需要很长时间,在最坏的情况下,完全写入磁盘所需的时间加倍).
>删除所有数据并重新编写(zfs send / recv有助于从池中获取所有数据并返回而不会丢失任何数据).这不必一次完成,而且可以在同一个池中完成.

更准确地说,我会选择第二种解决方案,并在系统负载较低的时候单独传输每个文件系统(例如在晚上):

>拍摄尺寸合适的文件系统(和递归的后代文件系统)的快照(zfs snapshot -r)>使用zfs发送| zfs recv,带有适当的选项,可以将快照发送到新创建的临时文件系统(如果空间允许,可以在同一个池中);此文件系统应位于层次结构中与旧文件系统相同的位置>复制完成后(可能需要一些时间,因为磁盘必须读写),zfs会破坏旧快照和旧文件系统> zfs将临时系统重命名为旧名称>使用zfs mount检查并更改挂载点,重新排列已替换文件系统的先前情况>重复,直到移动所有文件系统

总结

以上是内存溢出为你收集整理的linux – 如何在zfs中“重新平衡”数据? (确保数据分布在所有条纹镜像中)全部内容,希望文章能够帮你解决linux – 如何在zfs中“重新平衡”数据? (确保数据分布在所有条纹镜像中)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1043814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存