Debian Squeeze 上的 mdadm RAID-1 非常慢

Debian Squeeze 上的 mdadm RAID-1 非常慢

今天我开始遇到 php/web 服务器问题。

我在 php-fpm 日志中看到很多段错误消息。起初我以为是某些 php 模块的版本不兼容问题,但是apt-get updateapt-get upgrade还随机报告了Segmentation faulty tree等等。

此刻我发现我的硬盘速度极慢。

我不知道为什么硬盘速度低于 5 MB/s...

一些技术细节:

root@portex:/var/log/fsck# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:   8 MB in  3.01 seconds =   2.65 MB/sec

在此之前一切都运行良好(大约一年)。

我正在使用 mdadm RAID-1,并尝试更改位图选项(如所述提示 #5),甚至移除一个硬盘并再次添加 - 但没用。

mdadm 输出:

root@portex:/var/log/fsck# mdadm -D /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Fri Oct 26 22:39:25 2012
     Raid Level : raid1
     Array Size : 488386496 (465.76 GiB 500.11 GB)
  Used Dev Size : 488386496 (465.76 GiB 500.11 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sat Apr 12 14:06:35 2014
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

 Rebuild Status : 9% complete

           UUID : 157b06cd:e27f8486:c3ede18e:95b605a2 (local to host portex)
         Events : 0.2874

    Number   Major   Minor   RaidDevice State
       2       8       16        0      spare rebuilding   /dev/sdb
       1       8        0        1      active sync   /dev/sda

hdparm 输出:

root@portex:/var/log/fsck# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:   6 MB in  3.81 seconds =   1.58 MB/sec
root@portex:/var/log/fsck# hdparm -t /dev/sdb

/dev/sdb:
 Timing buffered disk reads:   6 MB in  7.36 seconds = 834.54 kB/sec

hdparm -i 输出:

 root@portex:/var/log/fsck# hdparm -i /dev/sda

 /dev/sda:

 Model=ST500DM002-1BD142, FwRev=KC45, SerialNo=Z3T3TKNH
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: unknown:  ATA/ATAPI-4,5,6,7

 * signifies the current active mode

操作系统版本:

root@portex:/var/log/fsck# cat /etc/debian_version
6.0.9

更新

iostat 输出:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.85    0.00   19.05    0.00    0.00   75.09

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
sda              51.00     0.00   67.00    0.50     7.31     0.00   221.93     0.94   13.60   1.07   7.20
sdb               0.00    50.00    0.00   63.00     0.00     6.66   216.44     0.21    2.95   0.83   5.20
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

/proc/mdstat 输出:

root@portex:/var/log/fsck# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[2] sda[1]
      488386496 blocks [2/1] [_U]
      [===========>.........]  recovery = 55.8% (272962432/488386496) finish=409.8min speed=8758K/sec

unused devices: <none>

答案1

我遇到过类似的问题。我费了一番周折(与制造商交谈)才发现问题出在您使用的驱动器上 - Barracuda(消费级)驱动器 - 在某些主板(我的情况是 HP 1u 系统)中无法很好地与 RAID 配合使用。尽管我非常怀疑,但我还是用服务器级(Constellation)驱动器替换了我的 Barracuda 驱动器,这解决了问题。我确实注意到这只影响某些硬件 - 我有 Intel 1u 服务器,它们工作正常。

(我仍然不明白为什么软件突袭会以这种方式运行,它似乎并不直观 - 几乎就像硬件被故意设计成残缺的 - 但 Constellation 驱动器并没有那么贵!)

相关内容