Actualice el subsistema de disco del servidor anterior con el bus PCIe 1.0 - 2.0

Por qué se eligió el tema de este artículo para actualizar el subsistema de disco
Está claro que, en primer lugar, necesita, por regla general:

  1. Aumentar RAM. Este es un movimiento tan obvio que ni siquiera consideré necesario escribir sobre ello en el artículo principal.
  2. Instale procesadores adicionales o reemplace ambos procesadores con las versiones más productivas compatibles con los sockets de servidor.

Para los servidores más antiguos que tienen memoria, los procesadores generalmente se pueden encontrar a precios de ganga.

En algún momento, la pregunta de cualquier propietario de su propio servidor se convierte en actualización o en un nuevo servidor.

Dado que el precio de un nuevo servidor ahora se puede medir en millones de rublos, muchos están en la ruta de actualización.

Para una actualización exitosa, es muy importante usar compromisos, de modo que por una pequeña tarifa (en relación con el precio de un nuevo servidor) obtengamos una ganancia de rendimiento significativa.

El artículo proporciona una lista de SSD de servidor PCI-E 2.0 x8, que ahora son mucho más baratos, se indican controladores RAID con soporte para almacenamiento en caché de SSD y se prueba un SSD SATA III en la interfaz SATA II.

La forma más obvia de actualizar el subsistema de disco es cambiar de HDD a SSD. Esto es cierto tanto para computadoras portátiles como para servidores. En los servidores, quizás la única diferencia es que los SSD pueden integrarse fácilmente en una incursión.

Es cierto que hay puntos sutiles asociados con el hecho de que puede que no haya puertos SATA III en el servidor anterior y luego tendrá que reemplazar o instalar el controlador apropiado.

Existen, por supuesto, métodos intermedios.

Almacenamiento en caché en SSD.


En general, este método es adecuado para bases de datos, 1C, cualquier acceso aleatorio. La velocidad realmente se acelera. Para grandes archivos de videovigilancia, este método es inútil.

Controladores RAID LSI (IBM, DELL, CISCO, Fujtsu)


Comenzando con la serie 92xx, LSI tiene la tecnología CacheCade 2.0, que le permite usar casi cualquier SSD SATA como caché de matriz RAID. Tanto para leer como para escribir. E incluso cree un espejo a partir del almacenamiento en caché de SSD.

Con los controladores de marca, las cosas se vuelven más complicadas. Esto es especialmente cierto para IBM. Tendrá que comprar claves y SSD para CacheCade de IBM por mucho dinero, por lo que es más fácil cambiar el controlador a LSI y comprar una clave de hardware a un precio bajo. Las claves de software cuestan significativamente más que las claves de hardware.

Controladores Raid Adaptec


Los controladores Adaptec tienen tecnología MaxCache, que también le permite usar SSD como caché. Nos interesan las versiones de controlador que terminan con la letra Q.

Los controladores Q pueden usar casi cualquier SSD, no solo los SSD proporcionados por Adaptec.

  • Comenzando con 5xxx, todos los controladores tienen soporte de banda híbrida. La esencia de esta tecnología es que la lectura siempre se realiza con SSD, cuando hay un espejo en una de las unidades en las que se encuentra el SSD.
  • 5xxxQ, por ejemplo, 5805ZQ. Estos controladores son compatibles con MaxCache 1.0. Leer solo el almacenamiento en caché.
  • 6xxQ, por ejemplo, 6805Q. MaxCache 2.0. Leer y escribir en caché.
  • 7xxQ, por ejemplo 7805Q. MaxCache 3.0. Leer y escribir en caché.
  • 8xxQ para fines de actualización casi no tiene sentido usar debido a los altos precios.

Artículo sobre el almacenamiento en caché en SSD en Habré (controladores y sistema operativo).

Caché de tecnología de software en SSD


No cubriré estas tecnologías. En casi cualquier sistema operativo, ahora son compatibles. Recuerdo que cuando uso btrfs, reenvía automáticamente las solicitudes de lectura al dispositivo con la cola más corta: SSD.

SSD SATA III en SATA II


Como no siempre existe la oportunidad y el dinero para un nuevo controlador, surge la pregunta de qué tan bien funcionan los SSD SATA III en la interfaz SATA II obsoleta.

