Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Smart состояние дисков. (http://forum.oszone.net/showthread.php?t=218276)

voler 18-10-2011 15:00 1776130

Smart состояние дисков.
 
Добрый день.

Интересует есть ли штатная утилита в windows для проверки статуса дисков.
В Windows 7
Можно проверить так
Код:

cmd -> wmic -> diskdrive get status
Нужен скрипт для проверки дисков..

Kazun 18-10-2011 15:09 1776136

Так а чем wmic не устраивает? Как вариант можете использовать diskpart.

voler 18-10-2011 15:22 1776145

Может и устроит, но интересует тогда справка по программе.

Kazun 18-10-2011 15:23 1776146

wmic /?

voler 18-10-2011 15:29 1776150

Цитата:

Цитата Kazun
wmic /? »

Нет я говорил об diskdrive get status, точнее можно ли получать статус по конкретному диску sda.

Kazun 18-10-2011 15:39 1776160

Код:

C:\Users\Александр>wmic diskdrive get Partitions,DeviceId,Model,Size,Caption,Sta
tus /value


Caption=SAMSUNG HD502HI ATA Device
DeviceID=\\.\PHYSICALDRIVE0
Model=SAMSUNG HD502HI ATA Device
Partitions=3
Size=500105249280
Status=OK


Caption=SAMSUNG HD502HI ATA Device
DeviceID=\\.\PHYSICALDRIVE1
Model=SAMSUNG HD502HI ATA Device
Partitions=1
Size=500105249280
Status=OK

C:\Users\Александр>wmic diskdrive where DeviceID="\\\\.\\PHYSICALDRIVE1" get DeviceId,Status
DeviceID Status
\\.\PHYSICALDRIVE1 OK

http://support.microsoft.com/service...ampleusage.asp

О свойствах и методах класса diskdrive подробнее - http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Iska 18-10-2011 16:30 1776194

У меня как раз будет вечером возможность проверить ;).

voler 18-10-2011 16:46 1776207

Осталось еще накатать батник, для Nagios. Я так понимаю, что нужно в cmd сценарий заложить, что при отсутствии ошибок выводить DeviceID _D - OK., А при ошибках выводить полный вывод.

Хотя, вот что выводит
wmic diskdrive get Partitions,DeviceId,Model,Size,Caption,Status /value
Цитата:

Caption=WDC WD1600AAJS-60PSA0
DeviceID=\\.\PHYSICALDRIVE0
Model=WDC WD1600AAJS-60PSA0
Partitions=3
Size=160039272960
Status=OK
Хотя в биосе выводится сообщение, о необходимости заменить диск.
И CrystalDiskInfo говорит тоже самое.

kiripanda 18-10-2011 17:08 1776228

Цитата:

Status=OK
не густо
читать дальше »

Код:

smartctl 5.41 2011-06-09 r3365 [i686-w64-mingw32-xp-sp3] (sf-win32-5.41-1)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
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    0x000f  099  099  051    Pre-fail  Always      -      918
  3 Spin_Up_Time            0x0007  076  076  011    Pre-fail  Always      -      7940
  4 Start_Stop_Count        0x0032  099  099  000    Old_age  Always      -      1133
  5 Reallocated_Sector_Ct  0x0033  100  100  010    Pre-fail  Always      -      0
  7 Seek_Error_Rate        0x000f  100  100  051    Pre-fail  Always      -      0
  8 Seek_Time_Performance  0x0025  100  100  015    Pre-fail  Offline      -      0
  9 Power_On_Hours          0x0032  096  096  000    Old_age  Always      -      19063
 10 Spin_Retry_Count        0x0033  100  100  051    Pre-fail  Always      -      0
 11 Calibration_Retry_Count 0x0012  100  100  000    Old_age  Always      -      0
 12 Power_Cycle_Count      0x0032  099  099  000    Old_age  Always      -      1090
 13 Read_Soft_Error_Rate    0x000e  099  099  000    Old_age  Always      -      918
