O expansor HP SAS mapeia todas as unidades para o slot id 0

2

Comprei recentemente um expansor HP SAS de 6 portas de 6Gbps e 24 portas (468406-B21 / 487738-001) porque é barato e presumivelmente tem um alto grau de compatibilidade. Infelizmente, não consigo trabalhar com mais de um disco, porque aparentemente mapeia todos os discos para o slot 0, confundindo os controladores RAID e os HBAs.

A placa veio com o firmware 2.08, a atualização para a versão mais recente (2.10) não mudou nada.

Quando eu o conecto a um PERC H700, H310 ou LSI 9260, todos os discos são mapeados para o slot 0, o que torna impossível distingui-los. Ele também confundiu o controlador RAID - se eu remover um disco, ele poderá perder dois discos e assim por diante, e talvez nem inicialize.

Por exemplo, com dois discos SATA anexados:

-------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model             Sp 
-------------------------------------------------------------------------
2:0       3 UGood -  111.25 GB SATA HDD N   N  512B ST9120822AS       U  
2:0       5 UGood -  185.75 GB SATA HDD N   N  512B TOSHIBA MK2035GSS U  
-------------------------------------------------------------------------

Aqui, os dois discos são mapeados para o gabinete 2, slot 0 e não podem ser distinguidos nos comandos subsequentes. Eu me deparo com problemas semelhantes ao conectar o expansor a um HBA "burro", como um controlador baseado em LSI-9211.

Existe um grande número de relatos de pessoas usando este expansor com a (s) mesma (s) mesma (s) versão (s) de firmware que eu, sem problemas, e todos os controladores funcionam bem com os outros backplanes que eu tentei (Supermicro LSI) , então eu me pergunto se estou fazendo algo errado ou o cartão está de alguma forma quebrado.

Um exemplo de saída show termlog de um H700 ao anexar dois discos é mostrado abaixo:

02/04/18  3:09:34: iopiEvent: EVENT_SAS_DISCOVERY
02/04/18  3:09:34: DM_HandleDiscEvent: Discovery started on Port 0

02/04/18  3:09:34: iopiEvent: MPI2_EVENT_SAS_TOPOLOGY_CHANGE_LIST 
02/04/18  3:09:34: DM_HandleTopologyChgEvnt: PhysicalPort=0 NumberOfPhys=x25 NumEntries=x0c StartPhy=xc 
02/04/18  3:09:34: ExpStatus=x03 PhysicalPort=0 EnclosureHandle=x0002 Expander devHandle=x0009 - Exp RESPONDING
02/04/18  3:09:34: Phy changed - phy 0c devHandle 0000 linkRate 00 curLinkRate 0
02/04/18  3:09:34: Phy changed - phy 0f devHandle 0000 linkRate 00 curLinkRate 0
02/04/18  3:09:34: Device ADDED - phy x14 devHandle x000c parentDevHdl x0009 phyNum x14 slot x37 deviceInfo=x00000081 sasAddr=5001438022c783d4
02/04/18  3:09:34: Device ADDED - phy x17 devHandle x000d parentDevHdl x0009 phyNum x17 slot x34 deviceInfo=x00000081 sasAddr=5001438022c783d7
02/04/18  3:09:34: DM_DevMgrIsChipInit 0 State 400 
02/04/18  3:09:35: iopiDiscoveryComplete SubSystem 2 Count 9 InitState 1

02/04/18  3:09:35: iopiEvent: EVENT_SAS_DISCOVERY
02/04/18  3:09:35: DM_HandleDiscEvent: Discovery Completed on Port 0

02/04/18  3:09:36: DM_DevSSUCallback: DevId x0006 errCount 0 Retry 0 Status 2
02/04/18  3:09:36: DM_DevSSUCallback: SENSE Len 12 ResponseCode 70 senseKey 6 asc 29 ascq 0
02/04/18  3:09:36: DM_DevMgrIsChipInit 0 State 400 
02/04/18  3:09:38: DM_DevSSUCallback: DevId x0007 errCount 0 Retry 0 Status 2
02/04/18  3:09:38: DM_DevSSUCallback: SENSE Len 12 ResponseCode 70 senseKey 6 asc 29 ascq 0
02/04/18  3:09:38: devId 6 isn't directly attached
02/04/18  3:09:38: devId 6 - slot num - 6
02/04/18  3:09:38: devId 7 isn't directly attached
02/04/18  3:09:38: devId 7 - slot num - 7
02/04/18  3:09:38:  DM_DevNotifyRAID: Notify Done. Check for Removal 
02/04/18  3:09:38: gDevInfo=842360a0, size=160
02/04/18  3:09:38: Total Device = 3  
02/04/18  3:09:38: PD   Flags    State Type Size     S N Vendor   Product          Rev  P C ID SAS Addr         Port Phy DevH BFw  BRev
02/04/18  3:09:38: ---  -------- ----- ---- -------- - - -------- ---------------- ---- - - -- ---------------- ---- --- ---- ---- ----
02/04/18  3:09:38: 2    01400005 00020 0d   0 0 0 0 HP       HP SAS EXP Card  2.10 0 0 0a 5001438022c783e5 00   24  0a    NA   NA
02/04/18  3:09:38: 6    f1400005 00020 00   1749f1af 1 1 0 ATA      TOSHIBA MK2035GS 1D   0 0 0c 5001438022c783d4 00   14  0c    NA   NA
02/04/18  3:09:38: 7    f1400005 00020 00   df94baf 1 1 0 ATA      ST9120822AS      D    0 0 0d 5001438022c783d7 00   17  0d    NA   NA
02/04/18  3:09:38: 100  00400005 00020 03   0 0 0 0 LSI      SMP/SGPIO/SEP    4651 0 0 ffff                0 00   ff  00    NA   NA

