我正在寻找一种新的存储解决方案。在研究各种规格时,我的一位同事说,一些 raid 控制器可以同步 HDD 旋转,以使所有驱动器的扇区/块 0 同时通过读取头。
我在网上搜索过,但未能找到证明/反驳这一说法的信息。
答案1
RAID 控制器不会(也不能)同步磁盘主轴,但在某些驱动器上这是一个选项。给定一组相同的驱动器,其主轴同步连接器可以确保一组磁盘全部同步。我碰巧拥有一些 Seagate Elite 3(古老、过时的 SCSI-2 驱动器),我记得有这样的连接器,所以我找到了Seagate ST43400N/ND Elite 3 用户指南图 1 中有这个方便的图示(请注意左边第二个连接器):
图 14(此处未显示)说明了如何将驱动器连接在一起:
主轴同步
主轴同步功能可以同步一组磁盘驱动器的主轴旋转。这减少了启动器在多个磁盘驱动器之间切换时通常遇到的延迟。图 14 显示了两种系统配置。在一种类型的系统中,系统中的一个磁盘驱动器提供参考时钟。在另一种类型中,外部信号源提供参考时钟。
答案2
一般来说我很确定答案是否定的(事实上我不知道有哪个控制器可以做到这一点)。
实现这样的同步将非常困难 - 振动、温度、自然电源波动等都会对盘片转速产生微小影响(如果您真的想挑剔的话,扇区的大小也是如此)。您需要不断以无穷小的量改变磁盘主轴电机的速度以保持同步,这需要非常精确(非常昂贵)的电机控制,以及大量的磁盘控制器开销来确定每个驱动器的当前盘片位置。由于这样做几乎没有实际好处,因此不值得花费硅片和时间。
(如果您跳出旋转锈蚀介质的框架思考,这个想法也会完全崩溃 - 固态硬盘没有寻道时间或主轴速度:读取任何扇区的时间实际上都是恒定的,并且没有什么可“同步”的。)
答案3
同步驱动器不再有意义,原因如下:
- 磁盘在生产时会重新定位坏扇区。磁盘很大,生产后会有很多缺陷,这些缺陷会被重新定位。因此,同一生产批次的两个磁盘无论如何都不会 100% 同步。
- 磁盘在使用过程中会在内部重新定位坏扇区。这些扇区会被移至磁盘上的保留空间,导致其更加不同步。
- 缓存、TCQ/NCQ 和重新定位扇区使得磁盘访问顺序在物理层面上不确定。如果负载很高,如果一个磁盘出现故障,则可能需要很长时间才能恢复正常。
- 多条带访问可能会越过扇区(甚至盘片)边界,从而导致读取不对齐。如果您在 Raid 6 上访问 4 倍条带大小,则某些条带可能位于不同磁盘的不同区域中。
- 只要磁盘不抱怨其块校验和,Raid 中的读取访问通常不会针对所有磁盘。这会导致磁盘缓存不同步,从而导致物理不同步。(除非您也关闭读取缓存)
- RAID 控制器上的读取缓存、操作系统中的读写缓存使问题更加复杂。我希望 RAID 上没有交换空间,否则可能会影响任何性能问题。
在早期,实现磁盘同步是为了使访问具有确定性,这在用于存储结果的内存稀缺时或 raid 的实现需要它(Raid 2、Raid 3)时非常重要。
很难量化同步驱动器的优势。我认为如果可以获得显著的性能优势,那么同步在某种程度上是可行的。
将来,对于 SSD 来说,情况也会类似,只是原因不同,例如块重定位、磨损均衡、修剪等。
现代硬盘有自己的操作系统,无论是 HD 还是 SSD,内部都会花费时间处理许多问题。即使你让它们在物理上同步,从逻辑上讲它们也不会同步。
答案4
如果您曾经使用过从未使用过的 RAID-2,其中数据在位级别进行条带化,则需要同步磁盘。我认识的人中没有人使用过它,但从技术上讲,如果 RAID 控制器支持 RAID2,则它需要能够同步盘片旋转。这将是现在唯一需要它的东西。