Ubuntu 22.04.3 LTS con mdadm 16 x 8TB Raid 6: ¿es posible actualizar discos individuales y usar el espacio inmediatamente sin usar LVM?

Ubuntu 22.04.3 LTS con mdadm 16 x 8TB Raid 6: ¿es posible actualizar discos individuales y usar el espacio inmediatamente sin usar LVM?

Un poco más de historia... Tengo 4 matrices en tiempo real (siempre ejecutándose para que las use): las 2 matrices más importantes (40 TB [se usan 20 TB] y 112 TB [se usan 105 TB] están respaldadas en una matriz Raid6 de 16 x 8 TB (112 TB). almacenamiento total gratuito y, como puede ver, tengo más para realizar copias de seguridad del que tengo espacio). Por lo tanto, necesito más almacenamiento...

Mi mejor solución fue comprar otro JBOD SuperMicro de 24 bahías, pero desde después de Covid, los precios se han duplicado, el método más barato en este momento... es actualizar mis unidades. PERO, no puedo permitirme 16 unidades Exos de 16 TB al mismo tiempo... eso es bastante caro para un servidor doméstico. :)

Entonces, ¿qué me impulsó a intentar encontrar una manera de actualizar todo esto?

Ayer compré 3 Exos de 16 TB. Ejecuté los siguientes comandos en la matriz de respaldo...

#UPGRADE AN ARRAY *******************************************************
#FIRST ADD SPARES
mdadm /dev/md4 --add /dev/sdan  (a 16TB drive)
mdadm /dev/md4 --add /dev/sdao  (a 16TB drive)

#SECOND REPLACE DISKS (2 at a time)  replace 2 8TB drives with 16TB drives.
mdadm /dev/md4 --replace /dev/sdah /dev/sdai --with /dev/sdan /dev/sdao

Pregunta #1: No estoy usando LVM. Sólo un mdadm raid6 normal con un sistema de archivos ext4 encima. Entonces, mi suposición es... No puedo usar el espacio adicional hasta que TODAS las unidades de 8 TB se actualicen a 16 TB... Pregunta n.° 1: ¿Es correcto?


Estaba pensando... una alternativa sería... una vez que tenga 9 unidades de 16 TB, podría crear una nueva matriz y copiar todo de esta matriz de 16 x 8 TB directamente en la matriz de 9 x 16 TB, ya que son del mismo tamaño y ENTONCES Podría simplemente hacer crecer la matriz que he hecho antes... Una vez que tenga la matriz de 9 discos... es fácil agregarle...

mdadm --grow --raid-devices=10 --backup-file=/root/md4_grow.bak /dev/md4

y luego...

resize2fs /dev/md4

Entonces, simplemente no conozco las limitaciones de mdadm. Sé que en mi Synology nas puedo realizar una actualización híbrida y obtener un uso completo de cualquier unidad de inmediato... pero prefiero mdadm incluso si no puedo tener control híbrido del sistema de archivos. Supongo que podría agregar LVM encima del raid6... pero nunca lo había usado antes... no estoy seguro de poder convertir la matriz actual que tengo ahora a LVM o si tendría que borrar todo. ES una matriz de respaldo... así que técnicamente puedo destruirla... PERO, lo aterrador entonces es... Ya no tengo una copia de seguridad. ¿Qué pasa si mis arreglos principales fallan mientras estoy reconstruyendo este nuevo arreglo? Entonces perdería montones de datos.

Sé que raid no es una copia de seguridad, pero esta matriz de copia de seguridad está desactivada la mayor parte del tiempo. Sólo se enciende para la copia de seguridad y luego se apaga nuevamente.

Para los datos súper importantes... los copié y pegué en unas cuantas unidades Exos de 10 TB que no están en una redada y los guardé en una caja "por si acaso" sucede algo. Lamentablemente, tengo que elegir qué respaldar de esa manera porque tengo demasiados datos para respaldar correctamente... entonces, mi matriz de respaldo es lo único cercano al tamaño necesario para respaldar las matrices en tiempo real...


Pregunta hipotética n.º 2: digamos que finalmente, reemplazo, todos mis IronWolfs de 16 x 8 TB por unidades Exos de 16 x 16 TB... ¿simplemente ejecuto?

resize2fs /dev/md4

y mdadm verá... "¡¡¡Oye, solo estás usando 8 TB de los 16 TB!!! ¡¡¡Arreglemos eso!!!" y procede a expandirse para llenar TODO el espacio? ¿O tengo que ejecutar otros comandos una vez que se actualicen todas las unidades?

Leí que crecer puede tomar un tamaño pero... Nunca he usado eso... Solo he usado crecer para AGREGAR otra unidad a la matriz... yendo de --raid-devices=9 a --raid -devices=10 por ejemplo... y luego ejecutando

resize2fs /dev/md4

para conseguir el nuevo espacio encontrado...


¿Pensamientos de usuarios más experimentados que yo?

(Gracias Gerald por formatear el código, han pasado años desde que hice una pregunta y me olvidé de eso).

información relacionada