Hagamos una pequeña prueba. Como sujeto de prueba, tendremos un SSD SATA III de 400GB Intel S3710.
Lectura aleatoria, iopsLatencia promedio de lectura, mSEscritura aleatoria, iopsPromedio de latencia de escritura, mSLectura lineal, MB / sEscritura lineal, MB / s
SATA II212412135804 4282235
SATA III680730.468613920,52514462

Comandos utilizados para pruebas de velocidad
fio --name LinRead --eta-newline=5s --filename=/dev/sda --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name LinWrite --eta-newline=5s --filename=/dev/sda --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name RandRead --eta-newline=5s --filename=/dev/sda --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting fio --name RandWrite --eta-newline=5s --filename=/dev/sda --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting 


Como puede ver la diferencia en la velocidad lineal, IOPS, los retrasos son muy decentes, por lo que tiene sentido usar solo la interfaz SATA III, y si no es así, coloque el controlador.

Para ser justos, diré que en otros experimentos, la diferencia en la velocidad de lectura y escritura al azar resultó ser insignificante. Quizás una gran diferencia de IOPS entre SATA II y SATA III podría haber ocurrido porque tenía un controlador SATA II extremadamente infructuoso o un controlador con algunos errores.

Sin embargo, el hecho es que debe verificar la velocidad de SATA II: de repente tiene el mismo controlador de freno. En este caso, se requiere la transición al controlador SATA III.

SSD PCIe en PCI-e 2.0 o 1.0


Como sabe, los SSD más rápidos son PCI-e NVMe, que no se limitan a SAS o SATA.

Sin embargo, al instalar unidades SSD PCI-e modernas, se debe tener en cuenta el hecho de que la mayoría de ellas utilizan solo 4 líneas PCI-e, generalmente PCI-e 3.0 o 3.1.

Ahora veamos la tabla de velocidad del bus PCI-e.
Ancho de banda PCI Express, GB / s
Año
liberar
Versión
PCI Express
Codificación
Velocidad
transmisión
Ancho de banda en x líneas
× 4× 8× 16
20021.08b / 10b
0,50 GB / s1.0 GB / s2,0 GB / s4.0 GB / s
20072,08b / 10b
1.0 GB / s2,0 GB / s4.0 GB / s8.0 GB / s
20103.0128b / 130b
1,97 GB / s3.94 GB / s7.88 GB / s15.8 GB / s
Al instalar una SSD PCI 3.0 x4 en un bus PCI-e 2.0, funcionará en el mismo número de líneas, pero a una velocidad significativamente menor. Existe el problema de que las velocidades lineales de los SSD PCI-e modernos exceden el ancho de banda del bus PCI-e 2.0 y, especialmente, PCI-e 1.0.

M.2 SSD y adaptador PCI-e

Hay buenas opciones de actualización cuando compramos un adaptador por $ 10 y ponemos el SSD M.2 en el servidor, pero nuevamente para los buenos SSD habrá cortes de velocidad (especialmente en PCI-e 1.0), y los SSD M.2 no siempre están disponibles. para cargas de servidor: alta durabilidad, protección de energía y estabilidad de las características de alta velocidad debido al relleno de caché SLC en modelos baratos.

Por lo tanto, este método puede ser adecuado solo para un servidor con un bus PCI-e 2.0 y ocupado con trabajo no crítico.

PCI-E 2.0 x8 SSD


La actualización lógica más económica es utilizar el SSD PCI-E 2.0 x8 para servidores con un bus PCI-e 1.0 (ancho de banda de hasta 2 GB / s) y PCI-e 2.0 (hasta 4 GB / s).

Dichos SSD de servidor ahora se pueden comprar de forma bastante económica tanto en varios mercados como en subastas en línea, incluso en Rusia.

He compilado una tabla de SSD obsoletos que overclockearán perfectamente su antiguo servidor. Al final de la tabla, agregué varios SSD con una interfaz PCI-E 3.0 x8. De repente tienes suerte y te encuentras con un precio razonable.

