重建阵列后,RAID10 写入速度降至正常 SSD 速度

重建阵列后,RAID10 写入速度降至正常 SSD 速度

操作系统:Ubuntu 14.04 LTS 软件 Raid10:4x120Gb Intel 530 SSD 服务器:HP ProLiant DL160 G6 FS:md0:ext4/md1:swap

在对某些包进行任何更改或重新启动之前,会对全新安装进行测试。

写入速度降低到正常的 SSD 写入速度(就我的情况而言)。

下面我添加了我执行的统计数据/命令。

dd if=/dev/zero of=test bs=1048576 count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 1.79013 s, 1.2 GB/s

dd if=test of=/dev/null bs=1048576
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 0.376622 s, 5.7 GB/s

到目前为止一切看起来都很好。现在我取出并放回其中一个磁盘:

mdadm --fail /dev/md0 /dev/sda1
mdadm --remove /dev/md0 /dev/sda1
mdadm --fail /dev/md1 /dev/sda2
mdadm --remove /dev/md1 /dev/sda2
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2

重建阵列后:

dd if=/dev/zero of=test bs=1048576 count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 9.5621 s, 225 MB/s

dd if=test of=/dev/null bs=1048576
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 0.375301 s, 5.7 GB/s

我的数组如下所示:

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md0 : active raid10 sdc1[2] sdb1[1] sda1[4] sdd1[3]
195177472 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

md1 : active raid10 sdd2[5] sda2[4] sdc2[2] sdb2[1]
39095296 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

我现在不知道从哪里开始。我是不是忘了设置一些标志或别的什么?

答案1

我不确定这些是否正确,但是:

  • mdadm重建阵列时同步块,这应该与写入新更换的驱动器的整个分区或磁盘相同。
  • 使用超过一定百分比的 SSD 存储容量会影响其性能。

因此,由于重建阵列导致写入至少一个 SSD 超过该百分比或直到其已满,可能会导致性能下降。

在设备上运行手动修剪作业可能会解决此问题,但可能会导致数据丢失。此外,复制零并不是衡量 SSD 性能的可靠方法。

您应该看看 Btrfs 或 ZFS 如何处理这种情况。它们应该更适合使用 SSD 设置 RAID 集。

相关内容