HP Smart Array P812 카드를 HBA 모드로 플래시했습니다. 커널은 이 모듈인 Ubuntu 22를 위해 Linux를 패치했습니다. 모든 것이 일주일 전에 작동했고 드라이브를 통과했으며 심지어 이를 사용하여 설정 및 복사된 파일 등을 테스트했습니다. 작동했습니다. 이틀 전부터 더 이상 나타나지 않았습니다. 재부팅했는데 아무런 변화가 없습니다.
컨트롤러와 드라이브를 확인하기 위해 당겨보니 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 드라이버를 다시 설치하면 효과가 있었습니다. 재부팅 후 모든 드라이브가 제대로 작동했습니다.
이전 코드베이스의 드라이버 문제인 것 같습니다.