Назад | Перейти на главную страницу

Расширитель HP SAS отображает все диски в слот с идентификатором 0

Недавно я купил подержанный 24-портовый расширитель HP SAS на 6 Гбит / с (468406-B21 / 487738-001), потому что он дешев и предположительно имеет высокую степень совместимости. К сожалению, я не могу заставить его работать с более чем одним диском, потому что он, очевидно, отображает все диски в слот 0, запутывая как RAID-контроллеры, так и HBA.

На карте стояла прошивка 2.08, обновление до последней версии (2.10) ничего не меняло.

Когда я подключаю его к PERC H700, H310 или LSI 9260, все диски отображаются в слот 0, что делает невозможным их различение. Это также сбило с толку контроллер RAID - если я извлечу диск, он может потерять два диска и так далее, и он может даже не загрузиться.

Например, с двумя подключенными дисками SATA:

-------------------------------------------------------------------------
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  
-------------------------------------------------------------------------

Здесь оба диска привязаны к корпусу 2, слот 0 и не могут быть различимы в последующих командах. Я сталкиваюсь с аналогичными проблемами при подключении расширителя к «тупому» HBA, например к контроллеру на базе LSI-9211.

Существует множество отчетов о людях, использующих этот расширитель с той же версией (-ами) прошивки, что и я, без каких-либо проблем, и все контроллеры отлично работают с другими объединительными платами, которые я пробовал (на основе Supermicro LSI), поэтому я интересно, я что-то делаю не так или карта как-то сломалась.

Пример показать журнал Выход H700 при подключении двух дисков показан ниже:

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

Обновить:

Если я попрошу расширитель указать его дополнительную страницу определения элемента, он покажет «номер слота устройства: 0» для всех слотов - другие расширители перечисляют здесь увеличивающиеся числа, и я подозреваю, что это косвенная причина моей проблемы. Я также попробовал этот расширитель на более новом контроллере H740P, и он перечисляет диски как подключенные напрямую (не в корпусе), с выдуманными идентификаторами слотов - это улучшение, но оно страдает от других проблем, таких как перечисление западного цифровой корпус (т.е. один из подключенных дисков указан как корпус).

Я также купил еще один из этих расширителей, и его поведение идентично, поэтому маловероятно, что расширитель сломан - похоже, H700 требует идентификаторов слотов, а расширитель HP SAS просто не поддерживает их - или есть способ как-то переназначить номера слотов устройств на странице AES?

После некоторого исследования кажется, что расширители SAS на основе PMC-Sierra перечисляют все номера слотов устройств как 0, и это разрешено спецификацией SAS, поскольку другие страницы диагностики и протокол обнаружения smp не утверждают, что устройство является действительным. номера слотов.

Таким образом, проблема вызвана довольно ошибочной реализацией SAS в контроллерах LSI SAS, которые заставляют использовать номера слотов, даже если они не существуют, вместо использования идентификаторов дисков, которые являются уникальными, или другого механизма (например, адресов sas ).

Я не знаю, является ли это просто недостатком пользовательского интерфейса в инструментах (таких как storcli) или он идет глубже. По крайней мере, проблемы с обнаружением в Perc H700 связаны с ошибочной реализацией обнаружения топологии sas, которая определена стандартом SAS и не использует номера слотов. У драйверов HBA от LSI похожие проблемы.