02/04/18  3:09:38: PhyId 4 Sas 5001438022c783e6 Type 2 IsSata 0, Smp 1:1
02/04/18  3:09:38: PhyId 5 Sas 5001438022c783e6 Type 2 IsSata 0, Smp 1:1
02/04/18  3:09:38: PhyId 6 Sas 5001438022c783e6 Type 2 IsSata 0, Smp 1:1
02/04/18  3:09:38: PhyId 7 Sas 5001438022c783e6 Type 2 IsSata 0, Smp 1:1
02/04/18  3:09:38: PhyId 0 Sas 0 Type 0 IsSata 0, Smp 0:0
02/04/18  3:09:38: PhyId 0 Sas 0 Type 0 IsSata 0, Smp 0:0
02/04/18  3:09:38: PhyId 0 Sas 0 Type 0 IsSata 0, Smp 0:0
02/04/18  3:09:38: PhyId 0 Sas 0 Type 0 IsSata 0, Smp 0:0
02/04/18  3:09:38: Load Balance Statistics Path0PDs 3 Path1PDs 0
02/04/18  3:09:38: EVT#07666-02/04/18  3:09:38:  91=Inserted: PD 06(e0x02/s0)
02/04/18  3:09:38: EVT#07667-02/04/18  3:09:38: 247=Inserted: PD 06(e0x02/s0) Info: enclPd=02, scsiType=0, portMap=00, sasAddr=5001438022c783d4,0000000000000000
02/04/18  3:09:38: EVT#07668-02/04/18  3:09:38:  91=Inserted: PD 07(e0x02/s0)
02/04/18  3:09:38: EVT#07669-02/04/18  3:09:38: 247=Inserted: PD 07(e0x02/s0) Info: enclPd=02, scsiType=0, portMap=00, sasAddr=5001438022c783d7,0000000000000000

Atualização:

Se eu perguntar ao expansor por sua página de sensor de elemento adicional, ele listará um "número de slot de dispositivo: 0" para todos os slots - outros expansores listam números crescentes aqui e suspeito que essa seja a causa indireta do meu problema. Eu também tentei este expansor em um controlador H740P mais recente, e ele lista as unidades como diretamente conectadas (não em um gabinete), com ids de slots confeccionados - isso é uma melhoria, mas ela sofre de outros problemas, como listar um western compartimento digital (ou seja, ele lista uma das unidades conectadas como gabinete).

Eu também comprei outro desses expansores, e o comportamento é idêntico, então é improvável que o expansor esteja quebrado - parece que o H700 requer IDs de slots, e o expansor HP SAS simplesmente não os suporta - ou existe uma maneira de reatribuir os números do slot do dispositivo na página aes de alguma forma?

    
por Marc Lehmann 04.02.2018 / 04:12

1 resposta

1

Após bastante pesquisa, parece que os expansores SAS baseados em PMC-Sierra listam todos os números de slot de dispositivo como 0, e isso é permitido pela especificação SAS, pois as outras páginas de diagnóstico e o protocolo de descoberta smp não reivindicam o dispositivo tem números de slot válidos.

Portanto, o problema é causado por uma implementação SAS com bugs nos controladores SAS LSI, que impõe o uso de números de slots mesmo quando eles não existem, em vez de usar IDs de disco, que são exclusivos, ou outro mecanismo como endereços sas).

Não sei se isso é apenas uma deficiência de interface do usuário em ferramentas (como storcli) ou se é mais profundo. Pelo menos os problemas de desmontagem no Perc H700 são devidos a uma implementação problemática da descoberta de topologia SAS, que é especificada pelo padrão SAS e não usa números de slots. Drivers HBA da LSI parecem ter problemas semelhantes.

    
por 24.10.2018 / 07:03