Agregar unidades a una matriz RAID 10


11

¿Cómo haría crecer una matriz RAID10 usando mdadm?

Obviamente, ¿necesitaría agregar 2 unidades a la vez, o tendrían que ser 4 unidades?

Tengo la sensación de que es una mala idea.

¿O sería más sabio optar por RAID5?


Por lo general, si alguien me pregunta si necesitan RAID 10, eso significa que no lo necesitan. ¿Por qué no Raid 5 o Raid 6?
surfasb

Tenía la esperanza para un mejor rendimiento de escritura de RAID 5 .. Pero supongo que la falta de normas de flexibilidad que fuera ..
stuartc

En general, RAID 5/6 proporcionará un mejor rendimiento de escritura que RAID 10/01. Porque está distribuyendo escrituras en todas las unidades en lugar de solo la mitad de las unidades.
surfasb

66
@surfasb "RAID 5/6 proporcionará un mejor rendimiento de escritura que RAID 10", no lo hará, porque distribuir las escrituras en más unidades es mucho más que la penalización de escritura de RAID5 / 6

@JackDouglas: Muy buena información.
Surfasb

Respuestas:


5

La última vez que lo comprobé, mdadm no te dejará ... crecer incursión10. Eché un vistazo a la página de manual de mdadm ahora y todavía dice: Actualmente, las opciones de crecimiento admitidas incluyen el cambio del tamaño activo de los dispositivos componentes y el número de dispositivos activos en los niveles RAID 1/4/5/6, cambiando el nivel RAID entre 1, 5, y 6, cambiar el tamaño y el diseño del fragmento para RAID5 y RAID5, así como agregar o eliminar un mapa de bits con intención de escritura.


¡Gracias! Apreciados, también es otra buena pista que esto no va a suceder rápidamente o bien es que no puedo encontrar una tarjeta de hardware RAID que lo hace bien .. RAID 5 es ..
stuartc

2
RAID5 puede ser muy lento en algunas cargas de trabajo. ¿Que estas intentando hacer?
Stingray

Principalmente solo almacenaba medios, pero también montaba un recurso compartido NFS para la edición de fotos, por lo que esperaba algunas buenas velocidades de escritura y lecturas.
stuartc

16

Para crecer RAID 10 necesitas mdadm en la versión min. 3.3 y la versión del kernel min 3.5. También necesita un número par de discos: los no emparejados solo pueden funcionar como repuesto o, eventualmente, crecer en modo degradado (no probado).

Aquí va el ejemplo del crecimiento de RAID 10 de 4 unidades a 6 usando mdadm 3.3-2ubuntu2 @ Linux 4.2.0-10-generic. Probado con datos ext4, el sistema de archivos se desmontó, ext4 se extendió después del crecimiento de RAID sin ningún problema.

~$ cat /proc/mdstat
md126 : active raid10 sdd1[1] sdc1[0] sdf1[3] sde1[2]
976428032 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk

~$ sudo mdadm /dev/md126 --add /dev/sdi1 /dev/sdj1
mdadm: added /dev/sdi1
mdadm: added /dev/sdj1
~$ sudo mdadm --grow /dev/md126 --raid-devices=6

~$ cat /proc/mdstat
md126 : active raid10 sdj1[5] sdi1[4] sdd1[1] sdc1[0] sdf1[3] sde1[2]
1464642048 blocks super 1.2 512K chunks 2 near-copies [6/6] [UUUUUU]
bitmap: 0/6 pages [0KB], 131072KB chunk

1
Esta debería ser la respuesta aceptada hoy en día. Lo hice yo mismo.
Kyle

Como me acabo de enterar por mí mismo, esto solo se aplica a la incursión 10, cerca de 2 diseños. raid10, far2 sigue sin crecer. ver es decir aquí: wiki.archlinux.org/index.php/RAID#Nested_RAID_levels
gabtub

9

Me doy cuenta de que esto tiene más de un año, pero alguien podría encontrar esto útil ...

Puede expandir una matriz de incursiones 10, pero no de la manera que espera. Tendría que anidar múltiples niveles de incursión. Esto se puede hacer con mdadm en 2 unidades en raid 10, que tiene un rendimiento bastante bueno dependiendo del diseño, pero tendría que hacer múltiples matrices de 2 discos raid 10, luego adjuntarlas al nodo lógico. Luego, para expandir, agregue algunos más y raye en eso. Si ese es su caso de uso (necesita expandirse mucho), entonces sería aconsejable utilizar una matriz de paridad, que puede crecer.

