我运行一台新的 CentOS 7 机器。Linux 在 2 个 SSD 设置上运行,我还在软件 RAID10 中设置了 4 个 SAS 驱动器。RAID10 阵列很大,4 个 12TB 驱动器,所以 24TB 可用。
文件系统为:ext4
现在我完成了一些文件复制到它,我正在做一个突袭检查(非常第一个)。
Every 2.0s: cat /proc/mdstat Mon Oct 14 06:28:38 2019
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md127 : active raid10 sdf1[3] sdd1[1] sde1[2] sdc1[0]
23437503488 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
[======>..............] check = 32.6% (7649123136/23437503488) finish=3402.6min speed=77333K/sec
bitmap: 0/175 pages [0KB], 65536KB chunk
md2 : active raid1 sdb2[1] sda2[0]
20478912 blocks [2/2] [UU]
md3 : active raid1 sdb3[1] sda3[0]
447318976 blocks [2/2] [UU]
bitmap: 3/4 pages [12KB], 65536KB chunk
unused devices: <none>
它开始时的速度约为 250,000K/s,但速度越来越慢,现在约为 75,000K/s
RAID10 阵列中的驱动器目前没有被其他任何东西使用。
我已经调整了限速设置。
dev.raid.speed_limit_min = 100000
dev.raid.speed_limit_max = 1000000
CPU 使用率大约为 2%,我有大量可用 RAM,RAID 阵列中的 4 个驱动器报告每个驱动器的驱动器利用率约为 25%,因此它们不会因重新同步而受到严重推动。
我的问题:
我能做些什么来加快速度?
什么可能导致它变慢?
您的
message
文件完全符合我的预期:磁盘/机箱不断中止命令并重置。受影响的磁盘似乎总是sdc
,因此它可能是罪魁祸首。解决问题的明显措施是更换它。但是,我会首先尝试:
sdc
(以更改 SAS 电缆/电源线)并检查错误是否跟随驱动器或仍然绑定到相同的插槽/端口;dd if=/dev/sdc of=/dev/null bs=1M iflag=direct
以获得额外的调试数据。如果由于某种原因无法更换驱动器,您可以尝试通过完全重写设备来强制重新分配坏块
dd if=/dev/zero of=/dev/sdc bs=1M oflag=direct
。大警告:这将彻底且不可逆转地破坏sdc
. 仅当您确实无法更换驱动器时才尝试。