Copiar todo el sistema de archivos (Linux)

0

Tengo la necesidad de copiar un sistema de archivos completo (varios TB) de un disco (matriz Raid) a otro. Sería bueno mantener el sistema de archivos en línea durante la transferencia, ya que el sistema de archivos se usa (ligeramente) constantemente. Sin embargo, una interrupción es aceptable si es necesario.

Los dos métodos que me parecen obvios son el uso de cpo dd. El uso de cp parece más probable que produzca una copia confiable, pero también parece que sería más lento. Usar dd debería ser más rápido, pero me preocuparía tener un sistema de archivos dañado cuando termine. En cualquier caso, el plan sería usar rsync para manejar la copia de cualquier diferencia después de la copia.

¿Hay una mejor solución en línea que me falta?

Elros
fuente
¿Puedes usar las opciones de sincronización en tu matriz RAID?
AFH
Improbable. Una redada usa mdadm dentro de Linux. El otro es manejado por vmware y es transparente para el sistema operativo. Esa es parte de la razón de la migración.
Elros
Probablemente agarraría la ortiga y haría una copia fuera de línea dd, pero tomará algún tiempo: mido 25 MB / s, o ~ 11 h / TB. Aunque cpes un proceso más lento, no copiará el espacio vacío, por lo que puede que no sea más lento en general, pero no será una copia completamente fiel (por ejemplo, un archivo con múltiples entradas de directorio enlazadas producirá varias copias).
AFH
@AFH Gracias por esa nota sobre enlaces duros. Eso responde la pregunta para mí, ya que hay más enlaces duros de los que puedo sacudir un palo. Si hiciera varias copias de esos archivos, ni siquiera tendría espacio suficiente. ¿Te importaría hacer eso una respuesta? Me doy cuenta de que decirme que lo haga fuera de línea no es una respuesta directa a la pregunta de una mejor solución en línea, pero sí me da una respuesta general.
Elros
Si desea mantener los enlaces duros, puede crear una "copia de seguridad" utilizando tar (excluir / dev y directorios similares) y extraerlo, dejando los enlaces intactos.
GiantTree

Respuestas:

0

Siempre está el clásico cpio:

# cd /source
# find .|cpio -pdvulm /dest

Conserva los enlaces, incluso copia los nodos del dispositivo si existen.

P. Heffner
fuente