HP Smart Array P812 HBA 모드 마스크 드라이브

HP Smart Array P812 HBA 모드 마스크 드라이브

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 드라이버를 다시 설치하면 효과가 있었습니다. 재부팅 후 모든 드라이브가 제대로 작동했습니다.

이전 코드베이스의 드라이버 문제인 것 같습니다.

관련 정보