183 Runtime_Bad_Block      0x0032  100  100  000    Old_age  Always      -      0
184 End-to-End_Error        0x0033  100  100  099    Pre-fail  Always      -      0
187 Reported_Uncorrect      0x0032  100  100  000    Old_age  Always      -      918
188 Command_Timeout        0x0032  100  100  000    Old_age  Always      -      0
190 Airflow_Temperature_Cel 0x0022  067  057  000    Old_age  Always      -      33 (Min/Max 15/33)
194 Temperature_Celsius    0x0022  066  057  000    Old_age  Always      -      34 (Min/Max 15/34)
195 Hardware_ECC_Recovered  0x001a  100  100  000    Old_age  Always      -      25975
196 Reallocated_Event_Count 0x0032  100  100  000    Old_age  Always      -      0
197 Current_Pending_Sector  0x0012  100  100  000    Old_age  Always      -      1
198 Offline_Uncorrectable  0x0030  100  100  000    Old_age  Offline      -      0
199 UDMA_CRC_Error_Count    0x003e  100  100  000    Old_age  Always      -      0
200 Multi_Zone_Error_Rate  0x000a  100  100  000    Old_age  Always      -      0
201 Soft_Read_Error_Rate    0x000a  253  253  000    Old_age  Always      -      0


Iska 18-10-2011 20:15 1776332

Цитата:

Цитата Iska
У меня как раз будет вечером возможность проверить ;). »

У меня фокус не удался. Для degraded массива RAID-1 статус:
Код:

Status=OK
Увы.

Вот тут: WMI Support for SMART Drives кое-что есть. Но у меня сие именно для массивов-то и не работало, только для отдельных, не смонтированных в массивы, дисков. Пробуйте, может быть, окажитесь удачливее.

kiripanda 18-10-2011 23:35 1776479

Код:

setlocal enableextensions enabledelayedexpansion
::        Используется smartctl.exe из http://smartmontools.sourceforge.net

call :ctl sda
call :ctl sdb
goto :eof

:ctl
set "i="
for /f "tokens=2,* delims=: " %%a in ('smartctl.exe -i %1 ^|sort /r ^|findstr /c:"Device Model" /c:Serial') do set "i=%%b.!i!"
for /f "delims=" %%a in ('smartctl.exe -f brief -A %1 ^|findstr /c:Reallocated /c:Pending') do echo %%a>>"!i!tmp"
fc "!i!tmp" "!i!" &&del /q "!i!tmp" ||(move /y "!i!tmp" "!i!" &echo %date% %time%>>"!i!txt" &type "!i!">>"!i!txt" &start "" "!i!txt")
goto :eof
::        При изменениях в наблюдаемых атрибутах (Reallocated_Sector, Reallocated_Event, Current_Pending_Sector)
::        дополняется и запускается %Device Model%.%Serial Number%.txt


voler 19-10-2011 11:31 1776715

У меня smartctl на Windows 7 x64 работать не хочет.
C:\Program Files (x86)\smartmontools\bin>smartctl.exe --scan
Цитата:

/dev/sda -d ata # /dev/sda, ATA device
/dev/sdd -d sat # /dev/sdd [USB Cypress], ATA device
А вот дальше хоть тресни smartctl.exe /dev/sda -d ata
Цитата:

smartctl 5.41 2011-06-09 r3365 [i686-w64-mingw32-win7(64)-sp1] (sf-win32-5.41-1)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
ATA device successfully opened
Use 'smartctl -a' (or '-x') to print SMART (and more) information

kiripanda 19-10-2011 12:37 1776765

Ну всё ОК, девайс успешно открыт. Дальше smartctl.exe /dev/sda -a или smartctl.exe /dev/sda -x

voler 19-10-2011 13:24 1776820

Вот, что пишет.
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
Smartctl: Device Read Identity Failed: Function not implemented
A mandatory SMART command failed: exiting. To continue, add one or more '-T perm
issive' options.

А при использовании параметра -T permissive
Цитата:

Цитата kiripanda
Дальше smartctl.exe /dev/sda -a или smartctl.exe /dev/sda -x »

Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
Smartctl: Device Read Identity Failed: Function not implemented
=== START OF INFORMATION SECTION ===
Device Model: [No Information Found]
Serial Number: [No Information Found]
Firmware Version: [No Information Found]
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: [No Information Found]
ATA Standard is: [No Information Found]
Local Time is: Wed Oct 19 13:23:40 2011
SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 82-83 don't show if SMAR
T supported.
SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 85-87 don't show if SMAR
T is enabled.
A mandatory SMART command failed: exiting. To continue, add one or more '-T perm
issive' options.

kiripanda 19-10-2011 14:40 1776887

М.б. не поддерживается диск?
Samsung?

Попробуй другую подобную утилиту

voler 19-10-2011 15:13 1776916

Диска WD


Время: 02:28.

Время: 02:28.
© OSzone.net 2001-