У меня есть зеркальный динамический диск на моем Windows 2003 Server. Как следить за исправностью тома?
Есть ли способ, чтобы сервер отправлял электронное письмо, когда есть проблема с объемом? Есть ли способ запустить на сервере S.M.A.R.T. тесты?
РЕДАКТИРОВАТЬ: Ничто так не говорит о WTF, как вход на клиентский сервер, запуск DISKPART LIST VOLUME и просмотр этого.
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 X xDrive NTFS Mirror 233 GB Failed Rd
Volume 1 C NTFS Simple 57 GB Healthy System
Volume 2 D DVD-ROM 0 B Healthy
Volume 3 F RAW Partition 466 GB Healthy
Volume 4 E New Volume NTFS Partition 932 GB Healthy
Некоторое время назад у меня был такой же вопрос. Первое, о чем я подумал, - это использование WMI, но по какой-то странной причине WMI не раскрывает работоспособность тома RAID через какие-либо обычные классы Win32_ *.
В конце концов я наткнулся на сценарий в этой статье и внес несколько изменений в соответствии с моими требованиями. Он анализирует вывод команды diskpart.exe "LIST VOLUME". Это может показаться немного грязным и некрасивым, но сейчас это лучший вариант, который я видел.
Скрипт в том виде, в каком он отображается на связанной странице, готов к использованию с Nagios / NSClient ++. Если вы немного знакомы с VBScript, достаточно легко изменить это, чтобы отправлять электронную почту вместо печати информации о состоянии.
Если вы не знаете VBScript, я с радостью предоставлю вам модифицированную версию, которая будет делать все, что вы хотите.
for /f "tokens=4,9 delims= " %a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %a %b
Замените find "SSD" словом "mirror" (или полосой ... как угодно) или именем вашего тома. (мои тома называются SSD1 + SSD2)
Вставьте командный файл с @echo off, и ур готов. :)
@echo off
for /f "tokens=4,9 delims= " %%a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %%a %%b
Вышеуказанная строка необходима для партии. знак равно
tokens=8
Я использую этот уродливый командный файл для наблюдения за более чем сотней серверов, чтобы проверить статус зеркала, и результат прекрасный. Это клиентский плагин nsclient ++, который выполняет пассивную проверку каждые четыре часа для отправки результата на сервер nagios.
check_mirror.bat
@echo off
echo list volume | diskpart | find "Mirror" > H
for /f %%i in ('type H ^| find /c "Mirror"') do set /a M=%%i
for /f %%i in ('type H ^| find "Mirror" ^| find /c "Health" ') do set /a H=%%i
for /f %%i in ('type H ^| find /c "Risk"') do set /a risk=%%i
@del H /q
rem echo M=%M%, H = %H% Risk=%risk%
if %risk% GTR 0 goto err
IF %M%.==0. goto nomirror
IF %M% EQU %H% goto mirrorok
:err
echo CRITICAL: Something Wrong.
exit /B 1
:mirrorok
echo OK: Mirror Health.
exit /B 0
:nomirror
echo OK: No Mirror Found.
exit /B 1
Smartmontools (http://sourceforge.net/apps/trac/smartmontools/wiki) имеет версию для Windows, но я не знаю, что она работает на 2K8
хотя все эти ответы дадут вам статус, ни один из них не является правильным.
в корпоративной среде следует использовать средства мониторинга серверов и сети корпоративного уровня. практически все инструменты мониторинга, которые я использовал, автоматически отслеживают состояние любого поддерживаемого массива RAID, программного или аппаратного обеспечения. они также следят за другими вещами, о которых вам следует знать, такими как температура, свободное место на диске и т. д. вы действительно хотите создать собственный сценарий для всех возможных вещей, которые необходимо отслеживать?
сделайте себе одолжение и откажитесь от всей этой веревки для обуви и жевательной резинки и используйте правильный инструмент.