FastNetMon

Показаны сообщения с ярлыком S.M.A.R.T. Показать все сообщения
Показаны сообщения с ярлыком S.M.A.R.T. Показать все сообщения

среда, 6 октября 2010 г.

S.M.A.R.T, smartctl и Adaptec 5405

Давно мучает меня - как получить S.M.A.R.T данные жестких дисков, если они подключены к Adaptec RAID контроллеру?

Сам массив доступен системе по привычному адресу /dev/sda и если сделать:
smartctl --all /dev/sda

То нас неминуемо постигнет разочарование:
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Device: Adaptec Device 0 Version: V1.0
scsiModePageOffset: response length too short, resp_len=4 offset=4 bd_len=0
>> Terminate command early due to bad response to IEC mode page
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

Как же быть? Да очень просто - Linux создает для всех физических дисков, подключенных к контроллеру виртуальные устройства (честно говоря, я не понял что это именно есть, но считать данные как с блочного устройства у меня с них не получилось да и команда file считает их "/dev/sg1: character special (21/1)", что также далеко от блочного устройства), через которые можно получить данные S.M.A.R.T. Имена этих устройств имеют вид /dev/sgX, причем, sg0 - это сам контроллер (и попытка прочесть у него что-либо посредством smartctl ни к чему кроме ошибки не приведет), а вот sg1...sgN - это SAS жесткие диски (возможно, для SATA дисков имена будут иные, возможности проверить у меня нету), подключенные к RAID контроллеру.

Итого, делаем запрос S.M.A.R.T. диска /dev/sg1:
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Device: SEAGATE ST3300657SS Version: 0008
Serial number: 3SJ20ZJK00009105PBVK
Device type: disk
Transport protocol: SAS
Local Time is: Wed Oct 6 09:04:21 2010 CEST
Device supports SMART and is Enabled
Temperature Warning Enabled
SMART Health Status: OK

Current Drive Temperature: 50 C
Drive Trip Temperature: 68 C
Elements in grown defect list: 0
Vendor (Seagate) cache information
Blocks sent to initiator = 757336451
Blocks received from initiator = 163754101
Blocks read from cache and sent to initiator = 55190153
Number of read and write commands whose size <= segment size = 849389 Number of read and write commands whose size > segment size = 0
Vendor (Seagate/Hitachi) factory information
number of hours powered up = 13.22
number of minutes until next internal SMART test = 34

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: 3230895 0 0 3230895 3230895 387.756 0
write: 0 0 0 0 0 83.880 0
verify: 551501 0 0 551501 551501 0.000 0

Non-medium error count: 0

[GLTSD (Global Logging Target Save Disable) set. Enable Save with '-S on']
No self-tests have been logged
Long (extended) Self Test duration: 3200 seconds [53.3 minutes]


По мотивам: http://www.cyberciti.biz/faq/linux-checking-sas-sata-disks-behind-adaptec-raid-controllers/

суббота, 28 августа 2010 г.

Странные ошибки про HDD в dmesg

Имеем вот такой комплект ошибок в dmesg:

[1545760.918827] ata1.00: exception Emask 0x0 SAct 0xf SErr 0x0 action 0x6 frozen
[1545760.918876] ata1.00: failed command: READ FPDMA QUEUED
[1545760.918908] ata1.00: cmd 60/10:00:b7:ef:69/00:00:06:00:00/40 tag 0 ncq 8192 in
[1545760.918909] res 40/00:00:00:00:00/00:00:00:00:00/a0 Emask 0x4 (timeout)
[1545760.918997] ata1.00: status: { DRDY }
[1545760.919022] ata1.00: failed command: READ FPDMA QUEUED
[1545760.919053] ata1.00: cmd 60/08:08:ef:ef:69/00:00:06:00:00/40 tag 1 ncq 4096 in
[1545760.919054] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[1545760.919142] ata1.00: status: { DRDY }
[1545760.919166] ata1.00: failed command: READ FPDMA QUEUED
[1545760.919197] ata1.00: cmd 60/08:10:ef:ee:69/00:00:06:00:00/40 tag 2 ncq 4096 in
[1545760.919199] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[1545760.919286] ata1.00: status: { DRDY }
[1545760.919310] ata1.00: failed command: READ FPDMA QUEUED
[1545760.919341] ata1.00: cmd 60/08:18:07:ef:69/00:00:06:00:00/40 tag 3 ncq 4096 in
[1545760.919343] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[1545760.919430] ata1.00: status: { DRDY }
[1545760.919459] ata1: hard resetting link
[1545761.238312] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[1545761.309374] ata1.00: configured for UDMA/133
[1545761.309403] ata1.00: device reported invalid CHS sector 0
[1545761.309431] ata1.00: device reported invalid CHS sector 0
[1545761.309458] ata1.00: device reported invalid CHS sector 0
[1545761.309486] ata1.00: device reported invalid CHS sector 0
[1545761.309520] ata1: EH complete
[1670305.969322] sd 0:0:0:0: Attached scsi generic sg0 type 0
[1670305.969365] sd 1:0:0:0: Attached scsi generic sg1 type 0
[1670305.969404] sd 4:0:0:0: Attached scsi generic sg2 type 0
[1670305.969444] sd 5:0:0:0: Attached scsi generic sg3 type 0

