У меня есть карта HP Smart Array P812, прошитая в режим HBA. Ядро пропатчено Linux для этого модуля, Ubuntu 22. Все работало неделю назад, у меня был passthrough дисков, я даже использовал их для проверки настройки и копирования файлов и т. д. Все работало. Начиная с двух дней назад он просто перестал отображаться. Я перезагрузил, никаких изменений.
Подъехал ssacli
, чтобы проверить контроллер и диски, вроде бы все в порядке, но диски по-прежнему не отображаются lsblk
.
$ ssacli ctrl all show detail
Smart Array P812 in Slot 4
Bus Interface: PCI
Slot: 4
Serial Number: PAGXQ0ARHZY04W
Cache Serial Number: PBCDF0CRH0D5U9
RAID 6 Status: Enabled
Controller Status: OK
Hardware Revision: C
Firmware Version: 3.66
Firmware Supports Online Firmware Activation: False
Cache Board Present: True
Cache Status: Not Configured
Total Cache Size: 1.0
Total Cache Memory Available: 0.9
Battery Backed Cache Size: 0.9
Cache Backup Power Source: Capacitors
Battery/Capacitor Count: 1
Battery/Capacitor Status: OK
Number of Ports: 6 (2 Internal / 4 External )
Driver Name: hpsa
Driver Version: 3.4.20
WWN Port: 50014380132301B0
HBA Mode Enabled: True
PCI Address (Domain:Bus:Device.Function): 0000:42:00.0
Port Max Phy Rate Limiting Supported: False
Sanitize Erase Supported: False
Primary Boot Volume: None
Secondary Boot Volume: None
SPDM Supports Get Slot Certificate Chain: no
SPDM Supports Get Controller Info : no
SPDM Supports Get Slot Info : no
SPDM Supports Set Import Certificate : no
SPDM Supports Set Invalidate Slot : no
Surface Scan Completion Supported: False
Persistent Event Log Policy Change Supported: False
$ cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: HP Model: P812 Rev: 3.66
Type: RAID ANSI SCSI revision: 05
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: SEAGATE Model: ST3146356SS Rev: HS0F
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07
Type: Direct-Access ANSI SCSI revision: 06
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07
Type: Direct-Access ANSI SCSI revision: 06
Host: scsi0 Channel: 00 Id: 03 Lun: 00
Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07
Type: Direct-Access ANSI SCSI revision: 06
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: SEAGATE Model: ST3146356SS Rev: HS0F
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi0 Channel: 00 Id: 05 Lun: 00
Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07
Type: Direct-Access ANSI SCSI revision: 06
Host: scsi0 Channel: 00 Id: 06 Lun: 00
Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07
$ ssacli ctrl slot=4 pd all show detail
Smart Array P812 in Slot 4
HBA Drives
physicaldrive 4E:1:1
Port: 4E
Box: 1
Bay: 1
Status: OK
Drive Type: HBA Mode Drive
Interface Type: Solid State SATA
Size: 2 TB
Drive exposed to OS: False
Logical/Physical Block Size: 512/512
Firmware Revision: U1014A0
Serial Number: AA202300002100001831
WWID: 50014380042BA501
Model: ATA SSD 2TB
SATA NCQ Capable: True
SATA NCQ Enabled: True
SSD Smart Trip Wearout: Not Supported
PHY Count: 1
PHY Transfer Rate: 1.5Gbps
PHY Physical Link Rate: Unknown
PHY Maximum Link Rate: Unknown
Sanitize Erase Supported: False
Shingled Magnetic Recording Support: None
Если я проверяю, dmesg
он знает, что они там есть, но они замаскированы. Я пробовал перезапустить, modprobe hbsa
но никаких изменений, не говоря уже о том, что он должен запустить это при загрузке в любом случае, я перезагрузил несколько раз после того, как все это заработало несколько недель назад без каких-либо проблем.
$ dmesg | grep masked
[ 4.554241] hpsa 0000:42:00.0: scsi 1:0:1:0: masked Direct-Access ATA SSD 2TB PHYS DRV SSDSmartPathCap- En- Exp=0
[ 4.568580] hpsa 0000:42:00.0: scsi 1:0:2:0: masked Direct-Access ATA SSD 2TB PHYS DRV SSDSmartPathCap- En- Exp=0
[ 4.583223] hpsa 0000:42:00.0: scsi 1:0:3:0: masked Direct-Access ATA SSD 2TB PHYS DRV SSDSmartPathCap- En- Exp=0
[ 4.597927] hpsa 0000:42:00.0: scsi 1:0:4:0: masked Direct-Access ATA SSD 2TB PHYS DRV SSDSmartPathCap- En- Exp=0
[ 4.612871] hpsa 0000:42:00.0: scsi 1:0:5:0: masked Enclosure HP MSA70 enclosure SSDSmartPathCap- En- Exp=0
[ 4.628075] hpsa 0000:42:00.0: scsi 1:0:6:0: masked Enclosure HP P812 INT EXP enclosure SSDSmartPathCap- En- Exp=0
[ 4.643197] hpsa 0000:42:00.0: scsi 1:0:7:0: masked Enclosure PMCSIERA SRC 8x6G enclosure SSDSmartPathCap- En- Exp=0
ОБНОВЛЯТЬ
Пробовал очистить конфигурацию на дисках, но не даёт. Могу только визуализировать, потому что контроллер находится в режиме HBA, поэтому он считает, что нечего очищать:
$ ssacli ctrl slot=4 physicaldrive 4E:1:5 modify clearconfigdata
Error: This operation is not supported with the current configuration. Use the
"show" command on devices to show additional details about the
configuration.
Reason: Not supported
решение1
В итоге я изменил кодовую базу на следующую:
https://github.com/99dimitris/hpsahba
Похоже, что оригинальный код Git для преобразования карты в режим HBA, драйвер ядра, должны были иметь проблемы. Изменив кодовую базу выше, повторно пометив контроллер как HBA, а затем переустановив новый драйвер DKMS с этим пакетом, все сработало. После перезагрузки все мои диски заработали нормально.
Похоже, проблема была в драйвере предыдущей кодовой базы.