Назад | Перейти на главную страницу

Как вы следите за состоянием зеркального диска в Windows?

У меня есть зеркальный динамический диск на моем 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, программного или аппаратного обеспечения. они также следят за другими вещами, о которых вам следует знать, такими как температура, свободное место на диске и т. д. вы действительно хотите создать собственный сценарий для всех возможных вещей, которые необходимо отслеживать?

сделайте себе одолжение и откажитесь от всей этой веревки для обуви и жевательной резинки и используйте правильный инструмент.