Estas son las limitaciones que se obtienen con la incursión 10, mientras se mantiene un mejor rendimiento general de lectura / escritura. Y una aclaración, incursión 5/6 absolutamente no "En general, proporciona un mejor rendimiento de escritura ...". La incursión 5/6 tiene sus propios pros / contras respectivos al igual que la incursión 10, pero el rendimiento de escritura no es una ventaja para la incursión 5/6.

Además, no especificó el tamaño de sus unidades, pero tenga cuidado con la incursión 5 en nuevas unidades grandes. Aunque si tiene cuidado, puede recuperarse de un error de lectura irrecuperable, corre el riesgo de tiempo de inactividad y la posibilidad de no poder recuperarse en absoluto.

--edite para agregar información-- Use herramientas como hdparm (hdparm -i) y lshw para obtener los números de serie junto con el nombre del dispositivo (/ dev / sda) cuando tenga una falla. Esto asegurará que elimine el dispositivo correcto al reemplazarlo. Flecha hacia arriba en el comentario de Travis, ya que es muy correcto y tiene un diseño agradable, pero, como de costumbre, pondera los pros y los contras de cada solución.


9

Algunas buenas noticias del anuncio de lanzamiento de mdadm 3.3:

Esta es una nueva versión importante, así que no se sorprenda demasiado si hay algunos problemas ...

Algunos aspectos destacados son:

...

  • Las matrices RAID10 se pueden reformar para cambiar la cantidad de dispositivos , cambiar el tamaño del fragmento o cambiar el diseño entre 'cerca' y 'desplazamiento'. Esto siempre cambiará data_offset y fallará si no hay espacio para mover data_offset.

...

Según esta respuesta en U&L, necesitará al menos Linux 3.5 también.


3
Experimenté con el crecimiento de mdadm raid10 usando mdadm v3.3.2 con resultados mixtos. Descubrí que no podía hacer crecer una incursión10 que había creado con una versión anterior de mdadm. Una incursión10 que se creó con v3.3, pude remodelar / crecer. Entonces, si estás en la situación de querer hacer crecer un raid10 (pero no puedes), puede ser una buena idea crear el nuevo raid10 usando el último mdadm.
adalle

6

Sé que es más trabajo y podría ser confuso, pero siempre puedes eliminar múltiples espejos.

Por ejemplo, acabo de configurar una matriz de 4 unidades raid 10 y este último desea agregar otra matriz de 4 unidades raid 10. Simplemente use mdadm para crear una nueva matriz raid 10 en las nuevas unidades. A continuación, puede crear otra matriz de incursiones 0 utilizando los dos dispositivos de incursiones existentes. Sin embargo, usaría las características de lvm para crear la banda, manteniendo así las configuraciones mdadm y los dispositivos / dev / md en un estado fácil de entender. Cualquiera de los métodos funcionaría, y probablemente haya más, pero eso es lo que podría hacer de la cabeza.


Gran manera de administrar un conjunto de datos en crecimiento, mucho más fácil que la mayoría. La parte difícil es realizar un seguimiento de qué unidades han fallado en qué espejo se configuró. Pero sí, una gran sugerencia!
stuartc

3

No puede hacer crecer una matriz RAID10, esto es cierto. Pero puede comenzar con dos unidades (a costa de no tener redundancia en este momento) y luego, agregar dos más. He utilizado este método para cambiar de una matriz RAID5 con cuatro unidades de disco a RAID10 con cuatro unidades de disco.

Degradaba RAID5 y eliminaba un disco de la matriz. Esto me dio dos discos que eran de uso gratuito. Luego creé una matriz RAID10 con algo parecido a 'mdadm --create --level 10 / dev / md0 / dev / sda1 missing / dev / sdc1 missing'. Esto fue suficiente para iniciar la matriz.

Cuando moví los datos de la matriz RAID5 degradada a la matriz RAID10, agregué dos de los discos RAID5 a la matriz RAID10 y agregué el extra como repuesto.

Probablemente sea una buena idea si alguien que tiene más conocimiento que yo puede hablar sobre cualquier impacto en el rendimiento que esto pueda haber tenido. Pero la razón principal de mi publicación es mostrar que es posible comenzar con RAID10 y dos unidades.

Nota: lea la siguiente publicación del foro que pregunta y responde si el orden del disco en mdadm es importante .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.