RAID1 a neustálé SATA chyby DRDY ERR

RAID1 a neustálé SATA chyby DRDY ERR
« kdy: 02. 10. 2010, 22:55:25 »
Mám tu zakletý server:

Před cca rokem a půl jsem umístil do datacentra nový Supermicro server s 4x 500 GB WD disky. Server využívám pro OpenVZ virtualizaci na CentOS 5.3 (ovzkernel 2.6.18).

Přibližně po půl roce se začaly na jednom z disků objevovat media error chyby. Pro jistotu jsem vyměnil disk. Jenže po pár měsících "odešel" pro změnu druhý (stejné chyby). Takto došlo celkem k dvojnásobné výměně sda a sdb disků, které mám v RAID1 poli. Sdc a sdd mám pro zálohy a v RAIDu nejsou - s nimi problémy nemám.

Vždy se frekvence chyb zvyšovala, systém následně vyhodil jeden z disků z RAIDu a po chvíli ten zbylý hodil do read-only módu. Po výměně disku a resyncu RAIDu vše jelo zase třeba tři měsíce bez problému.

Situaci jsem řešil s Abacusem, dodavatelem serveru, kde po několikadenním testování nezjistili žádný problém. To samé s disky. Mezitím jsem si pronajal dedikovaný server (stejný typ a konfigurace) a zastrčil do něj disky z původního a vše opět jelo. Na čas. Po tomto jsem HW chybu vyloučil.

("Původní" server s "vadnými" disky mám nyní umístěný jinde a žádné problémy nejsou.)

V současnosti se doba od resyncu RAIDu po výskyt chyb a následné rozpadnutí RAIDu snížila na několik dní. Googluju, procházím diskuze, ale nenašel jsem nic, co bych nezkoušel, nebo bylo na první pohled úplně zcestné.

Zkoušel jsem upgrade kernelu (v rámci větve 2.6.18 - novější stable ovzkernelu není k dispozici), bootovat s acpi=off, acpi=noirq, noapic, vypínal jsem irqbalance, vypínal NCQ, disky jsou nové a v pořádku (smart), nepřehřívají se, server není přetěžován. Přitom provozuju ještě jeden server s téměř totožnou konfigurací, systémem a využitím, zde však k problémům nedochází.

Mám pocit, že se jedná určitě o nějaký SW problém, případně nějaké špatné nastavení, ale po půl roce hledání jsem stále na začátku. Napadlo mě nějaké porušení souborového systému, které se třeba přenáší mezi disky během synchronizace RAIDu. Formát disku a reinstalaci systému jsem zatím nedělal, nerad bych se do toho pouštěl, protože tam jedou VPS zákazníků.

Napadá prosím někoho něco, co jsem mohl přehlédnout?

Přikládám část messages log:

Kód: [Vybrat]
Oct  1 17:07:47 XXX kernel: ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Oct  1 17:07:47 XXX kernel: ata2.00: irq_stat 0x40000001
Oct  1 17:07:47 XXX kernel: ata2.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 0
Oct  1 17:07:47 XXX kernel:          res 51/04:00:38:df:f7/00:00:00:00:00/a7 Emask 0x1 (device error)
Oct  1 17:07:47 XXX kernel: ata2.00: status: { DRDY ERR }
Oct  1 17:07:47 XXX kernel: ata2.00: error: { ABRT }
Oct  1 17:07:47 XXX kernel: ata2.00: configured for UDMA/133
Oct  1 17:07:47 XXX kernel: ata2: EH complete
Oct  1 17:07:47 XXX kernel: SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
Oct  1 17:07:47 XXX kernel: sdb: Write Protect is off
Oct  1 17:07:47 XXX kernel: SCSI device sdb: drive cache: write back

... toto se opakuje třeba 10x po sobě a obvykle končí rozpadem RAIDu:

Kód: [Vybrat]
Oct  1 20:27:47 XXX kernel: ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Oct  1 20:27:47 XXX kernel: ata2.00: irq_stat 0x40000001
Oct  1 20:27:47 XXX kernel: ata2.00: cmd 35/00:10:97:00:c4/00:00:38:00:00/e0 tag 0 dma 8192 out
Oct  1 20:27:47 XXX kernel:          res 51/10:10:97:00:c4/00:00:38:00:00/e0 Emask 0x81 (invalid argument)
Oct  1 20:27:47 XXX kernel: ata2.00: status: { DRDY ERR }
Oct  1 20:27:47 XXX kernel: ata2.00: error: { IDNF }
Oct  1 20:27:47 XXX kernel: ata2.00: configured for UDMA/133
Oct  1 20:27:47 XXX kernel: sd 1:0:0:0: SCSI error: return code = 0x08000002
Oct  1 20:27:47 XXX kernel: sdb: Current [descriptor]: sense key: Aborted Command
Oct  1 20:27:47 XXX kernel:     Add. Sense: Recorded entity not found
Oct  1 20:27:47 XXX kernel:
Oct  1 20:27:47 XXX kernel: Descriptor sense data with sense descriptors (in hex):
Oct  1 20:27:47 XXX kernel:         72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00
Oct  1 20:27:47 XXX kernel:         38 c4 00 97
Oct  1 20:27:47 XXX kernel: end_request: I/O error, dev sdb, sector 952369303
Oct  1 20:27:47 XXX kernel: raid1: Disk failure on sdb1, disabling device.
Oct  1 20:27:47 XXX kernel: Operation continuing on 1 devices
Oct  1 20:27:47 XXX kernel: ata2: EH complete
Oct  1 20:27:47 XXX kernel: SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
Oct  1 20:27:47 XXX kernel: sdb: Write Protect is off
Oct  1 20:27:47 XXX kernel: SCSI device sdb: drive cache: write back
« Poslední změna: 03. 10. 2010, 19:36:51 od Petr Krčmář »


rda

Re: RAID1 a neustálé SATA chyby DRDY ERR
« Odpověď #1 kdy: 23. 10. 2010, 23:08:02 »
1) 2.6.18 ? Si delate srandu.. je to 4 roky stara verze, dnes jiz existuje 2.6.36. Pokud je to sw zavada, je to zavada v driveru na chipset. Musite upgradovat (nejlepe na testovaci server a pak preklopit pocas kratkeho oznameneho vypadku i zakazniky)

2) pokud upgradovat jadro opravdu nemuzete, podivejte se ktery driver radice mate jeste v systemu a dokupte nejaky 4 port SATA HBA, nebo klidne entry level HWRAID od adaptecu (pro RAID0/1)

Andrzej Heczko

Re: RAID1 a neustálé SATA chyby DRDY ERR
« Odpověď #2 kdy: 24. 10. 2010, 00:07:52 »
Přiznám se, že jsem příspěvek nečetl, ale nejdřív bych zkusil vyměnit kabely, pokud je použit backplane, tak zapojeni bez něj, pak bych šel po discích a nakonec po řadiči.
Na vině může být i nedostatečné/nestabilní napájení zdroje, problém v komunikaci řadič<->mb, paměti, ale tyhle jsou velmi nepravděpodobné, protože by se to projevilo i jinde.