Мониторинг intel raid windows

Время на прочтение4 мин

Количество просмотров25K

image

Всем привет!

За последние годы мы привыкли что можно и нужно все мониторить, множество инструментов начиная от простых логов, заканчивая Zabbix и все можно связать. Microsoft в свою очередь тоже дала нам отличный инструмент WinRM, с помощью которого мы можем отслеживать состояние операционных систем и не только. Но как всегда есть ложка дегтя, собственно об «обходе» этой ложки дегтя и пойдет речь.

Как выше было сказано, мы имеем все необходимые инструменты для мониторинга IT структуры, но так сложилось что мы не имеем «автоматизированный» инструмент для мониторинга состояния Intel raid массивов в Windows core. Обращаю Ваше внимание на то, что речь идет об обычном «желтом железе».

Все мы знаем что есть софт от Intel, rapid и matrix storage, но к сожалению на стандартном Windows core он не работает, также есть утилита raidcfg32, она работает в режиме командной строки, умеет обслуживать в ручном режиме и показывать статус, тоже в ручном режиме. Думаю Америку не для кого не открыл.

Постоянно в ручном режиме проверять состояние raid или ждать выхода из строя сервера виртуализации не самый лучший выбор.

Для реализации коварного плана по автоматизации мониторинга Intel raid мы используем
основные инструменты:

  • Powershell
  • EventLog
  • Raidcfg32.exe
  • Вспомогательные:
  • WinRM
  • Rsyslog
  • LogAnalyzer

Первым делом нужно установить драйвер для raid контроллера:
cmd.exe pnputil.exe -i -a [путь до *.inf]

Копируем raidcfg32.exe в c:\raidcfg32\

Проверяем корректно ли установлен драйвер:
cmd.exe C:\raidcfg32\raidcfg32.exe /stv

Если получаем состояние raid и дисков, то все ок.

Создаем источник в журнале application:

*Дальше все выполняется в powershell

New-EventLog -Source "RAID" -LogName "Application"

Выполняем запрос состояния raid, удаляем кавычки для упрощения парсинга, подключаем содержимое файла.

c:\RAIDCFG32\RAIDCFG32.exe /stv > c:\RAIDCFG32\raidcfgStatus.txt
Get-Content "c:\RAIDCFG32\raidcfgStatus.txt" | ForEach-Object {$_ -replace ('"'),' '} > c:\RAIDCFG32\raidstatus.txt
$1 = Get-Content c:\RAIDCFG32\raidstatus.txt
$2 = "$1"

Ищем ключевые слова, если одно из слов ниже будет найдено, то в файле errorRAID.txt появится значение true, это будет говорить о наличии ошибки, если совпадений не найдено, то будет записано значение false.

$2 -match "failed" > c:\RAIDCFG32\errorRAID.txt
$2 -match "disabled" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "degraded" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "rebuild" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "updating" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "critical" >> c:\RAIDCFG32\errorRAID.txt

Подключаем файл с записаными true и false, ищем в файле true, если true найдено то заменяем его на Error, заменяем false на Information.

Записывам результат в EntryType.txt

$3 = Get-Content c:\RAIDCFG32\errorRAID.txt
$4 = "$3"
$5 = $4 -match "true"
$6 = "$5"
$7 = $6 -replace "true", "Error" > c:\RAIDCFG32\EntryType.txt
$8 = $6 -replace "false", "Information" >> c:\RAIDCFG32\EntryType.txt

Подключаем содержимое файла EntryType.txt и удаляем в нем False, тем самым выводим корректный -EntryType что в свою очередь и является «Уровнем» сообщения.

Записываем в EventLog сообщение, где в случае если будут найдены ключевые слова, уровень сообщения будет Error, если не будут найдены, то Information.

$9 = Get-Content c:\RAIDCFG32\EntryType.txt
$10 = "$9"
$11 = $10 -replace "False"
Write-EventLog -LogName Application -Source "RAID" -EventID 9999 -EntryType "$11" -Message "$1"
exit

Сохраняем код в *.ps1

Создаем в планировщике задание на запуск скрипта, я запускаю задание 1 раз в сутки и при каждой загрузке.

Если будет производится сбор логов другой Windows ОС в Eventlog, то на коллекторе логов необходимо создать источник «RAID», пример есть выше.