Тут проблема в том, что не указано, какой диск сбоит (sda, sdb, sdc или sdd), а лишь указано, что это "ata1.00". Как это расшифровать я пока что не знаю. Сейчас посмотрим в коде ядра и добавим :)

воскресенье, 9 мая 2010 г.

SMART мониторинг SuperTalent UltraDrive GX

Если пытаться вызывать команду smartctl --all /dev/sda в Debian Lenny на SSD диск SuperTalent UltraDrive, то в ответ мы получим кучу бреда. Это объясняется тем, что версия smartmontools старовата в Дебе и надо собрать smartmontools из svn: http://phpsuxx.blogspot.com/2010/02/smartmontools-5391.html и после этого будет стройная картинка:


smartctl 5.40 2010-05-04 r3103 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family: SuperTalent UltraDrive GX SSD
Device Model: STT_FTM28GX25H
Serial Number: P601148-AFBX-C089053
Firmware Version: 1819
User Capacity: 128,035,676,160 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sun May 9 23:20:34 2010 MSD
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x1d) SMART execute Offline immediate.
No Auto Offline data collection support.
Abort Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x00) Error logging NOT supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 0) minutes.
Extended self-test routine
recommended polling time: ( 0) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x0000 --- --- --- Old_age Offline - 6
9 Power_On_Hours 0x0000 --- --- --- Old_age Offline - 2281
12 Power_Cycle_Count 0x0000 --- --- --- Old_age Offline - 0
184 Initial_Bad_Block_Count 0x0000 --- --- --- Old_age Offline - 20
195 Program_Failure_Blk_Ct 0x0000 --- --- --- Old_age Offline - 0
196 Erase_Failure_Blk_Ct 0x0000 --- --- --- Old_age Offline - 0
197 Read_Failure_Blk_Ct 0x0000 --- --- --- Old_age Offline - 0
198 Read_Sectors_Tot_Ct 0x0000 --- --- --- Old_age Offline - 606564133
199 Write_Sectors_Tot_Ct 0x0000 --- --- --- Old_age Offline - 313738725
200 Read_Commands_Tot_Ct 0x0000 --- --- --- Old_age Offline - 14241593
201 Write_Commands_Tot_Ct 0x0000 --- --- --- Old_age Offline - 19250806
202 Error_Bits_Flash_Tot_Ct 0x0000 --- --- --- Old_age Offline - 642388
203 Corr_Read_Errors_Tot_Ct 0x0000 --- --- --- Old_age Offline - 621881
204 Bad_Block_Full_Flag 0x0000 --- --- --- Old_age Offline - 0
205 Max_PE_Count_Spec 0x0000 --- --- --- Old_age Offline - 10000
206 Min_Erase_Count 0x0000 --- --- --- Old_age Offline - 1
207 Max_Erase_Count 0x0000 --- --- --- Old_age Offline - 8407
208 Average_Erase_Count 0x0000 --- --- --- Old_age Offline - 242
209 Remaining_Lifetime_Perc 0x0000 --- --- --- Old_age Offline - 98
211 Unknown_Attribute 0x0000 --- --- --- Old_age Offline - 0
212 Unknown_Attribute 0x0000 --- --- --- Old_age Offline - 0
213 Unknown_Attribute 0x0000 --- --- --- Old_age Offline - 0


