Страница 1 из 1

FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>[РЕШЕНО]

Добавлено: 2010-09-09 12:09:54
Lexxxxx
Доброго дня!

На рабочем сервере заменили "проблемный" диск на новый из коробки, тут и начались танцы с GMIRROR:

Код: Выделить всё

gmirror status
      Name    Status  Components
mirror/gm0  DEGRADED  ad1
Новый диск не добавляется в рейд:

Код: Выделить всё

Sep  4 01:42:06 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=135479552
Sep  4 02:36:50 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=21682975
Sep  4 03:05:15 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=168764160
Sep  4 03:11:43 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=62914847
Sep  4 03:23:46 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=175907840
Sep  4 03:51:59 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=3387071
Sep  4 03:53:19 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=185998080
Sep  4 03:56:07 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=186857344
Sep  4 03:58:40 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=187750016
Sep  4 03:58:51 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=187764480
Sep  4 03:59:00 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=187772416
Sep  4 04:16:45 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=194088832
Sep  4 05:27:34 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=217424896
Sep  4 05:32:23 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=219006592
Sep  4 05:32:40 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=21950879
Sep  4 05:39:56 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=21668927
Sep  4 05:49:44 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=224178560
Sep  4 07:24:19 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=33813535
Sep  4 07:24:29 ns2 kernel: ad0: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=251454592
Sep  4 12:19:07 ns2 kernel: ad0: 238475MB <Seagate ST3250318AS CC38> at ata0-master SATA150
Sep  4 12:19:07 ns2 kernel: GEOM_MIRROR: Device gm0: rebuilding provider ad0.
Sep  4 12:40:33 ns2 kernel: ad0: TIMEOUT - WRITE_DMA48 retrying (1 retry left) LBA=362020736
Sep  4 12:40:33 ns2 kernel: ad0: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR> error=10<NID_NOT_FOUND> LBA=362020736
Sep  4 12:40:33 ns2 kernel: GEOM_MIRROR: Synchronization request failed (error=5). ad0[WRITE(offset=185354551296, length=131072)]
Sep  4 12:40:33 ns2 kernel: GEOM_MIRROR: Device gm0: provider ad0 disconnected.
Sep  4 12:40:33 ns2 kernel: GEOM_MIRROR: Device gm0: rebuilding provider ad0 stopped.
При том, что строка

Код: Выделить всё

FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR> error=10<NID_NOT_FOUND> LBA=
во всех трех случаях (пробовали именно три раза удаленно) выдавал разный LBA.

Код: Выделить всё

atacontrol list
ATA channel 0:
    Master:  ad0 <ST3250318AS/CC38> SATA revision 2.x
    Slave:   ad1 <ST3250620AS/3.AAD> SATA revision 2.x
ATA channel 1:
    Master: acd0 <NEC DVD+/-RW ND-6650A/1.23> ATA/ATAPI revision 0
    Slave:       no device present
Бэдблоков не найдено, проверяли дважды, только чтение, и чтение+запись:

Код: Выделить всё

dd if=/dev/ad0 of=/dev/ad0 bs=1m
238475+1 records in
238475+1 records out
250059350016 bytes transferred in 116496.567093 secs (2146495 bytes/sec)
В смарте ничего подозрительного. Вот информация по дискам:

Код: Выделить всё

# atacontrol cap ad0

Protocol              SATA revision 2.x
device model          ST3250318AS
serial number         9VMA9F1Z
firmware revision     CC38
cylinders             16383
heads                 16
sectors/track         63
lba supported         268435455 sectors
lba48 supported       488397168 sectors
dma supported
overlap not supported

Feature                      Support  Enable    Value           Vendor
write cache                    yes      yes
read ahead                     yes      yes
Native Command Queuing (NCQ)   yes       -      31/0x1F
Tagged Command Queuing (TCQ)   no       no      31/0x1F
SMART                          yes      yes
microcode download             yes      yes
security                       yes      no
power management               yes      yes
advanced power management      no       no      0/0x00
automatic acoustic management  yes      yes     0/0x00  254/0xFE

# atacontrol cap ad1

Protocol              SATA revision 2.x
device model          ST3250620AS
serial number         9QF8521Q
firmware revision     3.AAD
cylinders             16383
heads                 16
sectors/track         63
lba supported         268435455 sectors
lba48 supported       488397168 sectors
dma supported
overlap not supported

Feature                      Support  Enable    Value           Vendor
write cache                    yes      yes
read ahead                     yes      yes
Native Command Queuing (NCQ)   yes       -      31/0x1F
Tagged Command Queuing (TCQ)   no       no      31/0x1F
SMART                          yes      yes
microcode download             yes      yes
security                       yes      no
power management               yes      yes
advanced power management      no       no      65278/0xFEFE
automatic acoustic management  no       no      0/0x00  254/0xFE

Возможные варианты (еще не пробовали):

1. Шлейф?
2. Отключить DMA?

Есть еще какие-либо варианты?

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-10 6:27:52
manefesto
подергай шлейф

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-10 7:39:46
Lexxxxx
Обязательно подергаю, если других вариантов нет.
Только надо в ДЦ ехать.

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-10 10:07:24
manefesto
а это ни есть гуд

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-10 10:12:08
Lexxxxx
Уже запланировали поездку через неделю.
Так что если не появятся другие варианты, там все будет решаться.

