Назад | Перейти на главную страницу

3Ware массив RAID6 иногда зависает. Необнаруженный сломанный диск?

У нас есть сервер Debian с 8-дисковым RAID-контроллером 3Ware 9650SE, с 5-дисковым массивом RAID6, действующим как хост виртуальной машины, все Linux. Проблемы продолжают возникать, и я подозреваю, что диск не обнаружен.

У нас было несколько сбоев, когда и хост, и все гости говорили, что система ввода-вывода заблокирована на 120 секунд или более. Мы заподозрили неисправный RAID-контроллер, но заменили его на идентичный с идентичной прошивкой, но не исправили. Я не думал, что так будет, потому что второй массив RAID1 продолжал нормально работать.

Почти неделю назад (воскресенье), когда это происходило, автоматическая проверка была на уровне 66%. Вчера вечером (в пятницу утром) он был на уровне 67%. И до, и после загрузки, и у обоих пока возникают проблемы. Когда я отключил проверку с помощью tw_cli /c0/u0 stop verify, все снова стало отзывчивым.

Я подозреваю, что он застрял из-за неисправности диска примерно на 66%. Автоматическая проверка начинается в субботу:

# tw_cli /c0 show verify
/c0 basic verify weekly preferred start: Saturday, 12:00AM

и обычно это делается к пятнице. Учитывая, что воскресенье было 66%, а пятница - 67%, это вряд ли будет совпадением.

'smartctl -a -d 3ware, 0 / dev / twa0' и 'smartctl -t long' (длительная самопроверка SMART) на всех дисках не выявили ошибок. Также не делает tw_cli /c0 show alarms.

Я подозревал, что диск сломан так, что его трудно обнаружить, но я извлекал каждый диск из массива один за другим, создавал из него «единственный» массив и заполнял его нулями. Ни один диск не показал ошибок.

Или какой-нибудь другой совет?

Редактировать:

это макет:

# tw_cli /c0 show

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-6    OK             -       -       256K    5587.9    RiW    OFF    
u1    SPARE     OK             -       -       -       1863.01   -      OFF    
u2    RAID-1    OK             -       -       -       1862.63   RiW    ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   1.82 TB   SATA  0   -            ST32000542AS        
p1    OK             u0   1.82 TB   SATA  1   -            ST32000542AS        
p2    OK             u0   1.82 TB   SATA  2   -            ST32000542AS        
p3    OK             u0   1.82 TB   SATA  3   -            ST32000542AS        
p4    OK             u0   1.82 TB   SATA  4   -            ST32000542AS        
p5    OK             u1   1.82 TB   SATA  5   -            WDC WD2002FYPS-02W3 
p6    OK             u2   1.82 TB   SATA  6   -            WDC WD2002FYPS-02W3 
p7    OK             u2   1.82 TB   SATA  7   -            WDC WD2002FYPS-02W3 

Name  OnlineState  BBUReady  Status    Volt     Temp     Hours  LastCapTest
---------------------------------------------------------------------------
bbu   On           Yes       OK        OK       OK       0      xx-xxx-xxxx

Рассматриваемая единица - u0.

edit2:

tw_cli / c0 show diag показывает кое-что интересное (edit3: это безвредно, я узнал, что это вызвано вызовом smartctl -a -d 3ware,X /dev/twa0 где X - недопустимый порт):

QueueAtaPassthrough() called with invalid TargetHandle: 0x17, portHandle: 0xFF

Legacy opcode=0xB1 error=0x10E

E=010E T=14:15:51     : Invalid operation for specified port
E=010E T=14:15:51 U=0 : Return error status to host
Error, Unit 23: Invalid operation for specified port
(EC:0x10e, SK=0x05, ASC=0x24, ASCQ=0x00, SEV=01, Type=0x70)
No additional sense data
Error, Unit 23: 0x10E OVERRIDDEN due to invalid sense buffer descriptor
sense buffer: len=0, address=0x414ca2c7c
Send AEN (code, time): 0031h, 06/21/2013 14:26:16
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Я получаю их тонны. Я понятия не имею, что это значит. Я даже не могу понять, что это за модуль или порт. (edit3: теперь я знаю, это безвредно).

Учитывая мой edit3, я вернулся к исходной точке. Ничто не указывает на то, что диск сломан, за исключением того, что проверка зависает на 66% и приводит к зависанию массива, что также иногда случается случайно. Я бы хотел, чтобы проверка нашла ошибку ...

2 вещи, которые пока не обсуждались:

  1. Это контроллер SATA RAID? В таком случае кабели SATA склонны к старению, и их замена может легко решить такие проблемы. В большинстве случаев это можно попробовать, когда возникают ошибки диска, задержки, таймауты, но значения SMART все в порядке, и диск проходит все самотестирование. К сожалению, найти хорошего продавца кабеля SATA сложно.
  2. RAID-контроллеры 3Ware устарели и в наши дни не поддерживаются. Вы не получите ни обновления прошивки, ни запасные части. В случае выхода из строя вашего контроллера восстановление RAID может быть невозможно без соответствующего контроллера И прошивки. Тогда потребуется дорогостоящее восстановление данных.

Эта проблема может быть связана с тем, что один из дисков обнаруживает ошибку чтения и блокирует весь массив до тех пор, пока либо ему не удастся перераспределить сектор, либо RAID-контроллер не предположит, что диск мертв, и загрузит его из массива, пометив его как «Degraded». (это полностью зависит от рассматриваемого контроллера). Это может происходить часто, если диск начинает умирать, но все еще проходит SMART. Большинство потребительских дисков будут продолжать попытки чтения бесконечно.

Эта проблема решена в некоторых дисках, предназначенных для RAID, с помощью так называемого Контроль восстановления после ошибок. WD называет это TLER. С сайта:

RAID-specific time-limited error recovery (TLER) - Pioneered by WD, this feature prevents drive fallout caused by the extended hard drive error-recovery processes common to desktop drives.

По сути, он сообщает диску, что, если он не может прочитать сектор, отказаться от него через x секунд. Это замечательно для RAID, поскольку данные могут быть восстановлены с другого диска.

Из того, что я читал, ST32000542AS не реализует никаких форм ERC, поэтому любой из них может заблокировать весь массив. WD2002FYPS фактически реализует TLER WD, поэтому они не вызовут этой проблемы.

Просто чтобы убедиться, какая у вас версия прошивки?

У меня возникла проблема - которая очень похожа на то, что вы описываете - при соблюдении следующих требований:

  • Контроллер серии 3ware 96xx
  • RAID 6
  • Размер полосы 256 КБ
  • Версия прошивки <v4.10.00.021 *

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

Позже я попробовал новую прошивку (* 4.10.00.021, я думаю, исправил) с 256k и работал как шарм. 4.10.00.027 - последняя версия.

Раньше у меня были проблемы с контроллером 3ware и дисками Seagate. Есть тонкая несовместимость прошивок. Перешел на диски Samsung, проблема решена.