Мне нужно написать сценарий для поиска версий микропрограмм физических дисков в конфигурации RAID, если физический диск представляет собой определенную версию микропрограммы, то перед обновлением мне необходимо размонтировать соответствующий виртуальный диск.Проблема в том, что я не знаю, как легко найти сопоставление между физическими и виртуальными дисками. Мне нужны команды, которые выводят что-то, что я могу разобрать, поэтому предпочтительнее JSON или XML.
Например, если бы у меня была такая система, как бы я мог найти сценарий, какое устройство (sda или sdb) соответствует какому PD (252:0, 252:1, 252:4, 252:5)?
# lsscsi
[0:0:0:0] диск ATA WDC WD5003ABYX-0 1S03 /dev/sda
[6:2:0:0] диск AVAGO MR9361-8i 4.68 /dev/sdb
# /usr/bin/lsblk -l -J
{
"блоковые устройства": [
{"name":"sda", "maj:min":"8:0", "rm":false, "size":"465.8G", "ro":false, "type":"disk", "точка монтирования": ноль},
{"name":"sda1", "maj:min":"8:1", "rm":false, "size":"15.6G", "ro":false, "type":"part", "точка монтирования":"[ПОМЕНКА]"},
{"name":"sda2", "maj:min":"8:2", "rm":false, "size":"20G", "ro":false, "type":"part", " точка крепления":"/"},
{"name":"sda3", "maj:min":"8:3", "rm":false, "size":"46.3G", "ro":false, "type":"part", "точка монтирования":"/var"},
{"name":"sdb", "maj:min":"8:16", "rm":false, "size":"32.8T", "ro":false, "type":"disk", "точка монтирования": ноль},
{"name":"sdb1", "maj:min":"8:17", "rm":false, "size":"93.1G", "ro":false, "type":"part", "точка монтирования":"/var/opt/americandynamics/venvr/clipexport"},
{"name":"sdb2", "maj:min":"8:18", "rm":false, "size":"32.7T", "ro":false, "type":"part", "точка монтирования":"/mediadb"}
]
}
# /opt/MegaRAID/storcli/storcli64 показать
Код состояния = 0
Статус = Успех
Описание = Нет
Количество контроллеров = 1
Имя хоста = Колорадо
Операционная система = Linux5.3.18-lp152.69-по умолчанию
Системный Обзор :
===============
--------------------------------------------- ----------------------------------
Ctl Модель Порты PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
--------------------------------------------- ----------------------------------
0 AVAGOMegaRAIDSAS9361-8i 8 4 1 0 1 0 Опция 1 и 2 Y 3 Опция
--------------------------------------------- ----------------------------------
Ctl=Индекс контроллера|DGs=Группы дисков|VDs=Виртуальные диски|Fld=Failed
PDs=физические диски|DNOpt=DG неоптимально|VNOpt=VD неоптимально|Opt=оптимально
Msng=Отсутствует|Dgd=Ухудшение качества|NdAtn=Требуется внимание|Unkwn=Неизвестно
sPR=Чтение запланированного патрулирования|DS=DimmerSwitch|EHS=Аварийный горячий резерв
Y=Да|N=Нет|ASO=Дополнительные параметры программного обеспечения|BBU=Блок резервного питания от батареи
Hlth=Здоровье|Safe=Загрузка в безопасном режиме
# /opt/MegaRAID/storcli/storcli64 /c0 показать
Создание подробной сводки по адаптеру может занять некоторое время.
Контроллер = 0
Статус = Успех
Описание = Нет
Название продукта = AVAGO MegaRAID SAS 9361-8i
Серийный номер = SV53943497
Адрес SAS = 500605b00acedf80
Адрес PCI = 00:01:00:00
Системное время = 22.12.2021 15:02:48
Дата изготовления = 21.09.15
Время контроллера = 22.12.2021 15:02:27
Сборка пакета FW = 24.21.0-0025
Версия BIOS = 6.36.00.2_4.19.08.00_0x06180202
Версия прошивки = 4.680.00-8292
Имя драйвера = megaraid_sas
Версия драйвера = 07.713.01.00-rc1
Текущая личность = режим RAID
Идентификатор поставщика = 0x1000
Идентификатор устройства = 0x5D
Идентификатор поставщика = 0x1000
Идентификатор подустройства = 0x9361
Хост-интерфейс = PCI-E
Интерфейс устройства = SAS-12G
Номер автобуса = 1
Номер устройства = 0
Номер функции = 0
Группы дисков = 1
ТОПОЛОГИЯ:
========
--------------------------------------------- --------------------------
DG Arr Row EID:Slot Тип DID Состояние Размер BT PDC PI SED DS3 FSpace TR
--------------------------------------------- --------------------------
0 - - - - RAID5 Optl N 32,740 ТБ dsbl N N dflt N N
0 0 - - - RAID5 Optl N 32,740 ТБ dsbl N N dflt N N
0 0 0 252:0 8 DRIVE Onln N 10.913 TB dsbl N N dflt - N
0 0 1 252:1 10 DRIVE Onln N 10.913 TB dsbl N N dflt - N
0 0 2 252:4 9 DRIVE Onln N 10.913 TB dsbl N N dflt - N
0 0 3 252:5 11 DRIVE Onln N 10.913 TB dsbl N N dflt - N
--------------------------------------------- --------------------------
DG=индекс группы дисков|Arr=индекс массива|Row=индекс строки|EID=идентификатор устройства корпуса
DID=ID устройства|Type=Тип диска|Onln=Online|Rbld=Rebuild|Dgrd=Degraded
Pdgd=Частично деградировал|Offln=Автономно|BT=Фоновая задача активна
PDC=PD Cache|PI=Информация о защите|SED=Диск с самошифрованием|Frgn=Foreign
DS3=Dimmer Switch 3|dflt=Default|Msng=Missing|FSpace=Свободное пространство присутствует
TR = транспорт готов
Виртуальные диски = 1
СПИСОК ВД:
=======
--------------------------------------------- ------------
DG/VD TYPE State Access Consist Cache Cac sCC Размер Имя
--------------------------------------------- ------------
0/0 RAID5 Optl RW Да RWBD — ON 32 740 ТБ
--------------------------------------------- ------------
Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Частично деградировал|dgrd=Деградировал
Optl=Оптимальный|RO=Только чтение|RW=Чтение-запись|HD=Скрытый|TRANS=TransportReady|B=Заблокировано|
Consist=ConsistentR=Упреждающее чтение всегда|NR=Без упреждающего чтения|WB=Обратная запись|
AWB=Всегда обратная запись|WT=Прямая запись|C=Кэшированный ввод-вывод|D=Прямой ввод-вывод|sCC=Запланировано
Проверить согласованность
Физические диски = 4
СПИСОК ПД:
=======
--------------------------------------------- --------------------------
EID:Slt DID Состояние DG Размер Intf Med SED PI SeSz Model Sp
--------------------------------------------- --------------------------
252:0 8 Onln 0 Жесткий диск SATA 10,913 ТБ Нет Нет 512B HGST HUH721212ALE604 U
252:1 10 Onln 0 Жесткий диск SATA 10,913 ТБ Нет Нет 512B HGST HUH721212ALE604 U
252:4 9 Onln 0 Жесткий диск SATA 10,913 ТБ Нет Нет 512B HGST HUH721212ALE604 U
252:5 11 Onln 0 Жесткий диск SATA 10,913 ТБ Нет Нет 512B HGST HUH721212ALE604 U
--------------------------------------------- --------------------------
Идентификатор устройства EID-корпуса|Номер отдельного слота|ID-устройства DID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Тип Med-Media|Диск с самошифрованием SED|Информация о PI-Protection
SeSz-Размер сектора|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured экранированный|HPSShld-Hotspare экранированный
CFShld-конфигурированный экранированный|Cpybck-CopyBack|CBShld-Copyback экранированный
Кэш_Информация:
===============
--------------------------------------------- -------
Состояние модели Temp Mode MfgDate Next Learn
--------------------------------------------- -------
CVPM02 Оптимал 25C - 04.12.2015 12.01.2022 03:03:06
--------------------------------------------- -------
# wdckit show -z --output json
{
"вдкит": {
"применение": {
"имя": "wdckit",
"версии": [
{
"имя": "wdckit",
"версия": "2.9.0.0",
"хэш": "f2b9472e7a3ed7c5b374d1e855eb93351c8c0073"
},
{
"имя": "рабочее пространство",
"версия": "2.9.0.0",
"хэш": "7c67fb1016c100744f1f500f56c050acfb4d2728"
},
{
"имя": "ядл",
"версия": "1.17.0",
"хэш": "517e48d01b8edbc5b3ae43f4ca50d825985095ca"
},
{
"имя": "кутилс",
"версия": "1.7.2",
"хэш": "18a7bee7f8beb9fbad7e471ca197b05a68e1e2e6"
},
{
"имя": "yextata",
"версия": "2.3.1",
"хэш": "570cce3a3ccaef19af99097bf9149292d294cc4e"
},
{
"имя": "yextnvme",
"версия": "9.1.1",
"хеш": "528238cbec4be66d22faf1e8a67d55e2f67cece5"
},
{
"имя": "yextnvmezns",
"версия": "3.0.0",
"хэш": "7abf1fd96e0a5d174ce427d0a842b2d3f8c1dfee"
},
{
"имя": "yextscsi",
"версия": "2.4.0",
"хеш": "51d4b9a5fe07e30a4a719fa0070881f3903a50a5"
},
{
"имя": "yextfirmware",
"версия": "2.2.0",
"хэш": "bf56f7f6b1517649e56f154f32d312921518351e"
},
{
"имя": "yextraidadaptecwrapper",
"версия": "1.0.4",
"хэш": "f2363d24ad942973552d85570252799aca718dcb"
},
{
"name": "yextraidmegaraidwrapper",
"версия": "1.2.0",
"хэш": "78504afaaf02717c6bc86ac66a9b192aeb5c8ffd"
},
{
"имя": "yexttcg",
"версия": "1.6.0",
"хэш": "6768b02a80e64302a8748a75bc8929371842fa16"
},
{
"имя": "yextvuc",
"версия": "6.0.0",
"хэш": "247db046a4438558109e64aa867f0de823914457"
},
{
"имя": "yextlinpci",
"версия": "1.0.1",
"хэш": "a60830cca68f0eef1bc27f98563e327f1cdd2215"
},
{
"имя": "yextxml",
"версия": "1.2.0",
"хэш": "a6e94527b75ef1fc3c6b4cf154b6ca0c221dae92"
},
{
"имя": "утилиты",
"версия": "",
"хэш": "d13caaeac183093be53a18f7cb8f3dbfd63511c1"
}
],
"команда": "показать",
"аргументы": [
"показать",
"-з",
"--вывод",
"жсон"
],
"время начала [местное]": "2021-дек-22 15:13:30",
"время начала [UTC]": "2021-дек-22 15:13:30",
"время окончания [местное]": "2021-дек-22 15:13:30",
"время окончания [UTC]": "2021-дек-22 15:13:30",
"рабочий каталог": "\/var\/opt\/americandynamics\/users\/VideoEdge",
«ОС»: «Линукс»,
«Сведения об ОС»: «5.3.18-lp152.69-по умолчанию»,
«Версия ОС»: «# 1 SMP Вт, 6 апреля 11:41:13 UTC 2021 (d532e33)»
},
"Результаты": [
{
«ДУТ»: «0»,
"Устройство": "\/dev\/sda",
«Альтернативные устройства»: [
"НА"
],
"Порт": "SATA",
«Емкость»: «500 ГБ»,
«Состояние»: «Хорошо»,
"BootDevice": "Да",
«Серийный номер»: «WD-WMAYP6676686»,
«Номер модели»: «WDC WD5003ABYX-01WERA2»,
"Прошивка": "01.01S03",
"Lnk Spd Cap\/Cur": "Gen2\/Gen2",
"УИ": "0014ee",
"Тип": "Физический",
«Размер блока»: «512 байт»,
«Макс. LBA»: «976773167»,
«Состояние RAID»: «Н/П»,
«Тип устройства»: «Жесткий диск»,
«об/мин»: «7200»,
«Технология записи»: «CMR»
},
{
«ДУТ»: «1»,
"Устройство": "\/dev\/sdb",
«Альтернативные устройства»: [
"НА"
],
"Порт": "SCSI",
«Емкость»: «35,9 ТБ»,
«Состояние»: «безвозвратно»,
"BootDevice": "Нет",
«Серийный номер»: «00b95467140b22cd2780dfce0ab00506»,
«Номер модели»: «MR9361-8i»,
"Прошивка": "4.68",
"Lnk Spd Cap\/Cur": "неизвлекаемый\/неизвлекаемый",
«УИ»: «00605b»,
"Тип": "Логический",
«Размер блока»: «512 байт»,
«Макс. LBA»: «70310166526»,
«Состояние RAID»: «Н/П»,
«Тип устройства»: «Неизвестно»,
«РПМ»: «Неизвестно»,
«Технология записи»: «CMR»
},
{
«ДУТ»: «2»,
«Устройство»: «мегарейд: 0.0.8»,
«Альтернативные устройства»: [
"НА"
],
"Порт": "SATA",
«Емкость»: «12,0 ТБ»,
«Состояние»: «безвозвратно»,
"BootDevice": "Нет",
«Серийный номер»: «5PK2NHGB»,
«Номер модели»: «HGST HUH721212ALE604»,
"Прошивка": "LEGNW9G0",
"Lnk Spd Cap\/Cur": "Gen3\/Gen3",
"OUI": "000cca",
"Тип": "Физический",
«Размер блока»: «512 байт»,
«Макс. LBA»: «23437770751»,
"Состояние RAID": "Настроено — диск подключен к сети",
«Тип устройства»: «Жесткий диск»,
«об/мин»: «7200»,
«Технология записи»: «CMR»
},
{
«ДУТ»: «3»,
«Устройство»: «мегарейд: 0.0.9»,
«Альтернативные устройства»: [
"НА"
],
"Порт": "SATA",
«Емкость»: «12,0 ТБ»,
«Состояние»: «безвозвратно»,
"BootDevice": "Нет",
«Серийный номер»: «5PK2MYDB»,
«Номер модели»: «HGST HUH721212ALE604»,
"Прошивка": "LEGNW9G0",
"Lnk Spd Cap\/Cur": "Gen3\/Gen3",
"OUI": "000cca",
"Тип": "Физический",
«Размер блока»: «512 байт»,
«Макс. LBA»: «23437770751»,
"Состояние RAID": "Настроено — диск подключен к сети",
«Тип устройства»: «Жесткий диск»,
«об/мин»: «7200»,
«Технология записи»: «CMR»
},
{
«ДУТ»: «4»,
«Устройство»: «megaraid: 0.0.10»,
«Альтернативные устройства»: [
"НА"
],
"Порт": "SATA",
«Емкость»: «12,0 ТБ»,
«Состояние»: «безвозвратно»,
"BootDevice": "Нет",
«Серийный номер»: «5PK2MNGB»,
«Номер модели»: «HGST HUH721212ALE604»,
"Прошивка": "LEGNW9G0",
"Lnk Spd Cap\/Cur": "Gen3\/Gen3",
"OUI": "000cca",
"Тип": "Физический",
«Размер блока»: «512 байт»,
«Макс. LBA»: «23437770751»,
"Состояние RAID": "Настроено — диск подключен к сети",
«Тип устройства»: «Жесткий диск»,
«об/мин»: «7200»,
«Технология записи»: «CMR»
},
{
«ДУТ»: «5»,
«Устройство»: «megaraid:0.0.11»,
«Альтернативные устройства»: [
"НА"
],
"Порт": "SATA",
«Емкость»: «12,0 ТБ»,
«Состояние»: «безвозвратно»,
"BootDevice": "Нет",
«Серийный номер»: «5PK23V6B»,
«Номер модели»: «HGST HUH721212ALE604»,
"Прошивка": "LEGNW9G0",
"Lnk Spd Cap\/Cur": "Gen3\/Gen3",
"OUI": "000cca",
"Тип": "Физический",
«Размер блока»: «512 байт»,
«Макс. LBA»: «23437770751»,
"Состояние RAID": "Настроено — диск подключен к сети",
«Тип устройства»: «Жесткий диск»,
«об/мин»: «7200»,
«Технология записи»: «CMR»
}
]
}
}