大型 RAID 10 与小型 RAID1

大型 RAID 10 与小型 RAID1

该机器将存储和提供数百万个小文件(每个<15Kb),并且所有这些文件需要总共 400G 的存储空间,考虑完全相同的 SATA 硬盘制造商和型号,在完全相同的环境中(操作系统、cpu、ram、raid 控制器等...)

以下哪种设置更快?

  1. RAID 1,包含 2 个 2T 硬盘,总存储量为 2T
  2. RAID 10,包含 4 个 2T 硬盘,总存储量为 4T

[编辑]:我知道 RAID10 比 RAID1 更快。至少从理论上讲,磁盘越大,寻道/写入所需的时间就越长。那么,RAID10 的性能提升是否会被寻道/写入操作发生时更大磁盘区域造成的“拖累”所抵消?

答案1

具有 4 个驱动器的 RAID10 将会更快 - 额外的主轴意味着可以处理两倍的 IOPS(多或少)。

答案2

RAID 中的每个主轴都贡献了其可以执行的 IO/s 数量,以及其在顺序 IO 上可以执行的 MB/s 数量。驱动器的大小与这些数字几乎没有关系;唯一重要的是主轴速度。

由于您控制了驱动器特性,任何 4 驱动器 RAID-10 将始终能够以 2 驱动器 RAID-1 的两倍速度(随机 IO 的平均 IO/s 和连续 IO 的 MB/s)进行读写。

由于您正在比较 RAID-1 与 RAID-10,因此读写性能的比率是相同的,但是如果您比较 RAID-0 与 RAID-10,尽管主轴数更高,但写入速度不会快两倍。这是因为 RAID-10 必须为服务器执行的每一次写入执行两次物理写入。如果您将其与 4 驱动器 RAID-5 进行比较,那么理论上 RAID-5 在写入方面具有优势,因为它只需为您执行的每三次写入执行一次额外的写入(忽略奇偶校验计算)。

答案3

这里要记住的一点是,驱动器报告的平均寻道时间只是一个平均值。它是执行给定寻道所需的平均时间,假设寻道可以将磁头发送到驱动器上的任何位置。

在这种情况下,您将 400GB 分散到 2TB 驱动器上。这意味着驱动器上将有大量空闲空间。得益于智能存储控制器,只要您的数据没有碎片化(也不应该碎片化),所有内容都将存储在磁盘的前面。这将使您的寻道时间低于每个磁盘的平均值,因为您只会在读/写头静止位置附近的位置执行寻道。

这与问题相关,因为当您从 2 个镜像磁盘增加到 4 个时,您会突然将数据分散开来,每个磁盘上只存储 200GB。这意味着实际寻道时间更快。这也意味着两倍的磁头进行寻道。您将寻道延迟缩短了 1/4。

换句话说,RAID 10 选项将是巨大的赢。

相关内容