Мы транспортируем логи в rsyslog через Adison rsyslog для Windows.

На выходе получается вот такая картинка:

image

UPD.
По поводу использования store space, все сервера с windows core на борту используются в филиалах, в филиале установлен только 1 сервер и для получения «бесплатного» гипервизора и уменьшения стоимости лицензии используется именно core.

для windows логов

c:\RAIDCFG32\RAIDCFG32.exe /stv > c:\RAIDCFG32\raidcfgStatus.txt
Get-Content "c:\RAIDCFG32\raidcfgStatus.txt" | ForEach-Object {$_ -replace ('"'),' '} > c:\RAIDCFG32\raidstatus.txt
$1 = Get-Content c:\RAIDCFG32\raidstatus.txt
$2 = "$1"
$2 -match "failed" > c:\RAIDCFG32\errorRAID.txt
$2 -match "disabled" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "degraded" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "rebuild" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "updating" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "critical" >> c:\RAIDCFG32\errorRAID.txt
$3 = Get-Content c:\RAIDCFG32\errorRAID.txt
$4 = "$3"
$5 = $4 -match "true"
$6 = "$5"
$7 = $6 -replace "true", "Error" > c:\RAIDCFG32\EntryType.txt
$8 = $6 -replace "false", "Information" >> c:\RAIDCFG32\EntryType.txt
$9 = Get-Content c:\RAIDCFG32\EntryType.txt
$10 = "$9"
$11 = $10 -replace "False"
Write-EventLog -LogName Application -Source "RAID" -EventID 9999 -EntryType "$11" -Message "$1"

UPD2.
В zabbix конфиг на клиенте вносим:
UserParameter=raid.status,powershell c:\raidcfg32\raidstatusZabbix.ps1
В zabbix добавляем новый элемент данных raid.status, числовой. Создаём триггер — если 0 то всё хорошо, если 1 то беда.
Скрипт ps2 немного меняется:

для zabbix

c:\RAIDCFG32\RAIDCFG32.exe /stv > c:\RAIDCFG32\raidcfgStatus.txt
Get-Content "c:\RAIDCFG32\raidcfgStatus.txt" | ForEach-Object {$_ -replace ('"'),' '} > c:\RAIDCFG32\raidstatus.txt
$1 = Get-Content c:\RAIDCFG32\raidstatus.txt
$2 = "$1"
$2 -match "failed" > c:\RAIDCFG32\errorRAID.txt
$2 -match "disabled" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "degraded" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "rebuild" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "updating" >> c:\RAIDCFG32\errorRAID.txt
$2 -match "critical" >> c:\RAIDCFG32\errorRAID.txt
$3 = Get-Content c:\RAIDCFG32\errorRAID.txt
$4 = "$3"
$5 = $4 -match "true"
$6 = "$5"
$7 = $6 -replace "true", "1" > c:\RAIDCFG32\EntryType.txt
$8 = $6 -replace "false", "0" >> c:\RAIDCFG32\EntryType.txt
$9 = Get-Content c:\RAIDCFG32\EntryType.txt
$10 = "$9"
$11 = $10 -replace "False"
$11

Настройка RAID на сервере

Zabbix очень гибкая система, поэтому способ связи будем выбирать из того как может отдать данные RAID от Intel. Контролировать состояние контроллера можно с помощью штатной утилиты RAID Web Console 2, которая может отдать данные через SNMP протокол.

Устанавливаем RAID Web Console 2 и службу SNMP

