En un esfuerzo por sortear la compatibilidad y las barreras de costos para usar unidades SSD con los nuevos servidores HP ProLiant Gen8, estoy trabajando para validar SSD basados en PCIe en la plataforma. He estado experimentando con un producto interesante de Other World Computing llamado Accelsior E2 .
Este es un diseño básico; una tarjeta PCIe con un controlador RAID SATA Marvell de 6 Gbps y dos "blades" SSD conectados a la tarjeta. Estos pueden transferirse al sistema operativo para RAID de software ( ZFS , por ejemplo) o aprovecharse como una banda RAID0 de hardware o un par duplicado RAID1. Hábil. Realmente es solo compactar un controlador y discos en un factor de forma realmente pequeño.
El problema:
Mira ese conector PCIe. Esa es una interfaz PCie x2 . Los tamaños de ranura / carril PCIe físicos suelen ser x1, x4, x8 y x16 , y las conexiones eléctricas suelen ser x1, x4, x8 y x16. Esta bien. He usado tarjetas x1 en servidores antes.
Comencé a probar el rendimiento de esta tarjeta en un sistema arrancado y descubrí que las velocidades de lectura / escritura se aceleraban a ~ 410 MB / s, independientemente de la configuración del servidor / ranura / BIOS. Los servidores en uso fueron los sistemas HP ProLiant G6, G7 y Gen8 (Nehalem, Westmere y Sandy Bridge) con ranuras PCIe x4 y x8. Al observar el BIOS de la tarjeta, se mostró que el dispositivo negoció: PCIe 2.0 5.0Gbps x1
- Por lo tanto, solo está utilizando un carril PCIe en lugar de dos, por lo que solo está disponible la mitad del ancho de banda anunciado.
¿Hay alguna forma de obligar a un dispositivo PCIe a funcionar a una velocidad diferente?
Mi investigación muestra que PCIe x2 es un poco ancho de carril extraño ... El estándar PCI Express aparentemente no requiere compatibilidad con anchos de carril x2 , así que supongo que los controladores de mis servidores están volviendo a x1 ... Tengo algún recurso?
lspci -vvv
Salida abreviada . Tenga en cuenta la diferencia entre las líneas LnkSta
y LnkCap
.
05:00.0 SATA controller: Marvell Technology Group Ltd. Device 9230 (rev 10) (prog-if 01 [AHCI 1.0])
Subsystem: Marvell Technology Group Ltd. Device 9230
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Latency L0 <512ns, L1 <64us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Kernel driver in use: ahci
Kernel modules: ahci
fuente
Respuestas:
Esa es la respuesta oficial de OWS, ahora otra respuesta si es posible forzar al controlador hp a subirlo a un ancho de x2, que requerirá más investigación. -)
fuente
Manufacturer: HP Product Name: ProLiant DL180 G6
Intenté esto nuevamente en una plataforma HP ligeramente diferente, la HP ProLiant DL380p Gen8 de 2U versus la 1U DL360p Gen8. Recibí los resultados adecuados con esta combinación de hardware.
El firmware actual del host Gen8 ahora permite que los enlaces PCIe se negocien a las velocidades adecuadas, por lo que estos dispositivos SON compatibles con los servidores ProLiant DL380p Gen8.
fuente
Tengo a mano un servidor IBM con una tarjeta Broadcom 4 × 1GbE en él ... negociado de 2.0x4 a 2.0x2:
Tenía un conector x4, que estoy adivinando solamente se utiliza plenamente cuando se ponen en una ranura PCIe v1, por lo que parece que está negociando hasta x2 cuando se utiliza en una ranura PCIe v2 (ya 5GT / s bidireccional es suficiente para 4 × 1 GbE )
¿Podría estar sucediendo lo mismo con su tarjeta?
(Si no, mi respuesta es: use IBM en lugar de HP: P)
fuente