Estabilidad y rendimiento de software RAID en Linux
Ha llegado el momento de renovar un servidor linux que, entre otras tareas, actua de servidor de ficheros. Así que necesita mucha capacidad y también un buen rendimiento. Los ficheros son pocos pero grandes. Hablamos de centenares de gigas, así que se mueve mucha información mediante red gigabit.
Para el nuevo servidor quiero probar diferentes configuraciones de RAID y LVM en cuanto a rendimiento. Ya que he de hacerlo yo mismo, he pensado compartir los datos por si a alguien le sirven. Que quede claro que las pruebas no son en absoluto cientificas, sino una burda aproximación para ayudar a tomar una decisión sobre la configuración.
Primero, la configuración hardware de la nueva máquina:
- Placa base: Asus A8V-E SE
- Procesador: Athlon 64 X2 4600+ (2 x 2.4 GHz)
- Memoria: 2 GB DDR 400 (dual channel)En cuanto a discos, la placa dispone de 2 conectores SATA y 2 PATA. He añadido una controladora PCI para 2 SATA adicionales (Conceptronic). Actualmente hay 5 discos duros, una mezcla variada. Como digo, la prueba dista de ser muy válida salvo como un ejemplo más. Hay discos de 300GiB y de 320GiB, de 8 y 16 MiB de cache y tanto PATA como SATA. Las marcas son Maxtor y Seagate.
Bien, lo primero es probar la estabilidad de la máquina para comprobar placa, procesador, memoria, discos y controladoras. Para ello, utilizo el paquete stress de Debian. Por cierto que el sistema instalado es Debian Etch (en testing actualmente) utilizando el instalador RC1. La arquitectura escogida es AMD64. He actualizado al último kernel, 2.6.18.
La prueba de stress con múltiples trabajos de CPU, memoria, IO y disco ha funcionado sin problemas durante 10 horas seguidas (aunque la caja y la fuente de alimentación se han calentado considerablemente).
Como sistema de ficheros utilizo XFS. Para las pruebas de rendimiento de disco hecho mano del paquete bonnie++.
Aquí van los primeros resultados:
Configuración con 5 discos en RAID5:
Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CPns1 4G 61606 95 99400 26 38831 16 53337 93 157120 43 511.5 1 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 1843 8 +++++ +++ 1732 7 1806 7 +++++ +++ 751 4 Configuración con 5 discos en RAID1:
Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CPns1 4G 54048 80 55983 9 27978 5 63971 95 67411 6 645.1 1 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 3070 3 +++++ +++ 2462 0 2960 2 +++++ +++ 1023 2 Configuración con 5 discos en RAID10:
Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CPns1 4G 66499 98 140498 24 48772 12 58759 90 130574 18 611.0 1 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 3313 9 +++++ +++ 2528 4 3658 9 +++++ +++ 2401 5 Bien. Obviamente en cuanto a espacio de disco RAID5 ofrece la mayor capacidad (N-1), RAID1 la peor (1) y RAID10 un término medio (aprox. N/2).
Para tener una referencia ejecuto el mismo test sobre uno sólo de los discos:
Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CPns1 4G 60706 92 67512 14 30783 5 55824 84 73633 5 212.6 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 375 2 +++++ +++ 299 1 358 2 +++++ +++ 208 1
En rendimiento un poco lo esperado. Para escritura / lectura:
-
RAID5: +47% / +113%
-
RAID1: -17% / -9%
-
RAID10: +108% / +77%Continuará…