Конфигурирование 3ware 9690SA-4I c помощью утилиты tw_cli.exe

Конфигурирование и перепрошивка Firmware 9690SA-4I

1. 3ware 9690SA-4I и BSOD. Пропадают диски в 9690SA-4I .

В моём случае raid 9690SA-4I вёл себя таким образом. Внезапно, во время активности HDD, или после ребута пропадали винты с сообщением:

disk read error occurred.
Press Ctrl + Alt + Del to restart

Появлялись они только после выключения сервера или выключения питания на пару сек. В логах перед падением сервера в BSOD появлялись ошибки про 3ware raid типа AEN 0x8: unit=0 , а  при запуске утилиты tw_cli.exe.

tw_cli.exe show diag

сыпалась куча ошибок такого вида:

040A170, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A0A8, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A150, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A150, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A170, segID=0x32, events=8, error=0x0)
Send AEN (code, time): 0031h, 08/05/2011 13:05:55
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

DcbMgr::WriteSegment(map=0xC040A150, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
.
.
.
.
.
DcbMgr::WriteSegment(map=0xC040A130, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A150, segID=0x32, events=8, error=0x0)
Send AEN (code, time): 0031h, 08/05/2011 13:55:45
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

DcbMgr::WriteSegment(map=0xC040A170, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
.
.
.
.
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A170, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
Send AEN (code, time): 0031h, 08/05/2011 14:45:36
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A170, segID=0x32, events=8, error=0x0)
Send AEN (code, time): 0031h, 08/05/2011 15:35:26
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A138, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A170, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A090, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
Send AEN (code, time): 0031h, 08/05/2011 16:25:19
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

DcbMgr::WriteSegment(map=0xC040A150, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A170, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
.
.
.
.
.
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A100, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A150, segID=0x32, events=8, error=0x0)
DcbMgr::WriteSegment(map=0xC040A170, segID=0x32, events=8, error=0x0)
Send AEN (code, time): 0031h, 08/05/2011 17:16:15
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 18:06:06
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 18:55:58
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 19:45:50
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 20:35:42
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 21:25:32
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 22:16:32
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 23:06:23
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

Send AEN (code, time): 0031h, 08/05/2011 23:56:14
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)

SELF TEST: drive #0: SMART check passed;
SELF TEST: drive #1: SMART check passed;
SELF TEST: drive #2: SMART check passed;
SELF TEST: drive #3: SMART check passed;
SELF TEST: drive #4: no drive present.
SELF TEST: drive #5: no drive present.
SELF TEST: drive #6: no drive present.
SELF TEST: drive #7: no drive present.
.
.
.

 

Анализ дампа памяти, сделанного при BSOD,  ничего информативного не дал

Probably caused by : ntkrnlmp.exe ( nt!RtlMoveMemory+2c0 )

Followup: MachineOwner

Решение было таким:

Текущую прошивку Firmware Version = FH9X 4.08.00.006 заменить на младшую Firmware Version = FH9X 4.06.00.004. С помощью утилиты tw_cli.exe это и сделал.

/c0 update fw=filename_with_path

Тоже самое можно проделать удалённо с помощью Powershell

winrs -r:ИмяХоста c:\3ware\cli\tw_cli.exe /c0 update fw=c:\3ware\CLI\OldFirmware\FW-4.06.00.004.img

 

Перезагрузил и ОК.

2 . Включение кеша

Без кеша, рейд значительно медленно работает. При копировании больших объёмов замечал такою ситуацию.  Копирую *.vhd фалй размером больше 100 гб по 1гб\сек сети, с помощью скрипта. Начинает заполняться оперативная память(так как её у меня было 36Гб). По завершению копирования, скрипт монтирует файл как диск в ОС, но на этом моменте ошибка, так как файл не полностью скопирован, чась его в оперативке. Включив кешь, проблема исчезла.

tw_cli.exe /c0/u0 set cache=on
tw_cli.exe /c0/u0 set wcache=on
tw_cli.exe /c0/u0 set rcache=on

Проверить результат можно так:

tw_cli.exe /c0 show all

p.s Для включения кеша, желательно исползовать ботарейку, но и без неё мои сервера пару раз падали по питанию. Потерь данных не наблюдал.

Так как у меня серверов много и они в домене я написал полуавтоматизированный скрипт на Powershell и удалённо исполнял его руками с одного сервера, учитывая наличие утилиты на всех серверах.

invoke-command -filepath c:\scripts\CacheOn.ps1 -computerName ServerName

СacheOn.ps1

$Logfile = "c:\3ware\CLI\Script\log.txt"
 echo Started on %COMPUTERNAME% ">> $Logfile

c:\3ware\CLI\tw_cli.exe /c0/u0 set cache=on >> $Logfile
c:\3ware\CLI\tw_cli.exe /c0/u0 set wcache=on >> $Logfile
c:\3ware\CLI\tw_cli.exe /c0/u0 set rcache=on >> $Logfile
c:\3ware\CLI\tw_cli.exe /c0 show all >> $Logfile

Исключить битый диск из массива

/cx/px remove

Что бы не ошибится, какой физический диск вытаскивать запустим identify=on. По идее диск должен мигать лампами как ёлка.

PS C:\3ware\CLI> .\tw_cli.exe /c0/p1 set identify=on
Setting port Identify on /c0/p1 to [on] ... N/A

PS C:\3ware\CLI> .\tw_cli.exe /c0/p1 set dpmstat=clear
Clearing Drive Performance Monitor running average data on/c0/p1 ... Done.
Please note this clears the Running Average and Histogram data.

PS C:\3ware\CLI10.0\x64> .\tw_cli.exe /c0 rescan

Rescanning controller /c0 for units and drives ...Done.
Found the following unit(s): [none].
Found the following drive(s): [/c0/p1].

Запуск ребилда нового диска:

PS C:\3ware\CLI10.0\x64> .\tw_cli.exe /c0/u0 start rebuild disk=1
Sending rebuild start request to /c0/u0 on 1 disk(s) [1] ... Done.

Проверка состояния:

PS C:\3ware\CLI10.0\x64> .\tw_cli.exe /c0/u0 show

Unit     UnitType  Status         %RCmpl  %V/I/M  VPort Stripe  Size(GB)
------------------------------------------------------------------------
u0       RAID-5    REBUILDING     2%      -       -     256K    824.188
u0-0     DISK      OK             -       -       p0    -       274.729
u0-1     DISK      DEGRADED       -       -       p1    -       274.729
u0-2     DISK      OK             -       -       p2    -       274.729
u0-3     DISK      OK             -       -       p3    -       274.729
u0/v0    Volume    -              -       -       -     -       824.188

Скачать:
Утилита  для конфигурирования и мониторинга рейда 3ware 9690SA

Версия провки FW-4.06.00.004

Сайт производителя LSI (3ware)

 

Об авторе Alex

Работаю Администратором. В основном Windows. Специализируюсь на Hyper-V, поддержке продуктивных сред и во всём помогает POSH. Малость Sharepoint. Чуть чуть работаю с железом
Запись опубликована в рубрике Администрирование с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий