LINUX.ORG.RU

Дикие тормоза mdadm RAID-1 (Debian Squeeze)

 


0

1

Сегодня день начался с ошибок segfault - начал валится php-fpm. Как оказалось не только php-fpm, но и прочий софт, например apt-get update отваливается с ошибками.

На текущий момент пришел к выводу, что это из-за диких тормозов дисковой подсистемы:

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

/dev/sda:
 Timing buffered disk reads:   4 MB in  3.00 seconds =   1.33 MB/sec
root@ptex:/var/log/fsck# hdparm -t /dev/sdb

/dev/sdb:
 Timing buffered disk reads:   4 MB in  4.13 seconds = 991.98 kB/sec
root@ptex:/var/log/fsck# hdparm -t /dev/md0

/dev/md0:
 Timing buffered disk reads:   4 MB in  4.38 seconds = 935.65 kB/sec

root@ptex:/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@ptex:/var/log/fsck# hdparm -i /dev/sdb

/dev/sdb:

 Model=ST500DM002-1BD142, FwRev=KC45, SerialNo=Z3T3VHAQ
 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

Пробовал поменять опцию bitmap, удалить-добавить устройство в RAID (как написано в #5 тут: http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html ), но не помогло.

Вывод инфы, касающейся mdadm:

root@ptex:/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:30:19 2014
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

 Rebuild Status : 26% complete

           UUID : 157b06cd:e27f8486:c3ede18e:95b605a2 (local to host ptex)
         Events : 0.3522

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

root@ptex:/var/log/fsck# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[2] sda[1]
      488386496 blocks [2/1] [_U]
      [=====>...............]  recovery = 27.7% (135474560/488386496) finish=95.3min speed=61670K/sec

unused devices: <none>

Посмотри лучше на запросы к диску, iostat -x 2 ( колонки r/s, w/s, rrqm/s, wrqm/s ). А скорость чтения на самом деле мало информативна.

router ★★★★★
()

segfault из-за медленного ввода-вывода - это нонсенс. Проверь память.

anonymous
()
Ответ на: комментарий от tazhate

Со смартом вроде не все так плохо:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   105   099   006    Pre-fail  Always       -       118200
  3 Spin_Up_Time            0x0003   100   100   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       41
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   079   060   030    Pre-fail  Always       -       97515488
  9 Power_On_Hours          0x0032   086   086   000    Old_age   Always       -       12689
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       41
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   060   052   045    Old_age   Always       -       40 (Lifetime Min/Max 33/45)
194 Temperature_Celsius     0x0022   040   048   000    Old_age   Always       -       40 (0 19 0 0)
195 Hardware_ECC_Recovered  0x001a   027   019   000    Old_age   Always       -       118200
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       116664196673936
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       2164325838
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       2094369115
usr0001
() автор топика
Ответ на: комментарий от router
# iostat -x -m 2

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
sda              39.00     2.50  306.00    3.00    21.56     0.02   143.06     1.20    3.84   0.63  19.40
sdb               0.00   131.50    0.00  210.00     0.00    20.83   203.18     3.21   12.15   1.10  23.00
md0               0.00     0.00    0.00    4.50     0.00     0.02     8.00     0.00    0.00   0.00   0.00

Как я понимаю, это индексируется добавленный в raid sdb, что-то не очень цифры, мне кажется...

usr0001
() автор топика

я не представляю как таймауты по ио могут вызвать сегфолты. а вот битая память например вызывает и сегфолты рандомные, и тормоза на софтовом рейде. проверь память хотя бы мемтестом. еще может чипсет усирать или дороги, но на тесте памяти ты весьма вероятно это увидишь.

val-amart ★★★★★
()

Вот когда массив ребилдится - тогда и посмотришь. А так не вижу пока проблем: скорость линейного чтения с пластины на SATA 60-120 метров в секунду, у тебя же там еще и в стороны головы дергаются.

Deleted
()
Ответ на: комментарий от usr0001

Со смартом вроде не все так плохо
Raw_Read_Error_Rate 0x000f 105 099 006 Pre-fail Always - 118200
Seek_Error_Rate 0x000f 079 060 030 Pre-fail Always - 97515488
Hardware_ECC_Recovered 0x001a 027 019 000 Old_age Always - 118200

Ну хз, ваще хз.
Пробегись badblocks по винчу, потом уже синкай рейд.

tazhate ★★★★★
()

теперешний сигейт я бы побоялся использовать 12к часов, да ещё и на сервер тянуть. А тормоза могут быть вызваны ещё фиговым кабелем, материнкой, блоком питания и невыровненным размещением разделов

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.