为什么 MD RAID 0 比任何备份驱动器都慢

为什么 MD RAID 0 比任何备份驱动器都慢

我使用两个 NVME 驱动器创建了一个 MD RAID 0 阵列。我意识到使用两个不同的驱动器而不是相同的驱动器并不是最佳选择,但是当我刚购买新驱动器时,它们都比我使用了 1 年的驱动器快。使用 Patriot Scorch 512GB Nvme 和 Mushkin Helix 256GB。我在每个驱动器上都创建了一个 32GB 分区,并使用 16k 块创建了 MD RAID 0 阵列,然后格式化为 EXT4 进行测试。

kde-swiebel@T5600-kde:~$ cat /proc/mdstat
Personalities : [raid0] 
unused devices: <none>
kde-swiebel@T5600-kde:~$ sudo mdadm -Cv -l0 -c16 -n2 /dev/md0   /dev/nvme0n1p3 /dev/nvme1n1p2 
mdadm: /dev/nvme0n1p3 appears to contain an ext2fs file system
       size=34277376K  mtime=Wed Dec 31 17:00:00 1969
mdadm: /dev/nvme1n1p2 appears to contain an ext2fs file system
       size=34277376K  mtime=Wed Dec 31 17:00:00 1969
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
kde-swiebel@T5600-kde:~$ cat /proc/mdstat
Personalities : [raid0] 
md0 : active raid0 nvme1n1p2[1] nvme0n1p3[0]
      68487168 blocks super 1.2 16k chunks

unused devices: <none>
kde-swiebel@T5600-kde:~$ sudo mkfs.ext4 -F /dev/md0
mke2fs 1.44.6 (5-Mar-2019)
Discarding device blocks: done                            
Creating filesystem with 17121792 4k blocks and 4284416 inodes
Filesystem UUID: f9826f0f-7ba4-40b2-9c9f-861379e82703
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done   

Gnome-disk-utility 3.32.1 的基准测试

1000 samples, 1MB size

Patriot Scorch
average read: 1362.2 MB/s
Average write: 228.7 MB/s
Average access time 0.07 msec

Mushkin Helix
Average read: 1529.5 MB/s
Average write: 1003.1 MB/s
Average access time 0.06 msec

/dev/md0 
Average read: 1751.3 MB/s
Average write: 26.9 MB/s
Average access time 0.05 msec

更改为 100 个样本,100MB 大小,只读

/dev/md0 
Average read: 2927.6 MB/s
Average write: NA
Average access time 0.04 msec

读取速度虽然比任何一款硬盘都快,但并不太令人印象深刻,但当我将测试改为只读时,速度大大提高。然而,写入速度却很糟糕。写入速度是最慢的硬盘的 10%。

我尝试移除 RAID 阵列,并使用不同的块大小(4K、32K、128K)创建它,但每次都没有太大变化。写入速度在 11MB/s 到 32MB/s 之间

根据福罗尼克斯其他网站我做得对,应该会看到更多的收获。

使用 mdadm 版本 4.1-1ubuntu1、内核 5.0.0-25-generic 在配备双 Xeon E5-2609(四核 2.4Ghz)的 Dell T5600 上运行

知道我做错了什么吗?

更新:Raffa 指出不要完全相信基准测试。我进行了一些文件传输测试,既有 4.6GB 的大文件,也有数百个小文件,传输速度优于每秒 30MB 的基准速度,但仍然比单独使用两个驱动器中的任何一个都慢。

在这次测试中,我传输了一个 4.6GB 的文件。我进行了四次测试,取四次传输时间的平均值来计算速度(MB/秒)。每次测试之间我都让硬盘冷却一分钟。有些时候会遇到节流,时间会更长,我忽略这些时间,等待一段时间,然后再次进行单独的测试。节流时,Mushkin 的速度会变得更慢,大约为 30MB/秒。

From    To  MB/s
RamDisk RamDisk 1766
Mushkin RamDisk 1076
Patriot RamDisk 964
Raid    RamDisk 746
RamDisk Patriot 572
Mushkin Patriot 556
RamDisk Raid    347
Patriot Raid    321
Raid    Patriot 308
Patriot Patriot 292
RamDisk Mushkin 203
Mushkin Raid    185
Raid    Raid    181
Patriot Mushkin 179
Raid    Mushkin 164
Mushkin Mushkin 128

复制到 RamDisk 当然是最快的。值得注意的是,从 Raid 读取的速度比支持 Raid 的两个驱动器中的任何一个都慢。看起来 Mushkin 的写入性能简直是垃圾。我猜这两个驱动器之间的时间安排有些奇怪,导致 md raid 出现问题。但由于 Mushkin 的写入性能较慢,我没有什么理由保留它。

Patriot 的售价为 25 美元,虽然是旧款,但还是很划算。我应该买吗?拥有两个相同型号的硬盘是否有助于提高读写速度。

相关内容