Здравствуйте,

Да, действительно, smartctl напрямую не умеет работать с Adaptec. Однако 
возможность достучаться до него есть.

FreeBSD с Adaptec есть, но не нужды проверять на нем диски не было, и сходу в 
/dev/ нужных устройств (см. ниже) не нашел. Однако, нужно было проверить диски 
на Linux машине с Adaptec, и там это можно сделать так - для каждого диска, 
подключенного к Adaptec, система (у меня  CentOS) создает отдельное устройство 
/dev/sgX, и обращаясь к нему, можно выдрать из него информацию, правда в 
каком-то его виде (см. ниже, а не в привычном), однако по этой информации тоже 
можно сделать выводы о пригодности диска к дальнейшему использованию.

У меня это работало вот на таком контроллере:
---------------------
01:00.0 RAID bus controller: Adaptec AAC-RAID (rev 09)
        Subsystem: Adaptec 5405
        Flags: bus master, fast devsel, latency 0, IRQ 48
        Memory at d8000000 (64-bit, non-prefetchable) [size=2M]
        [virtual] Expansion ROM at d8500000 [disabled] [size=512K]
        Capabilities: [98] Power Management version 2
        Capabilities: [a0] Message Signalled Interrupts: 64bit+ Queue=0/1 
Enable-
        Capabilities: [d0] Express Endpoint IRQ 0
        Capabilities: [90] Vital Product Data
        Capabilities: [100] Advanced Error Reporting 
---------------------

Пример вывода:
---------------------
smartctl -a -d scsi /dev/sg2
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
Device: SEAGATE  ST3300656SS      Version: 0005
Serial number: 3QP21ZA800009952KF12
Device type: disk
Transport protocol: SAS
Local Time is: Thu Nov 11 06:58:05 2010 CST
Device supports SMART and is Enabled
Temperature Warning Enabled
SMART Health Status: OK
Current Drive Temperature:     30 C
Drive Trip Temperature:        68 C
Elements in grown defect list: 6
Vendor (Seagate) cache information
  Blocks sent to initiator = 519714089
  Blocks received from initiator = 2989269839
  Blocks read from cache and sent to initiator = 3545821881
  Number of read and write commands whose size <= segment size = 2225240801
  Number of read and write commands whose size > segment size = 13935
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 10473.38
  number of minutes until next internal SMART test = 58
Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    
Total
               ECC          rereads/    errors   algorithm      processed    
uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  
errors
read:   3771806375      277         0  3771806652   3771806654     191271.755   
        2
write:         0        0         4         4         35     248056.542         
 31
verify:    95693        0         0     95693      95693          0.053         
  0
Non-medium error count:       13
---------------------

Сейчас Linux live CDs валом, будет конечно downtime, но если очень нужно, можно 
его запланировать, загрузится с Live CD и проверить.

И еще. Рекомендую использовать свежую версию, а не ту, что идет с 
дистрибутивом. Так же, если есть realloc sectors, это конечно признак, что диск 
дохнет, но это не значит, что его нужно срочно менять. Для того, чтобы решить 
надо менять или нет, рекомендуется сделать следующее:
1. Запустить проверку, при этом массив не разваливается (внимание, это я 
пробовал на 3ware с FreeBSD, будет ли это работать на Adaptec под Linux через 
/dev/sgX и есть ли риск degrade RAID я не знаю):
smartctl -d 3ware,0 --test=long /dev/twa0
Оно сразу напишет, сколько примерно по времени займет проверка (до нескольких 
часов).
2. Периодически поглядывать состояние:
smartctl -l selftest -d 3ware,0 /dev/twa0

Вот вывод успешно завершенного теста (этот диск пока можно не менять, но он уже 
дохнет, и можно задуматься о его переносе в менее критичную машину или на 
свалку, особенно если такой диск в массиве не один):
----------------
# smartctl -l selftest -d 3ware,0 /dev/twa0
smartctl 5.39.1 2010-01-28 r3054 [FreeBSD 8.1-RELEASE i386] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  
LBA_of_first_error
# 1  Extended offline    Completed without error       00%     34485         -
----------------

А вот вывод теста, когда все плохо (такой диск надо менять сейчас):
----------------
smartctl -l selftest -d 3ware,0 /dev/twa0
smartctl 5.39.1 2010-01-28 r3054 [FreeBSD 8.1-RELEASE i386] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  
LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     32937         
592437692
----------------

Ну и самая общая рекомендация, которая вобщем-то к теме отношения не имеет, 
offtopic так сказать, но раз пошла такая пьянка... Обязательно делайте хотя бы 
раз в месяц (а то и каждые выходные) RAID verify в терминах 3ware, scrub в 
терминах Adaptec. Это позволит выявить диски с дохлыми секторами (на 
контроллере, который делает Reallocate - диски, в которых reallocate делать уже 
некуда) и которые при первой же ошибке чтения этого сектора вылетят из массива. 
Не делая этого вы рискуете (в моей практике 3 или 4 раза было такое, но там был 
Linux Soft RAID, он verify не умеет) получить систему, с BAD sectors на 
нескольких дисках одновременно. Поясню на простейшем примере RAID1 чем это 
чревато - 2 диска, на первом появился BAD в редко читаемом секторе 12345. Через 
месяц, на втором диске в секторе 23456. Через неделю, ну так получилось, идет 
обращение к bad sector на диске 2, по каким-то причинам сектор не может быть 
reallocated (некуда или контроллер не умеет), диск выпадает из массива. Мы его 
заменяем новым, он начинает sync с 1го диска, доходит до сектора 12345 и sync 
прерывается, так как данные не могут быть прочитаны, а больше их взять негде. В 
результате, мы получаем degraded array, без возможности rebuild. Собственно и 
это решается, но быстрее и проще делать Scrub и менять диски по мере выхода из 
строя, чем потом шаманить с degraded RAID с downtime и возможно backups (у вас 
же есть, правда?).

С Уважением,
Игорь Канюка

> > # smartctl -iA /dev/da0
> > smartctl 5.40 2010-10-16 r3189 [FreeBSD 8.0-RELEASE-p3 i386] (local
> > build) Copyright (C) 2002-10 by Bruce Allen,
> > http://smartmontools.sourceforge.net
> >
> > Device: ADAPTEC  RAID-5           Version: 320R
>            ^^^^^^^^^^^^^^^
> Это у вас не диск, а контроллер отвечает smart'у.
> что он там показывает наружу, и как это связано со smart-параметрами
> самих дисков - никому не известно....
> 
>  > Current Drive Temperature:     22 C
> 
> Вот скажите - какого диска эта температура? Или это "средняя по
> больнице"?
> 
> (в одном из "моих" серверов стоит SmartArray, поддерживаемый
> smartmontools, - сейчас там температура дисков 33 29 23 21 21 18.
> Разброс, как видите, большой...)
> 
> 
> К сожалению, adaptec'овские контроллеры не поддерживаются
> командой
> "--device=" - нельзя "достучаться" до самого диска...
> 
> Думаю, вам стоит пообщаться с присутствующим в этой же рассылке Alex
> Samorukov <[email protected]> - судя по переписке 2009 года, он
> участвует
> в разработке smartmontools.
> 
> 
> --
> Best regards,
> Andrew A. Kopeyko <[email protected]>
> http://www.zvuki.ru/

Ответить