Planeo hacer una copia de seguridad de mis HDD grandes rsync
y anticipo que tomará unos días. ¿Es seguro usar el HDD original (agregar archivos) mientras rsync
funciona? ¿O es mejor dejar los discos duros intactos hasta que rsync
se termine?
27
Respuestas:
Como otros ya han señalado, es seguro leer desde el disco de origen, o usar el disco de destino fuera del directorio de destino, mientras se ejecuta rsync. También es seguro leer dentro del directorio de destino, especialmente si el directorio de destino está siendo poblado exclusivamente por la ejecución de rsync.
Lo que generalmente no es seguro es escribir dentro del directorio de origen mientras se ejecuta rsync. "Escribe" es todo lo que modifica el contenido del directorio de origen o cualquier subdirectorio del mismo, por lo que incluye actualizaciones de archivos, eliminaciones, creación, etc.
Hacerlo en realidad no romperá nada, pero el cambio puede o no ser recogido por rsync para copiarlo en la ubicación de destino. Eso depende del tipo de cambio, si rsync ha escaneado ese directorio en particular y si rsync ha copiado el archivo o directorio en cuestión todavía.
Sin embargo, hay una manera fácil de evitarlo: una vez que termine, ejecute rsync nuevamente, con los mismos parámetros. (A menos que tenga algún parámetro de eliminación funky; si lo tiene, tenga un poco más de cuidado). Si lo hace, volverá a escanear la fuente y transferirá las diferencias que no se detectaron durante la ejecución original.
La segunda ejecución debe transferir solo las diferencias que ocurrieron durante la ejecución anterior de rsync, y como tal se completará mucho más rápido. Por lo tanto, puede sentirse libre de usar la computadora normalmente durante la primera ejecución, pero debe evitar todo lo posible realizar cambios en la fuente durante la segunda ejecución. Si puede, considere volver a montar el sistema de archivos de origen de solo lectura antes de comenzar la segunda ejecución de rsync. (Algo así
mount -o ro,remount /media/source
debería hacer).fuente
@reboot root find / -print &>/dev/null
a mi crontab del sistema, para llenar el caché. (La entrada real es más compleja para dar cuenta de algunos casos especiales en mi sistema en particular.) Utiliza algo de RAM y algo de tiempo de bloqueo de pared temprano después del inicio para mejorar bastante el escaneo del árbol de directorios IME.updatedb
(construir la base de datos de localizar) oslocate -u
(lo mismo, si tiene pendiente) en su lugar? De esa manera, todavía almacena en caché la jerarquía, pero también construye las bases de datos de localización o pendiente, lo que le permite usar esos comandos para encontrar rápidamente muchos archivos.Esto depende del sistema de copia de seguridad que utilice, pero en general es una mala idea modificar el contenido de un dispositivo mientras realiza la copia de seguridad. Sin embargo, puede leer su contenido; Es una operación segura, incluso si ralentiza el proceso.
En su caso,
rsync
construirá una lista de archivos y luego iniciará la copia de seguridad. Por lo tanto, no se copiará ningún archivo que agregue al disco duro de origen después de que haya comenzado la copia de seguridad .Lo que hago es no usar ningún dispositivo durante una copia de seguridad. Esta es la forma más segura de obtener una copia de seguridad rápida y consistente.
fuente
rsync
que terminará en unos segundos porque solo se copiarán los archivos que he cambiado durante la ejecución. Todo estará en los cachés, por lo que es mucho más fácil abstenerse de modificaciones durante ese período.Es seguro leer datos de las áreas de origen mientras
rsync
está en funcionamiento, pero si actualiza algo,rsync
es probable que la copia que crea / actualiza sea inconsistente:Si actualiza un archivo que rsync ya ha escaneado, no verá la actualización hasta que se ejecute en el futuro. Si actualiza un archivo que aún tiene que escanear, el cambio se respetará en el destino. Si actualiza los archivos que se han escaneado y no se han escaneado, terminará con una mezcla de versiones antiguas y nuevas en el destino.
Si agrega un archivo a un directorio que ya ha sido escaneado, esta vez se perderá de la copia de destino. Si elimina un archivo de un directorio que ya ha sido escaneado, esta vez se dejará en la copia de destino. Dependiendo de cómo invoque,
rsync
todo el árbol puede escanearse al inicio o puede escanearse gradualmente a medida que ocurre el proceso de sincronización.En algunas circunstancias
rsync
verá la inconsistencia y le advertirá. Si elimina un archivo o subdirectorio de un directorio que ya se ha escaneado a sí mismo pero no se ha escaneado su contenido, recibirá un mensaje de error sobre la falta del objeto. En circunstancias similares, a veces puede (si el tamaño y / o la marca de tiempo ha cambiado) también advertir sobre los archivos que cambian a mitad del escaneo.Para algunas copias de seguridad, esta inconsistencia puede no ser un problema masivo, pero para la mayoría lo será, por lo que se recomienda que no intente sincronizar una fuente que cambia activamente.
Si usa LVM para dividir su sistema de almacenamiento, podría usar una instantánea temporal para tomar una copia de seguridad en un momento determinado. Esto requiere que tenga suficiente espacio en el grupo de volúmenes para crear un volumen de instantánea lo suficientemente grande como para contener todos los cambios que sucederán durante el tiempo que se necesite la instantánea. Consulte la documentación de LVM (o uno de los muchos ejemplos en línea: busque "Copia de seguridad de instantáneas de LVM" o similar) para obtener más detalles.
Incluso sin LVM, algunos sistemas de archivos admiten instantáneas por sí mismos, por lo que también puede considerar esa opción.
Si desea hacer una copia de seguridad de grandes volúmenes activos sin un largo tiempo de inactividad y no puede usar instantáneas, puede ser suficiente ejecutar el análisis "en vivo" hasta su finalización y luego detener el acceso al volumen y ejecutar otro proceso rsync que puede llevar mucho menos tiempo (si muy poco ha cambiado, solo escaneará el árbol de directorios y luego los pocos archivos actualizados). De esta manera, la duración en la que debe evitar los cambios podría ser mucho más corta.
fuente
Source HDD puede leer cualquier cosa mientras rsync.
Source HDD puede escribir cualquier contenido no relacionado con el contenido de rsync.
El HDD de destino puede leer cualquier cosa mientras rsync.
El HDD de destino puede escribir cualquier cosa mientras se sincroniza con la condición de tener suficiente espacio reservado para el contenido sincronizado.
Por supuesto, en cualquiera de los casos, habrá una reducción del rendimiento.
fuente
Todas las respuestas actuales hablan de la seguridad de los datos en términos de coherencia y suponen un hardware perfecto.
Otra cosa a considerar es la seguridad del hardware en sí. Si tiene discos duros sin copia de seguridad que podrían estar a punto de fallar (es posible que aún no lo sepa) y está haciendo una copia de seguridad integral inicial , no la use. Ni siquiera lo monte si los datos son críticos. Puede usar una herramienta como
dd
para clonar el disco como un dispositivo de bloque. Lo que no desea que busque la cabeza del disco, y posiblemente escriba mientras intenta hacer una copia de seguridad. Además,dd
debería ser más rápido para la copia de seguridad inicial, ya que solo copia los bits en orden (si la unidad no está llena en su mayoría, supongo que rsync también ganaría en el caso inicial).Para copias de seguridad incrementales posteriores, rsync es una excelente opción y estoy de acuerdo con las otras respuestas al 100%.
fuente
dd
no es la mejor opción. Usar en suddrescue
lugar; maneja las fallas parciales mucho mejor. Pero eso no fue una consideración en la pregunta original.