Появился у нас новый сервер Supermicro. На сервере установлен RAID контроллер AVAGO MegaRAID SAS 9460-8i, в котором два NVMe диска собраны в RAID 1. В качестве операционной системы у нас выступает Windows Server 2016.
Естественно, Supermicro и Windows не видят диски, а следить за железом как-то нужно. Windows видит только массив.
Для управления контроллером и дисками воспользуемся утилитой StorCLI.
StorCLI
Утилиту для управления RAID контроллерами LSI, Avago, Broadcom можно скачать с сайта https://www.broadcom.com/support. Находим по модели свой контроллер. Утилиту ищем в секции DOWNLOADS.
Скачиваю утилиту storcli. Доступна версия MR 7.19.
Это очень мощная утилита по управлению RAID контроллером. Сегодня нам понадобится минимум функционала для просмотра информации о дисках. Данную утилиту я планирую использовать для автоматизированного мониторинга за дисками сервера.
В архиве имеются версии storcli для разных операционных систем. Нас интересует папка Windows. Копирую оттуда утилиту storcli64.exe в удобную для себя директорию C:\zabbix\scripts.
Работать с утилитой следует с помощью командной строки.
storcli64.exe help
Вызов справки.
storcli64.exe show
Данная команда выведет детальную информацию.
C:\zabbix\scripts>storcli64.exe show
CLI Version = 007.1907.0000.0000 Sep 13, 2021
Operating system = Windows Server 2016
Status Code = 0
Status = Success
Description = None
Number of Controllers = 1
Host Name = DL-1C00
Operating System = Windows Server 2016
StoreLib IT Version = 07.2000.0200.0100
StoreLib IR3 Version = 16.14-0
System Overview :
===============
------------------------------------------------------------------------------------
Ctl Model Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
------------------------------------------------------------------------------------
0 AVAGOMegaRAIDSAS9460-8i 8 2 1 0 1 0 Opt On 1&2 Y 3 Opt
------------------------------------------------------------------------------------
Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=Array NotOptimal|VNOpt=VD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Spare Drive
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit/CV
Hlth=Health|Safe=Safe-mode boot|CertProv-Certificate Provision mode
Chrg=Charging | MsngCbl=Cable Failure
Здесь мы увидим модель и состояние нашего контроллера AVAGO MegaRAID SAS 9460-8i. Видим что есть батарейка в состоянии Opt. Видим, что к контроллеру подключены два физических диска.
Получим список виртуальных дисков для контроллера:
storcli64.exe /c0 /vall show
Небольшое отступление. Синтаксис команды гибкий, вы можете писать параметры со слешами двумя способами: с отступами и без отступов. При работе в командной строке я предпочитаю ставить отступы, а при написании скриптов пишу без отступов, мне так удобнее.
storcli64.exe /c0 /vall show storcli64.exe /c0/vall show
CLI Version = 007.1907.0000.0000 Sep 13, 2021
Operating system = Windows Server 2016
Controller = 0
Status = Success
Description = None
Virtual Drives :
==============
-----------------------------------------------------------------
DG/VD TYPE State Access Consist Cache Cac sCC Size Name
-----------------------------------------------------------------
0/0 RAID1 Optl RW Yes RWBD - ON 6.985 TB 7Tb_NVMe
-----------------------------------------------------------------
VD=Virtual Drive| DG=Drive Group|Rec=Recovery
Cac=CacheCade|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded
Optl=Optimal|dflt=Default|RO=Read Only|RW=Read Write|HD=Hidden|TRANS=TransportReady
B=Blocked|Consist=Consistent|R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency
Найден один массив RAID1 объёмом 6.985 TB в состоянии Optimal. В операционной системе это Disk 0.
Посмотрим на физические диски:
storcli64.exe /c0 /eall /sall show
C:\zabbix\scripts>storcli64.exe /c0 /eall /sall show
CLI Version = 007.1907.0000.0000 Sep 13, 2021
Operating system = Windows Server 2016
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
----------------------------------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp Type
----------------------------------------------------------------------------------------------------
74:6 0 Onln 0 6.985 TB NVMe SSD N N 512B Micron_7300_MTFDHBE7T6TDF U -
----------------------------------------------------------------------------------------------------
EID=Enclosure Device ID|Slt=Slot No|DID=Device ID|DG=DriveGroup
DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
UBad=Unconfigured Bad|Sntze=Sanitize|Onln=Online|Offln=Offline|Intf=Interface
Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
UGUnsp=UGood Unsupported|UGShld=UGood shielded|HSPShld=Hotspare shielded
CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
UBUnsp=UBad Unsupported|Rbld=Rebuild
Вижу один NVMe диск в слоте 6 и корпусе 74. Так, а где второй диск? Не знаю как устроена структура этого контроллера, но второй диск я-таки нашёл:
storcli64.exe /c0 /sall show
C:\zabbix\scripts>storcli64.exe /c0 /sall show
CLI Version = 007.1907.0000.0000 Sep 13, 2021
Operating system = Windows Server 2016
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
----------------------------------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp Type
----------------------------------------------------------------------------------------------------
:6 1 Onln 0 6.985 TB NVMe SSD N N 512B Micron_7300_MTFDHBE7T6TDF U -
----------------------------------------------------------------------------------------------------
EID=Enclosure Device ID|Slt=Slot No|DID=Device ID|DG=DriveGroup
DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
UBad=Unconfigured Bad|Sntze=Sanitize|Onln=Online|Offln=Offline|Intf=Interface
Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
UGUnsp=UGood Unsupported|UGShld=UGood shielded|HSPShld=Hotspare shielded
CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
UBUnsp=UBad Unsupported|Rbld=Rebuild
Вижу второй NVMe диск тоже в слоте 6 и без корпуса. Оказывается, параметр /eall отображает все диски во каждом Enclosure, а бывают диски, которые не привязаны к корпусам, это было для меня новостью...
Есть способ отобразить все диски, нужно обратиться к дисковым группам:
storcli64.exe /c0 /dall show
CLI Version = 007.1907.0000.0000 Sep 13, 2021
Operating system = Windows Server 2016
Controller = 0
Status = Success
Description = Show Drive Group Succeeded
TOPOLOGY :
========
---------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type State BT Size PDC PI SED DS3 FSpace TR
---------------------------------------------------------------------------
0 - - - - RAID1 Optl N 6.985 TB dflt N N none N N
0 0 - - - RAID1 Optl N 6.985 TB dflt N N none N N
0 0 0 :6 1 DRIVE Onln N 6.985 TB dflt N N none - N
0 0 1 74:6 0 DRIVE Onln N 6.985 TB dflt N N none - N
---------------------------------------------------------------------------
DG=Disk Group Index|Arr=Array Index|Row=Row Index|EID=Enclosure Device ID
DID=Device ID|Type=Drive Type|Onln=Online|Rbld=Rebuild|Optl=Optimal|Dgrd=Degraded
Pdgd=Partially degraded|Offln=Offline|BT=Background Task Active
PDC=PD Cache|PI=Protection Info|SED=Self Encrypting Drive|Frgn=Foreign
DS3=Dimmer Switch 3|dflt=Default|Msng=Missing|FSpace=Free Space Present
TR=Transport Ready
Результат
Мы выяснили, что на сервере есть RAID1 массив из двух NVMe дисков.
Реализация нумерации корпусов и слотом странная. Кстати, в BIOS отображается с такими же EID:Slot. Утилита LSA для Windows тоже видит диски именно так. Установка последней прошивки контроллера ситуацию не изменила. Этот массив я не собирал, а получил готовую сборку вместе с сервером, так что прокомментировать этот момент не могу. Вероятно, это такая фича для NVMe дисков.
Ещё для меня стало новостью, что диски в контроллере могут быть не привязаны к Enclosure. Это привело к тому, что пришлось переписать шаблон для мониторинга LSI контроллеров в Zabbix, добавив автообнаружение именно таких дисков.
Ссылки
Управление RAID контроллером LSI (Broadcom, Avago) с помощью StorCLI в Oracle Linux