TituloTBPBWPCI-E4k leer iops, K4k escribir iops, Kleer, MB / sescribir, MB / s
Fusion-io ioDrive II DUO MLC2,432,52.0 x848049030002500
SANDISK FUSION IOMEMORY SX350-13001.34 42.0 x822534528001300
SANDISK FUSION IOMEMORY PX600-13001.3162.0 x823537527001700
SANDISK FUSION IOMEMORY SX350-16001.65.52.0 x827037528001700
SanDisk Fusion ioMemory SX300-32003.2112.0 x834538527002200
SanDisk Fusion ioMemory SX350-32003.2112.0 x834538528002200
SANDISK FUSION IOMEMORY PX6002.6322.0 x835038527002200
Huawei ES3000 V21,68.762.0 x839527015501100
Huawei ES3000 V23.217.522.0 x877023031002200
EMC XtremSF2.2 2.22.0 x834011027001000
HGST Virident FlashMAX II2.2 2.2332.0 x835010327001000
HGST Virident SSD FlashMAX II4.810,12.0 x8269512600900
HGST Virident FlashMAX III2.2 2.27.12.0 x85315927001400
Dell Micron P420M1.49.22.0 x8750953300630
Micron P420M1.49.22.0 x8750953300630
HGST SN2601.625/103.0 x8120020061702200
HGST SN2603.217.523.0 x8120020061702200
Intel P36083.217,53.0 x88508045002600
Kingston DCP10003.22,783.0 x8100018068006000
Oracle F3203.2293.0 x875012055001800
Samsung PM17253.2293.0 x8100012060002000
Samsung PM1725a3.2293.0 x8100018062002600
Samsung PM1725b3.218 años3.0 x898018062002600

De estas unidades de estado sólido independientes, Fusion ioMemory. El director de investigación de Fusion fue Steve Wozniak . Entonces SanDisk compró esta compañía por $ 1.2 mil millones. En un momento, cuestan desde $ 50,000 cada uno. Ahora puede comprarlos por varios cientos de dólares en condiciones nuevas para una unidad con una capacidad de 1 TB o superior.

Si observa detenidamente la tabla, puede ver que tienen un número bastante alto de IOPS por registro, que es casi igual al número de IOPS por lectura. Dado su precio actual, en mi opinión, vale la pena prestar atención a estos SSD.

Es cierto que tienen varias características:

  1. No pueden ser de arranque.
  2. Necesita un controlador para usar. Los controladores tienen casi todo, pero en las últimas versiones de Linux deberán compilarse.
  3. El tamaño óptimo del sector es 4096 bytes. (512 también es compatible)
  4. El controlador en el peor de los casos puede consumir bastante RAM (con un tamaño de sector de 512 bytes)
  5. La velocidad del trabajo depende de la velocidad del procesador, por lo que es mejor desactivar las tecnologías de ahorro de energía. Esto es tanto un plus como un menos, ya que con la ayuda de un potente procesador, el dispositivo puede funcionar incluso más rápido de lo indicado en las especificaciones
  6. Necesita buen enfriamiento. Para los servidores, esto no debería ser un problema.
  7. No se recomienda para ESXi, ya que ESXi prefiere discos con el sector 512N, y esto puede conducir a un alto consumo de memoria por parte del controlador.
  8. Por lo general, las versiones de marca de estos SSD no son compatibles con los proveedores hasta el nivel del último controlador de SanDisk (marzo de 2019)

Realicé pruebas de Fusion ioMemory en comparación con un servidor SSD Intel P3700 PCI-E 3.0 x8 bastante moderno (este último cuesta 4 veces más caro que Fusion con una capacidad similar). Al mismo tiempo, puede ver cuánto se reduce la velocidad debido al bus x4.
Fusion PX600 1.3TB PCI-E 2.0 x8Intel P3700 1.6TB PCI-E 3.0 x4

Sí, la velocidad de lectura lineal se reduce de forma exclusiva por el Intel P3700. El pasaporte debe ser de 2800 MB / s, y tenemos 1469 MB / s. Aunque en general se puede decir que con el bus PCI-e 2.0, puede usar el servidor SSD PCI-E 3.0 x4, si puede obtenerlos a un precio razonable.

Conclusiones


El subsistema de disco de un servidor antiguo con un bus PCI-E 1.0 o 2.0 se puede redescubrir mediante el uso de SSD que pueden utilizar 8 líneas PCI-E que proporcionan un rendimiento de hasta 4GB / s (PCI-E 2.0) o 2GB / s (PCI-E 1.0) La forma más económica de hacerlo es utilizando SSD PCI-E 2.0 obsoletos.

Las opciones de compromiso relacionadas con la compra de una clave CacheCade para controladores LSI o el reemplazo de un controlador Adaptec con una versión Q también son fáciles de implementar.

Bueno, una forma completamente banal es comprar (raid) el controlador SATA III para que el SSD funcione a toda velocidad y moverlos a todos los que lo requieran.

Source: https://habr.com/ru/post/454222/


All Articles