Есть ли у кого-нибудь решение для регистрации ошибки / критической записи в журнале событий в 2008 R2 при возникновении проблемы с RAID? Я действительно хочу настроить оповещения по электронной почте, когда это произойдет. Я использую встроенный программный RAID MS, а не аппаратный RAID.
Есть нить Вот это не верит .. представитель MS утверждает
"для пользователя не будет значительного улучшения, если вы заметите деградированный массив"
так что похоже, что они никогда не собираются его поддерживать. У кого-нибудь есть решение для этого?
Это действительно довольно удивительно, пусть Microsoft сделает еще хуже. В некотором смысле это не удивительно.
Я считаю, что вы можете «контролировать» состояние RAID с помощью diskpart утилита. Для некоторых примеров команд см. http://www.techotopia.com/index.php/Creating_and_Managing_Windows_Server_2008_Mirrored_%28RAID_1%29_Volumes.
К сожалению, у меня самого не было рейда на программное обеспечение 2008 года, но я могу только представить, что результат том списка будет указывать, когда привод отключен или находится в неисправном состоянии. Пример вывода том списка выглядит так
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 E DATA NTFS Simple 931 GB Healthy
Volume 1 D DVD-ROM 0 B No Media
Volume 2 System Rese NTFS Partition 100 MB Healthy System
Volume 3 C BOOT NTFS Partition 138 GB Healthy Boot
Volume 4 F FreeAgent G NTFS Partition 1863 GB Healthy
Вы просто создаете текстовый файл с содержанием
list volume
а затем запустите его как
diskpart /s file.txt
Затем вы можете передать вывод в файл, проанализировать его с помощью сценария и создать запись электронной почты или журнала событий. Вам нужно будет запускать этот скрипт каждые X минут, например с планировщиком задач.
Вы могли бы использовать EventSentry (доступна бесплатная версия) и его планировщик приложений для выполнения этого сценария и создания события / электронного письма, но вам все равно придется анализировать вывод diskpart, чтобы определить, есть ли проблема или нет.
Изменить: состояние сбойного RAID в Windows - «Failed Rd», а не «Healthy». Таким образом, поиск «Failed Rd» должен работать. Пример:
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 C BOOT NTFS Mirror 931 GB Failed Rd Boot
Я немного поэкспериментирую с этим в будущем, чтобы придумать лучший ответ и написать запись в блоге, я понятия не имел, что Microsoft упала на этом.
Вот простой пакетный сценарий, который регистрирует событие при сбое в системе:
echo list volume | diskpart > c:\RAID_STATUS.TXT
FINDSTR "Failed" C:\RAID_STATUS.TXT
IF ERRORLEVEL 1 GOTO OK
GOTO FAILED
:FAILED
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
FINDSTR "Failed" C:\RAID_STATUS.TXT > C:\FAILED_RAID.TXT
set eventtext=
for /f "delims=" %%l in (C:\FAILED_RAID.TXT) do set eventtext=!eventtext! %%l
eventcreate /ID 999 /L SYSTEM /T ERROR /SO SW_RAID /D "%eventtext%"
GOTO OK
:OK
У меня нет настроенной системы RAID-массива программного обеспечения MS, но вы не можете просто запросить наличие? Win32_logicaldisk имеет свойство доступности и свойство статуса. В моей системе он пуст, но я надеюсь, что в наборе рейдов хотя бы один из них будет заполнен значениями состояния, перечисленными в таблице.