Устанавливаем RAID Web Console 2 и службу SNMP (в Windows Server ставится через «Добавить роли и компоненты»); находим в документации (http://www.oidview.com/mibs/3582/LSI-MegaRAID-SAS-MIB.html), интересующие oid’ы (меня интересовало прежде всего состояние виртуального и физических дисков):

  • состояние виртуальных дисков — 1.3.6.1.4.1.3582.4.1.4.3.1.2.1.5
  • состояние физических дисков — 1.3.6.1.4.1.3582.4.1.4.2.1.2.1.10

Схема отправки данных в zabbix

Дальше нужно определиться со схемой отправки данных в zabbix. Разберем два наиболее популярных варианта:

  • Сервер, который мониторим в той же сети с zabbix сервером или zabbix прокси и установлен агент
  • Сервер, который мониторим находится за пределами локальной сети и установлен агент, который сам оправляет данные серверу (активный zabbix агент)

Служба SNMP

Служба SNMP настраивается через оснастку Службы; ищем служба SNMP; открываем вкладку Безопастность; создаем сообщество, например, zabbix с правами READ ONLY; создаем список узлов на чьи запросы служба будет отвечать. При первом варианте это будет адрес zabbix сервера или прокси. Во втором localhost.

Если сервер, который мониторим в той же сети с zabbix сервером или zabbix прокси, то уже можно создать элемент, где тип будет SNMPv2 агент, SNMP OID интересующий OID (например 1.3.6.1.4.1.3582.4.1.4.3.1.2.1.5.1), SNMP community имя сообщества (zabbix), для удобства создать список отображение значений и привязать его к узлу.

zabbix

В случае, когда сервер, который мониторим находится за пределами локальной сети, то отрывать 161 порт (SNMP) наружу будет не очень-то правильно. Поэтому использует zabbix агент и научим его добывать интересующие данные (Агент удобен тем, что в активном режиме может сам отправлять данные на сервер, при необходимости шифрованные и нет необходимости открывать дополнительные порта на узле, который мониторим). Для этого понадобится программка для работы с SNMP (snmpwalk) и чуть скриптов. Пример скрипта для запроса состояния виртуального диска:

@echo off

c:\zabbix\snmpwalk.exe -r:localhost -c:zabbix -os:.1.3.6.1.4.1.3582.4.1.4.3.1.2.1.5 -op:.1.3.6.1.4.1.3582.4.1.4.3.1.2.1.6 -q

и отвер:

c:\zabbix\scripts>intel_raid_snmp_virtual_drive_state.bat

3

3 значит optimal, все хорошо.

Для передачи данных из вывода скрипта на zabbix сервер используем UserParameter. Для этого добавим в конфиг zabbix агента строчку вида, где будут ключ параметра и имя скрипта:

UserParameter=state.intelraid_vd[*], c:\zabbix\scripts\intel_raid_snmp_virtual_drive_state.bat

После создаем элемент и задаем: тип zabbix agent (активный); ключ state.intelraid_vd[0].

Для большого количества дисков можно использовать LLD (низкоуровневое обнаружение).

Делаем Триггеры, перезапускаем агента. Готово =)

Настройка RAID

По всем вопросам касающимся установки и настройки вы можете обратиться к нам, нажав на кнопку «позвоните мне», о списке и стоимости услуг вы можете прочитать здесь.

Также на нашем сайте представлены другие виды работ, которые могут быть интересны.

Это может быть Вам интересно

SSD диски – плюсы и минусы

SSD диск это SSD диск построен на базе энергонезависимой памяти, где используется технология NAND и FRAM. Технология NAND SSD позволяет при использовании схем балансирования нагрузки…

Видеорегистратор Redline CCTV перегрелся

Ремонт видеорегистратора Redline При тестировании видеорегистратора Redline CCTV специалистами компании РосАвтоатизации был выявлен недостаток регистратора и произведён ремонт видеорегистратора. У регистратора при температуре окружающей среды…

Всем привет! Как-то поступила задача поднять и настроить RAID Windows Server 2022 на материнской плате Gigabyte B760M DS3H DDR4. После установки системы штатная утилита от Gigabyte ожидаемо не запустилась. В этом случае мне подумалась, что должна помочь штатная программа от самой INTEL под названием Intel Optane Memory and Storage Management (Управление памятью и системой хранения Intel® Optane™). Скачать ее можно тольео из магазина Microsoft, который на сервере вырезан. Не проблема… Качаем вышеупомянутую софтину из-под Windows 10, переносим установочный файл на сервер и зпускаем его в ожидании чуда.

Чудо не происходит. Windows Server 2022 никак не реагирует на запуск данного экзешника, в установленных программах тоже ничего не обнаруживается. Беда… Но те, кто работает с компьютерами, неунывающий народ, ибо жизнь постоянно нам подбрасывает задачи, которые приходится решать. Поэтому я запасаюсь терпением и начинаю поиск решения проблемы. Как говорится, гугол в помощь!

