Не загружается контроллер Dell SC 5020
Добрый день! Рад, что вы вновь заглянули на страницы IT блога Pyatilistnik.org. В предыдущий раз мы подробно обсудили алгоритм "Как создать RAID на Dell PERC H330 Adapter" на серверах линейки PowerEdge. В сегодняшней публикации я хочу поделиться новым опытом траблшутинга на системе хранения данных Dell SC 5020, после того как один из контроллеров стал недоступен и перестал отвечать. К сожалению, попасть на него штатными средствами без помощи специализированного инженера не получалось, так что давайте я попробую все описать, что удалось запомнить.
Ошибки при загрузке контроллера Dell SC 5020
С утра в чат мониторинга прилетело событие с предупреждением, что верхний контроллер на SC5020 стал недоступен:
✋ 09:01:39,2024.10.18 : ❌ Чрезвычайно важно: SC5020_Dell_SC: SC5020_Dell_SC : Controller Top Controller is down on SC5020 (Dell_SC)
С данными СХД такое бывает, обычно контроллер загружается в течении минут 5-7, делается ребалансинг портов и все работает штатно, но в данном случае верхний контроллер уже не отвечал более 15 минут. Логично, что первым делом я пошел в веб-интерфейс общего виртуального интерфейса. Зайдя в "System - Controllers" я вижу, что верхний (Top Controller) находится в статусе "Down".
Далее мне стало интересно, что оборудование пишет в "Alerts". Там я увидел ошибку, что:
Controller is down
и непонятное для меня информационное событие, говорящее о проблемах с IOModule.
10/18/24, 9:04:09 AM Enclosure - 1 Enclosure - 1 firmware upgrade not possible. IOModule is not in an Okay state. Alert Inform No FirmwareUpgradeHealthAlert Hardware
В фоне я написал в ЦОД, где располагалось оборудование и попросил запечатлеть индикацию лампочек на данном контроллере. В итоге все лампочки одновременно мигали, что говорит, о неправильной работе оборудования.
Я предполагал, что вероятнее всего после аварийной перезагрузки контроллер не смог корректно загрузиться. Чтобы поверить это я знал, что есть BMC модуль у каждого контроллера (Порт управления), где можно подключиться и все оценить. Для этого необходимо зайти через веб интерфейс на конкретный контроллер.
После открытия формы авторизации IDRAC, меня привлекло, что в разделе "Login" стоит NULL | null, такого быть не должно.
При попытке ввода корректного логина и пароля, причем от разных учетных записей, всегда выскакивали ошибка:
RAC0212: Login failed. Verify that username and password is correct.
Как устранить проблему с загрузкой контроллера Dell SC 5020
В ситуации, когда вы не можете попасть в IDRAC и далее в BMC, ssh у вашего контроллера должен в идеале быть выключен с точки зрения безопасности, хотя забегая вперед, он вам бы не помог, то вам сможет помочь, только COM подключение к нужному контроллеру Dell SC. У меня заранее все было подключено и были активны COM6/7.
В COM6 мне не удавалось попасть на контроллер, всегда был неверный логин и пароль (Login incorrect).
Я пробовал разные пароли mmm, Dellsvcs, Dellsvcs1, Calvin, calvin, sysadmin к логинам Admin, Administrator, root и так далее. Все это не подходило так же
В COM7 я видел кучу повторяющихся сообщений и ошибок:
mmcblk0: error -5 sending status command, retrying
SQUASHFS error: Unable to read fragment cache entry [1c202a9]
SQUASHFS error: Unable to read page, block 1c202a9, size 15be3
SQUASHFS error: Unable to read fragment cache entry [1c202a9]
SQUASHFS error: Unable to read page, block 1c202a9, size 15be3
SQUASHFS error: Unable to read fragment cache entry [1c202a9]
SQUASHFS error: Unable to read page, block 1c202a9, size 15be3
SQUASHFS error: Unable to read fragment cache entry [1c202a9]
SQUASHFS error: Unable to read page, block 1c202a9, size 15be3
SQUASHFS error: Unable to read fragment cache entry [1c202a9]
SQUASHFS error: Unable to read page, block 1c202a9, size 15be3
SQUASHFS error: Unable to read fragment cache entry [1c202a9]
SQUASHFS error: Unable to read page, block 1c202a9, size 15be3
/home/root # mmcblk0: error -5 sending status command, retrying
mmcblk0: error -5 sending status command, aborting
end_request: I/O error, dev mmcblk0, sector 36925
end_request: I/O error, dev mmcblk0, sector 36927
end_request: I/O error, dev mmcblk0, sector 36929
end_request: I/O error, dev mmcblk0, sector 36931
end_request: I/O error, dev mmcblk0, sector 36933
end_request: I/O error, dev mmcblk0, sector 36935
end_request: I/O error, dev mmcblk0, sector 36937
end_request: I/O error, dev mmcblk0, sector 36939
end_request: I/O error, dev mmcblk0, sector 36941
end_request: I/O error, dev mmcblk0, sector 36943
SQUASHFS error: lzo decompression failed, data probably corrupt
SQUASHFS error: squashfs_read_data failed to read block 0x207af0
SQUASHFS error: Unable to read data cache entry [207af0]
SQUASHFS error: Unable to read page, block 207af0, size 245d
mmcblk0: error -5 sending status command, retrying
mmcblk0: error -5 sending status command, retrying
Далее к нам приехал инженер поддержки, чтобы оценить ситуацию. При первой диагностике он сделал вывод, что сбойный контроллер загрузился в режиме безопасности (SafeMode). Оказалось, что есть специальные данные которые дадут возможность залогиниться в нем.
Как залогиниться в SafeMode режиме
Safe Mode или Storage Center Safe Mode в системах хранения данных Dell SC (Storage Center) — это режим, который позволяет администратору системы выполнять операции по восстановлению или обслуживанию в защищённой среде. Этот режим предназначен для минимизации риска потери данных и обеспечения безопасности конфигурации системы.
▎Основные характеристики Safe Mode:
- Защита данных: В этом режиме отключаются некоторые функции, которые могут повлиять на целостность данных, что позволяет избежать случайного удаления или повреждения информации.
- Ограниченные операции: В Safe Mode могут быть доступны только базовые операции, такие как мониторинг состояния системы и выполнение диагностики.
- Восстановление: Этот режим может использоваться для восстановления системы после сбоев или для выполнения планового обслуживания.
- Управление: Доступ к настройкам и функциям может быть ограничен, чтобы предотвратить изменения, которые могут повлиять на работу системы.
Из общения с инженером я выяснил, что в моем случае с высокой долей вероятности произошла некорректная загрузка контроллера, в результате чего он не считал настройки с общих дисков, на которых они лежат. По сути на самом контроллере ничего не храниться, в этом их преимущество, что вы можете его извлечь и заменить новым, на который дольются настройки со специальных дисков, доступных всем контроллерам. Данные диски так же находятся в RAID.
Подключитесь к вашему COM порту, там где не проходили стандартные логин и пароль и попробуйте вот такие данные:
Username: __safemode__ (Обратите внимание, что тут до и после safemode идут по два подчеркивания
Password: StorageCenterSafeMode
-sm -y
при выполнении команды диагностики выдаётся ошибка: Failed to read SSN from backplane; Reason: FRU ID 2 invalid. Такая ошибка указывает на сбой iDRAC. Специальными командами в таком случае необходимо сбросить состояние persistent, затем выполнить загрузку и смотреть за поведением. Отклик на команду -sm -y говорит о невозможности прочтения SSN и присутствует не валидный FRU ID 2.
login: RecoverBMC: Attempting Synchronized Recovery
RecoverBMC: Waiting for Connection (up to 5 minutes)
RecoverBMC: Timed out waiting for connection
RecoverBMC: Attempting Synchronized Recovery
RecoverBMC: Waiting for Connection (up to 5 minutes)
RecoverBMC: Timed out waiting for connection
RecoverBMC: Attempting Synchronized Recovery
RecoverBMC: Waiting for Connection (up to 5 minutes)
RecoverBMC: Timed out waiting for connectionWelcome to Dell Compellent Storage Center
==================================================
<< Safe Mode Enabled >>
<< Type '-sm -y' to see safe mode reason string >>
<< Type 'sub step' to step through init bands >>
<< Type '-sm -go' to continue normal processing >>
==================================================<> (type '-sm -go' to continue normal processing)
<<>>
CML device open: Allocations=6 (10518528 Bytes), Null or Zero Size=0
CML device open: Allocations=7 (10551296 Bytes), Null or Zero Size=0
DMAEngine::GlobalInit: CB status=0x0, PLX status=0x1<<<NVRAMCache::IsDeviceSupported(14)::0>>>
<<<C2FDev::IsDeviceSupported(14)::1>>>
<<>>Waiting for BBU information C2FDev::RestoreCacheFromDisk: valid=121, backupStatus=0x63, restoreStatus=0x1, status=0x0, savedCacheStatus=0x0
C2F Memory Region: 0x80E200000, Register Region: 0x100000000, Cache Region: 0x80E200000 size 0x100000000, Public Region: 0x80E200200 size 0xFFFFFE00
<<<C2FDevEhv::IsDeviceSupported(14)::0>>>
<<<NVRAMCacheVSC::IsDeviceSupported(14)::0>>>
reset state 0.0:Failed to read SSN from backplane; Reason: FRU ID 2 invalid.
sn357536> -sm -pc
sn357536>
Safe Mode disabled for subsequent system boot/s/sn357536> sm -go (Это выход из безопасного режима)
sn357536>
IPMI Request (0x06|0x01) [57634] IPMICTL_RECEIVE_MSG_TRUNC FAILED:: Input/output error
Get Device ID command failed
IPMI Request (0x06|0x01) [57635] IPMICTL_RECEIVE_MSG_TRUNC FAILED:: Input/output er****** Register USB *********
Далее была перезагрузка (Возможно вам придется повторить верхние команды еще раз и перезагрузить заново):
InitializingSerialATAdevices...
PortB:M197CL4013-120-DEL-5PortC:M197CL4013-120-DEL-5SC5000 Series
BIOS Version: 2.4.2F2 = System Setup
Lifecycle Controller disabledF11 = Boot Manager
F12 = PXE Boot
iDRAC IP: ?.?.?.?UEFI0026: iDRAC is not responding.
Wait for the BIOS to reset the system and reinitialize the iDRAC. If the issue
persists, remove input power from the system, wait for 30 seconds, and re-apply
input power. Turn on the system.
c2f allocation 7B52A000 size 410000 pages 410
[IDRAC_ACPI] RSDTEntriesNumber 12
[IDRAC_ACPI] DSDT Pointer 7BA9C000
[IDRAC_ACPI] Found DSDT Table at 7BA9C000 .
[IDRAC_ACPI] ACPI Table Pointer is found. ASL Update on going.
[IDRAC_ACPI] Found '3SMA' Signature.
[IDRAC_ACPI] Updated DSDT Table Checksum.
[IDRAC_ACPI] Updating Checksum .. 0 ..-> 93
[IDRAC_ACPI] Updated SBST Table Checksum.
[IDRAC_ACPI] Updating Checksum .. 0 ..-> BF
KEY MAPPING FOR CONSOLE REDIRECTION:InitializingSerialATAdevices...
PortB:M197CL4013-120-DEL-5PortC:M197CL4013-120-DEL-5SC5000 Series
BIOS Version: 2.4.2F2 = System Setup
F10 = Lifecycle Controller (ConfigiDRAC, Update FW, Install OS)
F11 = Boot Manager
F12 = PXE Boot
iDRAC IP: 10.10.10.10 (IP поменял для примера)
Loading Lifecycle Controller Drivers...
Loading Lifecycle Controller Drivers...Done
Initializing Firmware Interfaces...iDRAC IP: 10.10.10.10
Error!!! iDRAC SMA commands return errors (Status=Device Error).
Total failed SMA commands (0x02): 8016, 8016
SMA error log is accessible via memory address 0x742DF018 prior booting to OS.
Pause for 10 seconds or press F5 to view details or press any key to continue.
UEFI0037: Unable to communicate with iDRAC because of an issue in the iDRAC
Shared Memory Architecture (SMA) Intelligent Platform Management Interface
(IPMI).
Do one of the following: 1) Remove input power from the system, wait for 30
seconds, and re-apply input power. Turn on the system. 2) Update the iDRAC
firmware on the system.
Далее я увидел как поднимаются корректно службы.
Subsystem Init Pass State
==================== ==================== =============
Utility Completed Start
Platform Completed Start
BSD Completed Start
System Completed Start
BPManager Completed Start
JBOD_Manager Completed Start
StorCenUpdate Completed Start
MC Completed Start
DiskManager Completed Start
ConfigStore Completed Start
MCLicense Completed Start
IPMI Completed Start
NET Completed Start
ConfigAccess Completed Start
FaultManager Completed Start
SCSITarget Completed Start
IOCommon Completed Start
ISCSITransport Completed Start
ResourceManager Completed Start
QRQCM Completed Start
AdapterControl Completed Start
ControllerManager Completed Start
FCPTransport Completed Start
CHA Completed Start
QLA24XX Completed Start
QLE10XXX Completed Start
QLA40XXCM Completed Start
ISCSIDriver Completed Start
TraceRouteSubsystem Completed Start
LSISAS Completed Start
SASTransport Completed Start
LSIMPT Completed Start
LSI2SAS Completed Start
LSIMPT2 Completed Start
PMC3SAS Completed Start
PMC3BASE Completed Start
CHELSIO Completed Start
CHELSIOT4 Completed Start
Emulex Completed Start
LLDPSubsystem Completed Start
SCSIInitiator Completed Start
All subsystems initialized successfully.
Cache Completed Start
Virtualization Completed Start
Snapshot Completed Start
MemStore Completed Start
DisasterRecovery Completed Start
LiveVolume Completed Start
CopyMirrorSwap Completed Start
Replication Completed Start
RAID Completed Start
IOTest Completed Start
Mapping Completed Start
IPC Completed Start
IORPModifier Completed Start
SecondaryStorage Completed Start
RS Completed Start
StateMachineControl Completed Start
SGIO Completed Start
TCGSubsystem Completed Start
DiskAllocation Completed Start
USBSubsystem Completed Start
Transport Completed Start
CIPC Completed Start
SimTransport Completed Start
nvIOSubsystem Completed Start
MCTransaction Completed Start
MCSchedule Completed Start
MCUser Completed Start
MCACL Completed Start
MCSRM Completed Start
Alert Completed Start
MCPhHome Completed Start
SYSDistFile Completed Start
ChassisManager Completed Start
Replacement Completed Start
FRUManager Completed Start
MCLogfilter Completed Start
SNMP Completed Start
Daemon Completed Start
MCShim Completed StartSubsystem Init Pass State
==================== ==================== =============
ISNS Completed Start
Sample Completed Start
Event Completed Start
Question Completed Start
Rack Completed Start
KeyManagementClientS Completed Start
KMCSCrypt Completed Start
SystemMonitor Completed Start
После чего логинимся под вашими учетными данными. Далее советую выполнить команду:
controller show general
Данная команда покажет вам список ваших контроллеров, кто из них лидер и много сетевых настроек. Так же инженер еще выполнял вот такие команды:
shellaccess developer
-reset npc
- shellaccess developer: Эта команда обычно используется для получения доступа к оболочке (shell) системы с привилегиями разработчика. Это может позволить выполнять более низкоуровневые команды и получать доступ к дополнительным функциям, которые недоступны обычным пользователям. Однако использование этой команды может быть ограничено политиками безопасности.
- -reset npc: Эта команда, вероятно, используется для сброса NPC (Network Port Configuration) или аналогичного компонента. Сброс может быть необходим для восстановления настроек по умолчанию или устранения проблем с конфигурацией сетевых портов.
-reset npc делал даже два раза, проверяя, что контроллер после ее выполнения корректно загружается
Что еще можно делать в SafeMode режиме
Сбросить свой пароль - user modify username=username password=new_password
Дополнительные ссылки:
- https://forums.servethehome.com/index.php?threads/fun-with-an-md1200-md1220-sc200-sc220.27487/page-9
- https://jieforyan.blogspot.com/2016/11/dell-sc4020compellent.html
- https://www.dell.com/community/en/conversations/compellent/scv2080-cant-login-to-the-sc-through-storage-manager-client-after-reset/
- https://www.reddit.com/r/storage/comments/1f5azyc/accessing_a_dell_compellent_sc2020_storage_unit/
- https://www.dell.com/community/en/conversations/compellent/dell-sc4020/647f67c7f4ccf8a8de4c35c5
На этом у меня все, надеюсь, что мой контроллер и СХД проработают без сбоев еще очень долго. С вами был Иван Сёмин, автор и создатель IT проекта Pyatilistnik.org.