我有一张 HP Smart Array P812 卡,已刷新到 HBA 模式。内核已为该模块修补 Linux,Ubuntu 22。一周前一切都正常,我已通过驱动器,我甚至用它们来测试设置和复制文件等。它有效。从两天前开始,它就不再出现了。我重新启动了,没有任何变化。
拉起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
看来将卡转换为 HBA 模式的原始 Git 代码、内核驱动程序一定有问题。通过更改为上面的代码库,重新将我的控制器标记为 HBA,然后使用此包重新安装新的 DKMS 驱动程序,一切正常。重新启动后,我的所有驱动器都正常工作。
似乎是以前的代码库的驱动程序问题。