И да… в который раз хочу отметить: кто ищет, тот найдет. Вот и мне спустя многочасовое хождение по русско- и англоязычным сайтам везет и я нахожу похожее описание проблемы и описания решения. Я опишу свой пошаговый путь, который позволил в итоге установить утилиты мониторинга RAID от INTEL.

Решение

  1. Скачиваем на компьютер с операционной системой Windows 10 из Microsoft Store файл Управление памятью и системой хранения Intel® Optane™ Installer.exe. Внимание! Страницу магазина, где производили закачку не закрываем. Скаченный файл копируем на Windows Server 2022.
  2. Запускаем на Windows Server 2022 файл Управление памятью и системой хранения Intel® Optane™ Installer.exe. Смотрим что ничего не происходит.
  3. Идем на сайт https://store.rg-adguard.net/. Вставляем в поле ссылку на Intel Optane Memory and Storage Management в Microsoft Store (помните, в п.1 я просил не закрывать страницу. Это для того, чтобы скопировать ссылку) и запускаем поиск.

    Из найденного качаем четыре файла и кладем в папку на диске С. Например, C:\Intel:
    Microsoft.VCLibs.140.00.UWPDesktop_14.0.33519.0_x64__8wekyb3d8bbwe.Appx
    Microsoft.VCLibs.140.00.UWPDesktop_14.0.33519.0_x64__8wekyb3d8bbwe.BlockMap
    AppUp.IntelOptaneMemoryandStorageManagement_20.0.1011.0_neutral_~_8j3eq9eme6ctt.BlockMap
    AppUp.IntelOptaneMemoryandStorageManagement_20.0.1011.0_neutral_~_8j3eq9eme6ctt.AppxBundle

  4. Запускаем Powershell от имени администратора и вводим команды:
    $Path = 'C:\Intel'
    Get-Childitem $Path -filter *.appx| %{Add-AppxPackage -Path $_.FullName}
    Get-Childitem $Path -filter *.appxbundle | %{Add-AppxPackage -Path $_.FullName}
  5. После выполнения программа появится в списке недавно установленных программ.

Спасибо за помощь: https://tmie.ru/index.php/ru/operatsionnye-sistemy/windows/190-ustanovka-utility-monitoringa-raid-intel-optane-memory-and-storage-management-na-windows-server-2019-2022

Прилетела задача установить и настроить Windows server 2019 на сервере с новой молодежной платформой Supermicro X12SCX-F. С удивлением узнал что интеловская утилита мониторинга RAID теперь распространяется через Microsoft Store. Зачем так сделали ваш покорный слуга не понял, т.к. Microsoft Store вырезан из серверных операционок. К счастью есть возможность установить приложение Microsoft Store без этого самого Store. Ниже небольшой мануальчик по установке Intel Optane Memory and Storage Management на Windows Server 2019.     

1. Скачиваем дистриб. В моем случае платформа supermicro, поэтому дистриб я скачивал в составе ISO-образа диска с оф.сайта supermicro (линк).

2. Устанавливаем и перезагружаемся. В процессе установки запоминаем версию, которую ставим и ссылку на Intel Optane Memory and Storage Management в Microsoft Store.

3. Идем на сайт https://store.rg-adguard.net/. Вставляем в поле ссылку на Intel Optane Memory and Storage Management в Microsoft Store и запускаем поиск. Из найденного нас интересуют три файла:

— файл .appxbundle той версии, которую устанавливали.

— файл .eappxbundle той версии, которую устанавливали.

— файл .appx той разрядности ОС, на которую ставим. Скорее всего x64.

Скачиваем эти три файла и кладем в папку на диске С. На пример C:\Intel

4. Запускаем Powershell от имени администратора и вводим команды:

$Path = ‘C:\Intel’

Get-Childitem $Path -filter *.appx| %{Add-AppxPackage -Path $_.FullName}

Get-Childitem $Path -filter *.appxbundle | %{Add-AppxPackage -Path $_.FullName}

После выполнения программа должна появиться в списке недавно установленных программ. Также она требует NetFramework 4.8. Установить можно с того же образа-диска или с сайта microsoft (линк).

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Управление цветом в windows 10 для монитора как настроить
  • Какие программы нельзя удалять с компьютера windows 10
  • Windows find dns server address
  • Браузер linux для windows
  • Настройка pycharm для python windows