Por qué se eligió el tema de este artículo sobre la actualización del subsistema de discosEstá claro que, en primer lugar, es necesario, por lo general:
- Aumentar la memoria RAM. Esta es una medida tan obvia que ni siquiera consideré necesario escribir al respecto en el artículo principal
- Instalar un procesador adicional o reemplazar ambos procesadores por las versiones más potentes que son compatibles con los zócalos del servidor.
Para servidores antiguos, tanto la memoria como los procesadores suelen encontrarse a precios muy bajos.
En determinado momento, cualquier propietario de su propio servidor se enfrenta a la pregunta: ¿actualización o nuevo servidor?
Dado que el precio de un nuevo servidor puede alcanzar millones de rublos, muchos optan por la ruta de la actualización.
Para una actualización exitosa, es muy importante utilizar compromisos, de modo que, por un costo insignificante (en relación con el precio de un nuevo servidor), obtengamos una mejora significativa en el rendimiento.
En el artículo se presenta una lista de SSD PCI-E 2.0 x8 para servidores que han bajado de precio, se indican controladores RAID con soporte para almacenamiento en caché SSD y se ha probado SATA III SSD en la interfaz SATA II.
La forma más obvia de actualizar el subsistema de discos es pasar de HDD a SSD. Esto es cierto tanto para portátiles como para servidores. En servidores, quizás la única diferencia sea que los SSD se pueden agrupar fácilmente en RAID.
Sin embargo, existen algunos matices relacionados con el hecho de que puede que no haya puertos SATA III en un servidor antiguo y, en tal caso, será necesario reemplazar o instalar un controlador adecuado.
Claro que también hay métodos intermedios.
Almacenamiento en caché en SSD.
En general, este método es bastante adecuado para bases de datos, 1C y cualquier acceso aleatorio. La velocidad realmente se acelera. Sin embargo, para archivos enormes o videovigilancia, este método es inútil.
Controladores RAID LSI (IBM, DELL, CISCO, Fujitsu)
A partir de la serie 92xx, LSI tiene la tecnología CacheCade 2.0, que permite utilizar casi cualquier SSD SATA como caché para el RAID. Tanto para lectura como para escritura. E incluso crear un espejo a partir de SSD que están en caché.
Con los controladores de marca, es más complicado. En especial en lo que respecta a IBM. Tendrás que comprar llaves y SSD para CacheCade a precios exorbitantes en IBM, por lo que es más fácil cambiar el controlador a LSI y comprar una llave de hardware más asequible. Las llaves de software son significativamente más caras que las de hardware.
Controladores RAID Adaptec
Los controladores Adaptec cuentan con la tecnología MaxCache, que también permite utilizar SSD como caché. Nos interesan las versiones de controladores que terminan con la letra Q.
Los controladores Q pueden utilizar casi cualquier SSD, y no solo los SSD proporcionados por Adaptec.
- A partir de la serie 5xxx, todos los controladores tienen soporte para RAID híbrido. La esencia de esta tecnología es que siempre se lee desde el SSD, cuando hay un espejo, uno de los discos es un SSD.
- 5xxxQ, por ejemplo, el 5805ZQ. Estos controladores soportan MaxCache 1.0. Solo caché de lectura.
- 6xxQ, por ejemplo, el 6805Q. MaxCache 2.0. Caché de lectura y escritura.
- 7xxQ, por ejemplo, el 7805Q. MaxCache 3.0. Caché de lectura y escritura.
- 8xxQ casi no tiene sentido usarlo para propósitos de actualización debido a los altos precios.
Tecnologías de software de caché en SSD
No voy a describir estas tecnologías. Prácticamente en cualquier sistema operativo son soportadas hoy en día. Recuerdo que al usar btrfs, automáticamente redirige las solicitudes de lectura al dispositivo con la cola más corta, es decir, el SSD.
SSD SATA III en interfaz SATA II
Dado que no siempre hay posibilidades y fondos para un nuevo controlador, surge la pregunta de cuán bien funcionan los SSD SATA III en la antigua interfaz SATA II.
Realizaremos una pequeña prueba. Nuestro sujeto de prueba será un SSD SATA III Intel S3710 de 400GB.
Lectura aleatoria, IOPS
Latencia de lectura promedio, ms
Escritura aleatoria, IOPS
Latencia de escritura promedio, ms
Lectura lineal, MB/s
Escritura lineal, MB/s
SATA II
21241
2
13580
4
282
235
SATA III
68073
0.468
61392
0.52
514
462
Comandos utilizados para probar la 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 se puede ver, la diferencia en la velocidad lineal, IOPS y latencias es bastante notable, por lo que tiene sentido utilizar solo la interfaz SATA III, y si no está disponible, instalar un controlador.
Para ser justos, diré que en La diferencia en la velocidad de lectura y escritura aleatoria fue mínima. Es posible que esta gran diferencia en IOPS entre SATA II y SATA III se deba a que tenía un controlador SATA II muy problemático o a un controlador con algunos errores.
Sin embargo, el hecho es que es necesario verificar la velocidad de SATA II; tal vez su controlador sea igual de lento. En este caso, es esencial cambiar al controlador SATA III.
SSD PCIe en un bus PCI-e 2.0 o 1.0
Como se sabe, los SSD más rápidos son los PCI-e NVMe, que no están limitados por los protocolos SAS o SATA.
Sin embargo, al instalar SSD PCI-e modernos, hay que tener en cuenta que la mayoría de ellos utilizan solo 4 líneas PCI-e, generalmente PCI-e 3.0 o 3.1.
Ahora veamos la tabla de velocidades del bus PCI-e.
Ancho de banda de PCI Express, Gbytes/s
Año
lanzamientos
Versión
PCI Express
Codificación
Velocidad
transferencias
Ancho de banda en x líneas
×4
×8
×16
2002
1.0
8b/10b
0.50 Gbytes/s
1.0 Gbytes/s
2.0 Gbytes/s
4.0 Gbytes/s
2007
2.0
8b/10b
1.0 Gbytes/s
2.0 Gbytes/s
4.0 Gbytes/s
8.0 Gbytes/s
2010
3.0
128b/130b
1.97 Gbytes/s
3.94 Gbytes/s
7.88 Gbytes/s
15.8 Gbytes/s
Al instalar un 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 considerablemente menor. Hay un problema, ya que las velocidades lineales de los SSD PCI-e modernos superan el ancho de banda del bus PCI-e 2.0 y, incluso más, del PCI-e 1.0.
SSD M.2 y adaptador PCI-e
Hay opciones de mejora bastante buenas, como comprar un adaptador por 10 dólares y colocar un SSD M.2 en el servidor, pero nuevamente, para buenos SSD habrá una reducción de velocidades (especialmente en PCI-e 1.0), y los SSD M.2 no siempre están preparados para cargas de trabajo en servidores: alta resistencia al desgaste, protección de alimentación y estabilidad de las características de velocidad debido al llenado del caché SLC en modelos económicos.
Por lo tanto, este método solo puede ser adecuado para un servidor con un bus PCI-e 2.0 y ocupado en tareas no críticas.
SSD PCI-E 2.0 x8
La mejora más económicamente lógica es el uso de SSD PCI-E 2.0 x8 para servidores con bus PCI-e 1.0 (ancho de banda de hasta 2 GB/s) y PCI-e 2.0 (hasta 4 GB/s).
Este tipo de SSD para servidores se puede comprar muy barato tanto en diversos mercados como en subastas en línea, incluidos en Rusia.
He compilado una tabla de estos SSD moralmente obsoletos que acelerarán perfectamente su servidor viejo. Al final de la tabla he añadido algunos SSD con interfaz PCI-E 3.0 x8. Tal vez tenga suerte y los encuentre a un precio razonable.
Nombre
TB
PBW
PCI-E
4k lectura iops, K
4k escritura iops, K
lectura, MB/s
escritura, MB/s
2.4
32.5
2.0 x8
480
490
3000
2500
1.3
4
2.0 x8
225
345
2800
1300
1.3
16
2.0 x8
235
375
2700
1700
1.6
5.5
2.0 x8
270
375
2800
1700
3.2
11
2.0 x8
345
385
2700
2200
3.2
11
2.0 x8
345
385
2800
2200
2.6
32
2.0 x8
350
385
2700
2200
1,6
8,76
2.0 x8
395
270
1550
1100
3,2
17,52
2.0 x8
770
230
3100
2200
2,2
2.0 x8
340
110
2700
1000
2,2
33
2.0 x8
350
103
2700
1000
4,8
10.1
2.0 x8
269
51
2600
900
2,2
7.1
2.0 x8
531
59
2700
1400
Dell Micron P420M
1.4
9.2
2.0 x8
750
95
3300
630
1.4
9.2
2.0 x8
750
95
3300
630
1.6
25.10
3.0 x8
1200
200
6170
2200
3,2
17,52
3.0 x8
1200
200
6170
2200
3,2
17,5
3.0 x8
850
80
4500
2600
3,2
2,78
3.0 x8
1000
180
6800
6000
3.2
29
3.0 x8
750
120
5500
1800
3.2
29
3.0 x8
1000
120
6000
2000
3.2
29
3.0 x8
1000
180
6200
2600
3.2
18
3.0 x8
980
180
6200
2600
Entre estos SSD, Fusion ioMemory destaca. Su director científico fue . Luego, esta empresa fue adquirida por SanDisk por 1.2 mil millones de dólares. En su momento, costaban desde $50,000 cada uno. Ahora se pueden comprar por unos cientos de dólares en nuevo estado por un disco de capacidad de 1TB o más.
Si uno observa la tabla, se ve que tienen un número bastante alto de IOPS en escritura casi igual al número de IOPS en lectura. Considerando su precio actual, en mi opinión, estos SSD merecen atención.
Sin embargo, tienen algunas particularidades:
- No pueden ser de arranque.
- Se necesita un controlador para su uso. Hay controladores prácticamente para todo, pero para las versiones más recientes de Linux tendrán que compilarse.
- El tamaño óptimo del sector es 4096 bytes. (También se admite 512)
- El controlador en el peor de los escenarios puede consumir bastante RAM (con un tamaño de sector de 512 bytes).
- La velocidad de funcionamiento depende de la velocidad del procesador, por lo que es mejor desconectar las tecnologías de ahorro de energía. Esto es tanto una ventaja como una desventaja, ya que con un procesador potente el dispositivo puede funcionar incluso más rápido de lo que indican las especificaciones.
- Necesita un buen enfriamiento. Para servidores esto no debería ser un problema.
- No se recomienda para ESXi, ya que ESXi prefiere discos con sector 512N, lo que puede resultar en un alto consumo de memoria del controlador.
- Las versiones de marca de estos SSD generalmente no son soportadas por los vendedores hasta el último controlador de SanDisk (marzo de 2019).
Realicé pruebas de Fusion ioMemory en comparación con un SSD de servidor bastante moderno Intel P3700 PCI-E 3.0 x8 (este último cuesta alrededor de 4 veces más que el Fusion de capacidad similar). También se puede ver cuánto se reduce la velocidad debido al bus x4.
Fusion PX600 1.3TB PCI-E 2.0 x8
Intel P3700 1.6TB PCI-E 3.0 x4


Sí, la velocidad de lectura lineal se reduce definitivamente en el Intel P3700. Según las especificaciones, debería ser 2800 MB/s, pero tenemos 1469 MB/s. Aunque en general se puede decir que se pueden usar SSD de servidor PCI-E 3.0 x4 con un bus PCI-e 2.0, siempre que se logre obtener a un precio razonable.
Conclusiones
Se puede potenciar el subsistema de disco del antiguo servidor con un bus PCI-E 1.0 o 2.0 utilizando SSD que pueden aprovechar 8 líneas PCI-E, lo que proporciona un ancho de banda de hasta 4 GB/s (PCI-E 2.0) o 2 GB/s (PCI-E 1.0). La manera más económica de hacerlo es utilizando SSD PCI-E 2.0 que están moralmente obsoletos.
También hay opciones intermedias simples relacionadas con la compra de la clave CacheCade para controladores LSI o la sustitución del controlador Adaptec por la versión Q.
Y un método completamente obvio es comprar un controlador RAID SATA III para que los SSD funcionen a plena velocidad y poder utilizar todo lo que requiere rapidez.
Fuente: habr.com
