网站搜索

异步振动:物理原因解释为什么混合使用5400和7200转/分钟的硬盘会毁掉你的NAS


在使用网络附加存储(NAS)时,有许多应该做和不应该做的事情。而一个关键的“不应该做”是在购买将要放入其中的硬盘时——确保最重要的是,每个硬盘之间的速度相匹配。

这就是原因。

NAS 是如何工作的?

让我们回到基础,理解为什么这是一个糟糕的主意。与必须通过 USB 连接物理绑定到单台计算机的传统外置硬盘不同,NAS 允许授权的网络用户和各种客户端设备同时从共享的中央位置存储、管理和检索数据。从硬件核心来看,NAS 本质上是一台专用的、精简的计算机。它包含自己的处理器、随机存取存储器以及专门设计的操作系统,用于通过像 SMB 或 NFS 这样的标准网络协议路由、存储和保护数据。然而,NAS 的真正强大之处在于它如何管理安装在其硬盘托架中的物理存储介质。

大多数 NAS 系统利用一种称为独立磁盘冗余阵列(RAID)的基础存储技术。RAID 将多个物理硬盘驱动器虚拟地绑定在一起,形成一个单一的逻辑存储单元,呈现给网络使用。根据管理员选择的具体 RAID 级别,NAS 控制器会使用称为条带化、镜像或奇偶校验的技术在这些驱动器之间分布数据。条带化将文件分成更小的数据块并分散到多个硬盘上,从而显著提高整体读写速度。镜像在两块或更多硬盘上创建相同的实时数据副本,以确保在单个硬盘发生机械故障时数据不会丢失。奇偶校验结合了这些概念,在条带化文件旁边计算并写入专门的数学恢复数据,以便在一块硬盘故障时能够完全重建。

RAID 阵列正是造成这个问题的原因。

为什么不应该匹配不同速度的硬盘?

在同一 RAID 阵列中混合不同速度的硬盘,例如将 5400 RPM 的硬盘与 7200 RPM 的硬盘配对,会对存储架构造成显著的性能瓶颈和机械风险。当硬盘在传统的 RAID 配置中绑定在一起时,特别是在严重依赖数据条带化(如 RAID 0、RAID 5 或 RAID 10)的设置中,存储控制器要求数据块必须同时写入或读取所有参与的硬盘。由于这种同步操作的要求,整个存储阵列在数学和物理上都受到其最慢组件性能的限制。

你可能会认为这会导致更快的硬盘转速降低以跟上速度,但实际上情况更糟。当一个操作需要跨阵列访问时,更快的7200 RPM硬盘会快速完成它们的工作,但随后它们被迫进入空闲等待状态,直到较慢的5400 RPM硬盘完成各自的任务。因此,这实际上可能比只使用两个5400 RPM硬盘还会带来更糟的性能损失。

另一个大问题是振动。硬盘会根据其内部磁盘的旋转速度产生连续的微振动。NAS机箱是紧凑的环境,并且速度完全相同的硬盘通常会发出均匀的共振,机箱的设计可以安全地处理这种共振。

当以完全不同频率旋转的驱动器彼此相邻放置时,它们可能产生复杂的异步谐波振动。这些不可预测的物理振荡可能干扰相邻驱动器的精密微小读/写头,迫使它们为了保持在数据轨道上的对齐而更加努力地工作。

在长时间内,这种谐波干扰可能导致寻道错误率增加,并缩短硬盘的物理寿命。

在某些情况下可以接受吗?

你可以做到,只要你没有做条带化。例如,像“只是一堆磁盘”(通常称为 JBOD)这样的配置,将每个硬盘视为完全独立的存储卷,或者线性地将它们延伸,而无需复杂的控制器协调。因为整个文件是顺序写入到单个特定磁盘,而不是被分散到多个磁盘上,所以较慢的驱动器在数学上不会成为更快驱动器的瓶颈。

同样,像 Unraid 这样的专用 NAS 操作系统使用一种独特的 unRAIDed 文件系统方法。在 Unraid 设置中,完整的文件会完整地存储在各个数据驱动器上,而专用的独立校验驱动器则负责整个存储池的冗余。虽然强烈建议校验驱动器应是系统中最快且最大的磁盘,以防止写入操作期间出现计算瓶颈,但标准数据驱动器本身可以在容量和旋转速度上完全不匹配,而不会像标准 RAID 那样遭遇严重的性能损失。

另一个可接受的场景是,在单个多盘位 NAS 机箱内创建完全独立、隔离的存储池。如果用户操作一个有四个盘位的 NAS,他们可以将两块 7200 RPM 的硬盘专用于一个 RAID 1 阵列,用于高速、活跃的视频编辑项目,同时将两块 5400 RPM 的硬盘放在完全独立的 RAID 1 阵列中,专门用于自动后台备份。由于这两个存储池在 NAS 控制器上独立运行,较慢的归档硬盘绝不会干扰高速存储池的操作。

不过你仍然会有震动问题。我只是说如何绕过性能方面的问题。

相关文章