Очень радует параметр: Remaining_Lifetime_Perc, очень интеллектуально :)

воскресенье, 7 февраля 2010 г.

Сборка smartmontools 5.39.1 из исходников

Причина пересборки вручную довольно простая, при диагностике стандартным Дебияновским smartctl для новых винтов ST31500341AS появились загадочные записи:

241 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 2106849488
242 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 1822690218


А для SSD дсиков он начал выдавать полный бред.

Офсайт: http://sourceforge.net/apps/trac/smartmontools/

cd /usr/src
wget 'http://downloads.sourceforge.net/project/smartmontools/smartmontools/5.39.1/smartmontools-5.39.1.tar.gz?use_mirror=sunet'
tar -xf smartmontools-5.39.1.tar.gz
cd smartmontools-5.39.1


Если же свежеть версии релиза не устраивает, можно собрать из svn:

apt-get install -y subversion
cd /usr/src
svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools
cd smartmontool
./autogen.sh


Собираем:

./configure --prefix=/opt/smartmontools
make
make install



Запускаем диагностику:
/opt/smartmontools/sbin/smartctl --all /dev/sda



Ну вот и все, непонятные "Unknown_Attribute" сменились на Total_LBAs_Written и Total_LBAs_Read.

вторник, 5 января 2010 г.

Что такое Reallocated_Sector_Ct ?

The SMART Attributes Data Structure section contains many useful parts. Reallocated_Sector_Ct is how many sectors have been reallocated to to errors. Some sector reallocations are OK, but if this number start to grow it is an indication that your disk is getting sick.


(с) https://fedoraproject.org/wiki/Smartctl

суббота, 2 января 2010 г.

SError: { Handshk } / status: { DRDY ERR } / error: { ICRC ABRT }

Наблюдаются проблемы с винтом. При нормальном SMART в логах ядра следующее:

Jan 2 02:26:15 xxxx kernel: [19583.039809] ata1: SError: { Handshk }
Jan 2 02:26:17 xxxx kernel: [19584.962010] ata1.00: status: { DRDY ERR }
Jan 2 02:26:17 xxxx kernel: [19584.962031] ata1.00: error: { ICRC ABRT }
Jan 2 02:26:17 xxxx kernel: [19584.962054] ata1.00: cmd 61/00:40:c1:ae:27/04:00:16:00:00/40 tag 8 ncq 524288 out
Jan 2 02:26:17 xxxx kernel: [19584.962056] res 51/84:10:b9:96:27/84:00:16:00:00/40 Emask 0x10 (ATA bus error)



Теперь необходимо определить, кто такой этот ata1.00 тут нам опять помогут логи:

[19586.027901] ata1.00: status: { DRDY ERR }
[19586.027901] ata1.00: error: { ICRC ABRT }
[19586.027901] ata1.00: cmd 61/00:90:71:7b:28/04:00:16:00:00/40 tag 18 ncq 524288 out
[19586.027901] res 51/84:48:21:4b:28/84:00:16:00:00/40 Emask 0x10 (ATA bus error)
[19586.027901] ata1.00: status: { DRDY ERR }
[19586.027901] ata1.00: error: { ICRC ABRT }
[19586.027901] ata1: hard resetting link
[19586.907942] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[19586.940221] ata1.00: configured for UDMA/133
[19586.940266] ata1: EH complete
[19586.940258] sd 0:0:0:0: [sda] 625142448 512-byte hardware sectors (320073 MB)
[19586.940258] sd 0:0:0:0: [sda] Write Protect is off
[19586.940258] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[19586.940258] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[36194.452529] sd 0:0:0:0: Attached scsi generic sg0 type 0
[36194.452529] sd 2:0:0:0: Attached scsi generic sg1 type 0


Откуда очевидно, что /dev/sda проследует на замену по физической неисправности :) Также, возможно, виноват шлейф. Его также надо менять.

суббота, 26 декабря 2009 г.

Тестирование SMART

Запуск self-теста:
smartctl -t short /dev/sda


Просмотр результатов:
smartctl --all /dev/sda


Если же в ответ Вы получаете ошибку:
SMART Disabled. Use option -s with argument 'on' to enable it.


