![为什么重新同步比预期慢 10 倍?](https://linux22.com/image/1570819/%E4%B8%BA%E4%BB%80%E4%B9%88%E9%87%8D%E6%96%B0%E5%90%8C%E6%AD%A5%E6%AF%94%E9%A2%84%E6%9C%9F%E6%85%A2%2010%20%E5%80%8D%EF%BC%9F.png)
两天前,我的 Synology 中的一台 Barracuda(3 个磁盘组成 RAID-5)触发了一些“坏扇区”警告。没有数据丢失。数据不多(24 小时内 62 个,之后没有更多),根据 SMART 信息,驱动器“很好”。但仍然足以让我更换磁盘。您的里程可能会有所不同,但对我来说,坏扇区不为零的任何东西都是 NG。
所以...感谢一家也销售硬盘的大型网上书店,我几乎一夜之间就得到了相同大小的替换磁盘(Ironwolf)。
首先在第 4 个插槽中插入一个,并在旧磁盘仍然可用时将阵列类型更改为 RAID-6,以增加一些额外的冗余。最好谨慎行事,以防万一。完成后,下一步将逐个更换旧磁盘。
所以...它目前正在重新同步。
我已将设置从“影响较小”更改为“重新同步更快”,这显然会干扰 IO 优先级。影响非常明显,现在尝试访问共享非常非常慢(但当然仍然可以工作)。这很好,毕竟我们希望重新同步尽快完成,以免发生更剧烈的事情。不过,资源监视器中每个磁盘的磁盘使用率仅为 60-56%。嗯,我想这还不算太糟。
新磁盘能够维持 150 MB/s 的连续写入速度,而旧磁盘在连续读取时应该不会遇到任何问题(因为有三个磁盘,因此更是如此,从而减少了必要的带宽)。其中 60% 的速度约为 90 MB/s。它们是 4TB 磁盘。
让我们悲观一点,假设我们仅有的总共获得 50 MB/s 的吞吐量。因此,4*(1024*1024)/50
执行重新同步需要几秒钟,或者大约 23 小时多一点。
我让它独自工作了一整夜,现在它已经运行了 26 个小时。查看状态窗口,它显示已完成 11%。
反正我也没什么办法,不过说真的……出了什么问题?26 小时后才完成 11%,这意味着需要将近两周的时间。怎么回事?
这超出了我的理解范围。有什么技术原因导致需要这么长时间吗?
答案1
你从这个开始:
最终结果如下:
当您转换为 RAID6 时,您已开始执行一项操作,即向阵列中的每个磁盘(包括“即将报废”的磁盘)添加奇偶校验位。如果此磁盘即将报废,则写入任何数据的速度可能会非常慢,这些数据可能之前已被其他磁盘快速写入数据和慢速磁盘不断追赶所隐藏。
更麻烦的是,事实上这些奇偶校验数据也可能为每个磁盘重新创建,而不是仅仅复制现有的奇偶校验数据,这意味着必须读取 - 计算 - 然后写回所有磁盘。
事实上,每个现有磁盘上的数据现在都被移动到新磁盘,并且可能会重新排列每个现有磁盘上的现有数据,以加快访问速度。
总而言之,您需要最多 3 倍的读写次数(对于 4 个驱动器)来移动 RAID6 布局中的数据,而不是将一个磁盘复制并写入另一个磁盘(1x 读取,1x 写入)。
此外,除了所有这些移动数据的工作之外,您没有无限大的空间来在处理数据时加载数据。内存限制也会减慢任何处理速度,正如您所见,在此过程中访问文件也会减慢速度。最后,许多预装的 NAS 盒的 CPU 相当低效,这对于正常运行来说通常没问题,但诸如重新同步和架构更改之类的事情最终会花费很长时间。
这就是为什么要花这么长时间。