mdadm
no parece admitir el crecimiento de una matriz del nivel 1 al nivel 10.
Tengo dos discos en RAID 1. Quiero agregar dos discos nuevos y convertir la matriz a una matriz RAID 10 de cuatro discos.
Mi estrategia actual:
- Haz una buena copia de seguridad.
- Cree una matriz RAID 10 degradada de 4 discos con dos discos faltantes.
rsync
the RAID 1 array with the RAID 10 array.
un disco de la matriz RAID 1.fail
and remove- Agregue el disco disponible a la matriz RAID 10 y espere a que se complete la resincronización.
- Destruya la matriz RAID 1 y agregue el último disco a la matriz RAID 10.
El problema es la falta de redundancia en el paso 5.
¿Hay una mejor manera?
linux
software-raid
mdadm
Hans Malherbe
fuente
fuente
Respuestas:
Con linux softraid puede hacer una matriz RAID 10 con solo dos discos.
Nombres de dispositivos utilizados a continuación:
md0
es la matriz anterior de tipo / nivel RAID1.md1
es la nueva matriz de tipo / nivel RAID10.sda1
ysdb2
son particiones nuevas y vacías (sin datos).sda2
ysdc1
son particiones antiguas (con datos cruciales).Reemplace los nombres para adaptarse a su caso de uso. Use, por ejemplo,
lsblk
para ver su diseño actual.0) Copia de seguridad, Copia de seguridad, Copia de seguridad, Copia de seguridad oh y BACKUP
1) Cree la nueva matriz (4 dispositivos: 2 existentes, 2 faltantes):
Tenga en cuenta que en este ejemplo, el diseño
sda1
tiene una contraparte faltante ysdb2
otra contraparte faltante. Sus datosmd1
no son seguros en este momento (de hecho, es RAID0 hasta que agregue miembros faltantes).Para ver el diseño y otros detalles del uso de la matriz creada:
¡Nota! Debe guardar el diseño de la matriz:
2) Formatear y montar. El
/dev/md1
debe ser inmediatamente utilizable, pero debe formatearse y luego montarse.3) Copiar archivos. Utilice, por ejemplo, rsync para copiar datos del RAID 1 anterior al nuevo RAID 10. (este es solo un comando de ejemplo, lea las páginas del manual para rsync)
4) Fallar la primera parte del RAID1 anterior (md0) y agregarlo al nuevo RAID10 (md1)
¡Nota! Esto borrará los datos de
sda2
. Elmd0
debe seguir siendo útil, pero sólo si el otro miembro de la banda estaba en pleno funcionamiento.También tenga en cuenta que esto comenzará a sincronizar / recuperar procesos
md1
. Para verificar el estado, use uno de los siguientes comandos:Espere hasta que termine la recuperación.
5) Instale GRUB en la nueva matriz (suponiendo que esté arrancando desde ella). Algunos CD de rescate / arranque de Linux funcionan mejor.
6) Arrancar en una nueva matriz. SI FUNCIONÓ CORRECTAMENTE Destruya la matriz anterior y agregue el disco restante a la nueva matriz.
PUNTO SIN RETORNO
En este punto, destruirá los datos del último miembro de la matriz md0 anterior. Esté absolutamente seguro de que todo está funcionando.
Y de nuevo, espere hasta que
md1
finalice la recuperación .7) Actualizar la configuración de mdadm
Recuerde actualizar
/etc/mdadm/mdadm.conf
(eliminar md0).Y guarde la configuración en initramfs (estará disponible después del reinicio)
fuente
Siga el mismo procedimiento que Mark Turner pero cuando cree la matriz de incursiones, mencione 2 discos faltantes
Y luego proceda 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.
fuente
Acabo de pasar de LVM en dos discos de 2 TB mdadm RAID 1 a LVM en cuatro discos RAID 10 (dos originales + dos discos nuevos).
Como señaló @aditsu, el orden de las unidades es importante al crear la matriz.
El código anterior proporciona una matriz utilizable con dos discos faltantes (agregue números de partición si no está utilizando 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. Se mostró como repuesto hasta que el tercer disco terminó 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 n. ° 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 RAID 1 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 eliminado de RAID 1 (disco 4) a la matriz RAID 10.
Dale a la esposa, adelante.
En el paso 7, creo que las unidades 1, 2 o 4 pueden fallar (durante la resincronización del disco 4) sin matar la matriz. Si la unidad 3 falla, los datos en la matriz son tostados.
fuente
He movido mi raid1 a raid10 ahora y aunque esta página me ayudó, pero faltan algunas cosas en las respuestas anteriores. Especialmente mi objetivo era mantener las horas de nacimiento ext4.
la configuración fue:
como alguien dijo antes: el paso cero debe ser una copia de seguridad y siempre puede haber algo mal en el proceso que resulte en una pérdida de datos extrema
APOYO
configuración de la nueva incursión
crear una nueva incursión
(Descubrí que el diseño es importante ... el segundo y el cuarto parecen ser los duplicados en una incursión 'cercana' predeterminada)
emigrar
ahora obteniendo los datos ... primero estaba tratando de usar rsync que funcionó pero no pude mantener la hora de nacimiento ... use dd para clonar de la incursión anterior a la nueva
ESPERE
, puede verificar enviando USR1 a ese proceso
arreglar el raid
gparted es una gran herramienta: le dices que verifique y arregle la partición y cambie su tamaño al tamaño completo de ese disco con solo unos pocos clics del mouse;)
configure un nuevo uuid para esa partición y actualice su fstab con él (cambie el uuid)
almacenar su incursión en conf
y quitar el viejo
destruyendo el viejo
fallar el primero y agregarlo a la nueva incursión
luego haga gpt en ese dispositivo y configure una nueva partición vacía
ESPERE
, puede consultar con
para el segundo
luego haga gpt en ese último dispositivo y configure una nueva partición vacía nuevamente
ESPERE DE NUEVO
fuente
Lo hice con LVM. Configuración inicial: - sda2, sdb2 - y creó raid1 md1 en la parte superior. Se utilizaron sda1 y sdb1 para la segunda incursión raid1 para / partición de arranque. - md1 era pv en el espacio del grupo de volumen, con algunos lvm en él.
Agregué discos sdc y sdd y creé particiones como en sda / sdb.
Asi que:
md10 creado como:
mdadm --create / dev / md10 --level raid10 --raid-devices = 4 / dev / sdc2 missing / dev / sdd2
extender vg en él:
pvcreate / dev / md10 vgextend space / dev / md10
movió volúmenes de md1 a md10:
pvmove -v / dev / md1 / dev / md10
(esperar a que termine) 4. reducir el grupo de volumen:
detener matriz md1:
mdadm -S / dev / md1
agregue discos del viejo md1 al md10:
mdadm -a / dev / md10 / dev / sda2 / dev / sdb2
actualizar la configuración en /etc/mdadm/mdadm.conf:
mdadm -E --scan >> / dev / mdadm / mdadm.conf
(y elimine el viejo md1)
Todo hecho en el sistema en vivo, con volúmenes activos utilizados para kvm's;)
fuente