Какие-то другие способы есть убедиться, что дело в шлейфе?
Может забить диск мусором под завязку?

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-10 13:17:32
Gegemon
Сигейты - в ведро.

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-10 13:19:31
manefesto
вестерны наше фсьо

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-17 17:24:08
Lexxxxx
Подергал, на сколько это возможно было.
Проверил контакты визуально, отключил шлейфы, воткнул обратно.
Включил сервер и запустил ребилд, на 70% abort:

Код: Выделить всё

ad0: TIMEOUT - WRITE_DMA48 retrying (1 retry left) LBA=342960256
ad0: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR> error=10<NID_NOT_FOUND> LBA=342960256
GEOM_MIRROR: Synchronization request failed (error=5). ad0[WRITE(offset=175595585536, length=131072)]
GEOM_MIRROR: Device gm0: provider ad0 disconnected.
GEOM_MIRROR: Device gm0: rebuilding provider ad0 stopped.
GEOM_LABEL: Label for provider ad0s1a is ufsid/4ad4b14b36a58918.
GEOM_LABEL: Label for provider ad0s1d is ufsid/4ad4b15974b7d714.
GEOM_LABEL: Label for provider ad0s1e is ufsid/4ad4b15aef48ff33.
GEOM_LABEL: Label for provider ad0s1f is ufsid/4ad4b159638ec00d.
GEOM_LABEL: Label for provider ad0s1g is ufsid/4ad4b14b9320e0ab.
Если не менять на вестерны, есть еще варианты?

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-18 20:42:02
Lexxxxx
Почитал тут http://wiki.freebsd.org/JeremyChadwick/ ... leshooting
Как-то все не очень утешительно. Остается переносить сервисы на резерв и искать решение самостоятельно. Вот, что приходит в голову:

1. зеркало пересоздать
2. апгрейд OS
3. "поиграться" с режимами дискового контроллера в биосе...
4. смена OS на Linux.

Еще есть идеи?

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 11:52:46
manefesto
ошибка в железе, а не оси
если уж двигать то на провославный SunOS

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 12:07:30
Lexxxxx
Смена OS обусловлена тем, что из всех доступных режимов работы SATA контроллера совместимым с фряхой оказался один (текущий).
На память сложно сказать... в других режимах FreeBSD диски не видела. Возится с драйверами и прочими вещами не было времени.
Аналогичная и более новые подобные платформы у нас под CentOS работают и такого плана проблем не было.

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 13:04:49
Gegemon
А что там за RAID controller?

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 13:16:21
Lexxxxx
Встроенный RAID не используется:

Код: Выделить всё

<Intel ICH7 SATA300 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x30a0-0x30af irq 19 at device 31.2 on pci0

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 13:23:38
Gegemon

Код: Выделить всё

uname -a
?

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 13:50:13
Lexxxxx
FreeBSD 7.2-RELEASE

Код: Выделить всё

Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.2-RELEASE #1: Wed Oct 28 01:17:13 NOVT 2009
    root@************.ru:/usr/src/sys/amd64/compile/**********
module_register: module g_mirror already exists!
Module g_mirror failed to register: 17
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(R) CPU           X3220  @ 2.40GHz (2402.50-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x6fb  Stepping = 11

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 13:56:33
Gegemon
Возможно вам поможет вот такое решение.
p.s.: Seagate - в ведро.... )))

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 14:08:35
Lexxxxx
ОК, перенесем сервисы и будем экспериментировать. Благодарю.

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 14:08:52
Gegemon
А вообще похоже проблема была решена в 7.3.
п.п. 2.2.4
ATA command timeout in the ata(4) driver has been increased. This value can be set by using a kernel option ATA_REQUEST_TIMEOUT.

A bug in the ata(4) driver has been fixed. It could generate an I/O request larger than controller's maximum I/O size and caused a kernel panic.

An algorithm for load balancing mode in the gmirror(8) GEOM class has been changed and this mode is now set by default instead of split. The load mode uses averaged number of requests, running on each drive instead of measuring last request execution time for each drive and choosing one with smallest time.

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-09-20 14:15:56
Lexxxxx
Хорошо бы... в нашем списке под номером 2 значится апгрейд OS))) Вот и пропаапаем тогда в первую очередь ;)

[SOLVED] FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-10-05 18:39:57
Lexxxxx
Gegemon писал(а):А вообще похоже проблема была решена в 7.3.
п.п. 2.2.4

Благодарю. После долгих мытарств. Все-таки одолел апгрейд и ребил зеркала:

Код: Выделить всё

# uname -a
.... FreeBSD 7.3-STABLE #1: Thu Sep 30 19:11:42 NOVST 2010 root@:/usr/obj/usr/src/sys/****  amd64
#
#
# gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  ad1
                      ad0

Re: FAILURE - WRITE_DMA48 status=51<READY,DSC,ERROR>

Добавлено: 2010-10-06 12:33:49
Gegemon
Поздравляю!
Попроси модеров закрыть тему со статусом "Решено"