Solución 1:
Con linux softraid puede crear una matriz RAID 10 con solo dos discos.
Nombres de dispositivos utilizados a continuación:
md0
es la matriz antigua de tipo/nivel RAID1.md1
es la nueva matriz de tipo/nivel RAID10.sda1
ysdb2
son nuevos , particiones vacías (sin datos).sda2
ysdc1
son particiones antiguas (con datos cruciales).
Reemplace los nombres para que se ajusten a su caso de uso. Utilice, p. lsblk
para ver su diseño actual.
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Tenga en cuenta que en este diseño de ejemplo sda1
le falta una contraparte y sdb2
tiene otra contraparte faltante. Tus datos en md1
no es seguro en este momento (efectivamente, es RAID0 hasta que agregue los miembros que faltan).
Para ver el diseño y otros detalles del uso de la matriz creada:
mdadm -D /dev/md1
¡Nota! Debe guardar el diseño de la matriz:
# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u
/dev/md1
debería ser inmediatamente utilizable, pero necesita ser formateado y luego montado.
rsync -arHx / /where/ever/you/mounted/the/RAID10
mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2
¡Nota! Esto borrará los datos de sda2
. El md0
aún debería ser utilizable, pero solo si el otro miembro de la incursión estaba completamente operativo.
También tenga en cuenta que esto comenzará los procesos de sincronización/recuperación en md1
. Para verificar el estado, use uno de los siguientes comandos:
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
PUNTO DE NO RETORNO
En este punto, destruirá los datos del último miembro de la matriz md0 anterior. Asegúrese absolutamente de que todo funcione.
mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1
Y de nuevo - espera hasta la recuperación en md1
ha terminado.
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
Recuerda actualizar /etc/mdadm/mdadm.conf
(quitar md0).
Y guarde la configuración en initramfs (para que esté disponible después de reiniciar)
update-initramfs -u
Solución 2:
Siga el mismo procedimiento que Mark Turner, pero cuando cree la matriz raid, mencione 2 discos faltantes
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Y luego continúe con otros pasos.
En resumen, cree RAID10 con un total de 4 discos (de los cuales faltan 2), vuelva a sincronizar, agregue otros dos discos después de eso.
Solución 3:
Acabo de terminar de pasar de LVM en dos discos mdadm RAID 1 de 2 TB a LVM en cuatro discos RAID 10 (dos discos originales + dos nuevos).
Como señaló @aditsu, el orden de las unidades es importante al crear la matriz.
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda missing /dev/sdb missing
El código anterior proporciona una matriz utilizable con dos discos faltantes (agregue números de partición si no está usando discos completos). Tan pronto como se agregue el tercer disco, comenzará a sincronizarse. Agregué el cuarto disco antes de que el tercero terminara de sincronizarse. Apareció como repuesto hasta que terminó el tercer disco y luego comenzó a sincronizarse.
Pasos para mi situación:
-
Haz una buena copia de seguridad.
-
Cree una matriz RAID 10 degradada de 4 discos con dos discos faltantes (llamaremos a los discos faltantes #2 y 4).
-
Dígale a su esposa que no cambie/agregue ningún archivo que le interese
-
Falla y elimina un disco de la matriz RAID 1 (disco 4).
-
Mueva las extensiones físicas de la matriz RAID1 a la matriz RAID 10 dejando el disco 2 vacío.
-
Elimine la matriz RAID 1 activa, agregue ese disco ahora vacío (disco 2) a la matriz RAID 10 y espere a que se complete la resincronización.
-
Agregue el primer disco extraído de RAID1 (disco 4) a la matriz RAID 10.
-
Dale esposa adelante.
En el paso 7 creo que maneja 1, 2, O 4 puede fallar (durante la resincronización del disco 4) sin eliminar la matriz. Si la unidad 3 falla, los datos de la matriz se tosan.