То сначала попробуйте активировать SMART:
smartctl -s on /dev/sda


А также попробуйте использовать такой вид вызова:
smartctl -d ata --all /dev/sda


Вот это поле необходимо обратить внимание:
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4367 -


К слову, кроме short есть целый набор типов теста: offline, short, long, conveyance, select,M-N, pending,N, afterselect,[on|off], scttempint,N[,p], но с этим уже сами разбирайтесь :)

среда, 23 декабря 2009 г.

Debian: IE (SMART) not enabled, skip device

На Debian Etch имеем ошибку:


Dec 23 06:04:56 billing smartd[4494]: Device: /dev/sda, IE (SMART) not enabled, skip device Try 'smartctl -s on /dev/sda' to turn on SMART features


Чтобы он заработал, необходимо явно указывать тип устройства:
smartctl --all -d ata /dev/sdb

пятница, 23 октября 2009 г.

Мониторинг SMART на Centos и Debian

Ставим и запускаем демона smartd:

Для Centos:

yum install -y smartmontools
/etc/init.d/smartd start


Для Debian:


apt-get install smartmontools -y --force-yes


Теперь разрешаем автозапуск, открываем файл
vi /etc/default/smartmontools

и там убираем комментарий у записи: #start_smartd=yes

И запускаем:
/etc/init.d/smartmontools restart


Результат запуска можно посмотреть в Syslog (на Debian: /var/log/syslog, на Centos /var/log/messages ):

(C) 2002-8 Bruce Allen
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Home page is http://smartmontools.sourceforge.net/
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Opened configuration file /etc/smartd.conf
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Problem creating device name scan list
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device: /dev/sda, opened
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device /dev/sda: using '-d sat' for ATA disk behind SAT layer.
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device: /dev/sda, opened
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device: /dev/sda, found in smartd database.
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device: /dev/sda, is SMART capable. Adding to "monitor" list.
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device: /dev/sdb, opened
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device /dev/sdb: using '-d sat' for ATA disk behind SAT layer.
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device: /dev/sdb, opened
Oct 23 22:12:46 CentOS-53-32-minimal smartd[26841]: Device: /dev/sdb, found in smartd database.
Oct 23 22:12:47 CentOS-53-32-minimal smartd[26841]: Device: /dev/sdb, is SMART capable. Adding to "monitor" list.
Oct 23 22:12:47 CentOS-53-32-minimal smartd[26841]: Monitoring 0 ATA and 2 SCSI devices
Oct 23 22:12:47 CentOS-53-32-minimal smartd[26891]: smartd has fork()ed into background mode. New PID=26891.


После этого демон smartd будет добавлен в автозапуск:

chkconfig --list | grep smart
smartd 0:off 1:off 2:on 3:on 4:on 5:on 6:off


Теперь смотрим, какие диски у нас есть: ls -la /dev/ | grep sd

crw-rw---- 1 root tty 2, 61 Aug 24 08:22 ptysd
brw-r----- 1 root disk 8, 0 Aug 24 08:22 sda
brw-r----- 1 root disk 8, 1 Aug 24 08:22 sda1
brw-r----- 1 root disk 8, 2 Aug 24 08:22 sda2
brw-r----- 1 root disk 8, 3 Aug 24 08:22 sda3
brw-r----- 1 root disk 8, 16 Aug 24 08:22 sdb
brw-r----- 1 root disk 8, 17 Aug 24 08:22 sdb1
brw-r----- 1 root disk 8, 18 Aug 24 08:22 sdb2
brw-r----- 1 root disk 8, 19 Aug 24 08:22 sdb3
crw-rw---- 1 root tty 3, 61 Aug 24 08:22 ttysd


Итого, нас интересуют: /dev/sda и /dev/sdb

Теперь можем легко получить SMART информацию о любом из винтов: smartctl --all /dev/sdb в ответ нам будет выдано огромное количество информации :)

Теперь об автоматике, в конфиге smatd /etc/smartd.conf по сути одна настройка:

DEVICESCAN -H -m root

Она означает, что в случае возникновения проблем, которые обнаружит смарт будет послано письмо руту (-H Monitor SMART Health Status, report if failed).

Вот хорошая статья по настройке уведомлений в случае ошибок SMART: http://ksimute.trancom.ru/smart-hdd.shtml