Sistema de archivos estable a la roca para archivos grandes (copias de seguridad) para Linux

18

¿Qué sistema de archivos sería mejor para las copias de seguridad? Estoy interesado principalmente en la estabilidad (especialmente la falta de corrupción de los archivos durante los reinicios duros, etc.), pero también es importante cuán eficientemente maneja archivos grandes (> 5 GB).

Además, ¿qué parámetros de montaje debo usar?

Kernel es Linux> = 2.6.34.

EDIT: Yo no quiero métodos de copia de seguridad. Necesito el sistema de archivos para almacenarlos.

Maciej Piechotka
fuente
¿Cuántos datos está respaldando diariamente, semanalmente, mensualmente? ¿Cuántos datos planea retener y por cuánto tiempo?
Stefan Lasiewski
¿Tiene que ser Linux? ¿Has considerado ZFS (una versión anterior y estable 14) en FreeBSD 8.1?
Stefan Lasiewski
Es un almacenamiento de respaldo temporal para computadora portátil, hasta que se envíe a un disco duro externo. A partir de FreeBSD, aunque es un sistema maravilloso, no me conviene en esta aplicación.
Maciej Piechotka

Respuestas:

13

Puede usar ext4 pero recomendaría montar con el journal_datamodo que desactivará dealloc (asignación retrasada) que causó algunos problemas anteriores. La desactivación de dealloc hará que las nuevas escrituras de datos sean más lentas, pero hará que las escrituras en caso de falla de energía sean menos propensas a tener pérdidas. También debo mencionar que puede deshabilitar dealloc sin usar, lo journal_dataque tiene otros beneficios (o al menos lo hizo en ext3), como lecturas ligeramente mejoradas, y creo que una mejor recuperación.

Las extensiones aún ayudarán con la fragmentación. Las extensiones hacen que la eliminación de archivos grandes sea mucho más rápida que ext3, una eliminación de datos de cualquier tamaño (archivo único) debe ser casi instantánea en ext4 pero puede tomar mucho tiempo en ext3. (cualquier extensión basada en FS tiene esta ventaja)

ext4 también fsckes más rápido que ext3.

Una última nota, ¿hubo correcciones de errores en ext4 hasta 2.6.31? Básicamente me aseguraría de que no esté ejecutando un kernel pre 2.6.32 que es un kernel LTS.

xenoterracida
fuente
Si optar por "sólida" ext4que valdría la pena considerar la Mertis y los riesgos asociados con su on disk layouty por lo tanto la seguridad de los datos en reposo (un aspecto discuded aquí )
humanityANDpeace
5

XFS es sólido como una roca y ha estado en el núcleo durante años. Examine herramientas como xfs_freeze y vea si es lo que está buscando. Sé que esto es muy subjetivo, pero he usado XFS para el almacenamiento de datos durante años sin incidentes.

dsp
fuente
2
De acuerdo con mi respuesta, me gustaría señalar que XFS se basa en extensiones y tiene las mismas ventajas que ext4. Sin embargo, me gustaría mencionar que conlleva los mismos problemas con dealloc que ext4 puede tener, lo que puede provocar la pérdida de datos en un escenario de desconexión. No sé si dealloc se puede deshabilitar en XFS.
xenoterracide
Sí, no estoy seguro de si puede desactivar la función, pero la utilidad xfs_freeze garantiza una imagen de disco estable. Desde la página de manual: el indicador -f solicita que el sistema de archivos XFS especificado se congele a partir de nuevas modificaciones. Cuando se selecciona esto, se permite que se completen todas las transacciones en curso en el sistema de archivos, se detienen las nuevas llamadas al sistema de escritura, se detienen otras llamadas que modifican el sistema de archivos y todos los datos sucios, metadatos e información de registro se escriben en el disco. Cualquier proceso que intente escribir en el sistema de archivos congelado bloqueará la espera de que el sistema de archivos se descongele.
dsp
Estoy menos preocupado por la corrupción a mitad de la escritura de los archivos, siempre y cuando el vaciado funcione.
Maciej Piechotka
3

Simplemente use una herramienta de respaldo que admita sumas de verificación. Por ejemplo, Dar sí, y admite copias de seguridad incrementales. Luego puede hacer una copia de seguridad en un sistema de archivos sólido como ext3.

Para las copias de seguridad, desea algo sólido como una roca / muy estable. Y btrfs o ZFS simplemente no están listos hoy.

maxschlepzig
fuente
Lo cuento como ext3
Maciej Piechotka
0

btrfs tiene una suma de comprobación transparente de los datos escritos en el disco y un modo rápido de escritura ordenada que siempre está activado (y muchas otras funciones compatibles con las copias de seguridad), lo que lo hace atractivo para las copias de seguridad. Ver https://btrfs.wiki.kernel.org/index.php/Main_Page para más detalles.

durin42
fuente
Hmm Si bien podría ser una buena respuesta en el futuro, no creo que btrfs o zfs sean estables en Linux en este momento.
Maciej Piechotka
Los usuarios del núcleo me recomendaron btrfs. Lo último que supe fue que el responsable de mantenimiento de Mercurial lo estaba ejecutando en al menos una máquina a tiempo completo. Uso ZFS a través de FUSE a diario y es sólido como una roca, aunque un poco lento debido a FUSE.
durin42
1
btrfs en formato de disco aún no es estable ... No lo recomendaría hasta que eso haya cambiado. Los programadores de kernel pueden ejecutar todo tipo de locuras.
xenoterracide
ZFS podría ser estable ... pero debido a la cosa FUSE no me molestaría.
xenoterracide
1
ZFS en FUSE es un truco. Puede ser un buen truco, no confiaría en él para sus datos comerciales críticos. Además, ZFS en FUSE tiene algunos problemas de velocidad, y la velocidad es crítica cuando realiza copias de seguridad de terabytes de datos.
Stefan Lasiewski
0

Un aspecto muy importante que no he visto discutido en las otras respuestas son las características de estabilidad del diseño en disco del sistema de archivos (por ejemplo, considere consultar la documentación de posibles candidatos ext4 , btrfs )

Si bien la base de código y la cantidad de pruebas de los controladores del sistema de archivos de base de código, es de hecho importante como lo mostraron otras respuestas, ya que es la protección de los datos durante su lectura y escritura , el diseño / formato en disco es la protección contra riesgos para sus datos en reposo, que son formas de defectos de hardware, como sectores ilegibles o podredumbre silenciosa .

Con respecto a ext4, que se dice que tiene buenas características con respecto a la base de código probada durante mucho tiempo ( https://events.static.linuxfound.org/sites/events/files/slides/AFL%20filesystem%20fuzzing%2C%20Vault%202016_0. pdf muestra que tardó más en encontrar errores en él que, por ejemplo, en los más modernos y complejos btrfs), he examinado la resistencia ext4 en reposo y he encontrado algunas deficiencias de imho, del otro sistema de archivos alabado.

Consideraría prudente (si se elige ext4como " fs de respaldo sólido como una roca ") mejorar la capacidad de recuperación (aunque "endureciéndolo") utilizando la e2imageherramienta que ext4proporcionan los desarrolladores

El programa e2image guardará los metadatos críticos del sistema de archivos ext2, ext3 o ext4 ubicados en el dispositivo en un archivo especificado por archivo de imagen. El archivo de imagen puede ser examinado por dumpe2fs y debugfs, utilizando la opción -i para esos programas. Esto puede ayudar a un experto a recuperar sistemas de archivos dañados catastróficamente. En el futuro, e2fsck se mejorará para poder usar el archivo de imagen para ayudar a recuperar un sistema de archivos muy dañado.

y recomendar .

Es una muy buena idea crear archivos de imagen para todos los sistemas de archivos en un sistema y guardar el diseño de la partición (que puede generarse usando el comando fdisk -l) a intervalos regulares --- en el momento del arranque, y / o cada semana o entonces. El archivo de imagen debe almacenarse en algún sistema de archivos que no sea el sistema de archivos cuyos datos contiene, para garantizar que estos datos sean accesibles en el caso de que el sistema de archivos se haya dañado gravemente.

Teniendo en cuenta que ni siquiera todos los metadatos del ext4 diseño del disco se proporcionan con redundancia (es decir, el superbloque se almacena varias veces como una copia, los indoes se almacenan exactamente en un solo lugar), lo ext4que seguramente es inferior a btrfseso proporcionaría al menos sumas de verificación para todos los metadatos + los datos de contenido del archivo .

Para contrarrestar este "inconveniente" ext4y hacer que sea algo más rock-soliden el aspecto del diseño en el disco , podría ser razonable complementar esta redundancia y recuperación del contenido del archivo a través de par2/ parchive

A pesar de que la pregunta exige centrarse en las soluciones del sistema de archivos, me gustaría señalar que la mayor parte de lo que proporciona un sistema de archivos (almacenamiento en caché, diarios, recuperación del espacio asignado, asignación de bloques, etc.) no es necesariamente algo de lo que los datos de respaldo se beneficiarán mucho cuando solo se escribe y lee a granel y rarley. Para eso, consideraría usar una copia de seguridad parchivecomplementaria tarcomo la solución de copia de seguridad más óptima, ya que se reduce la base de código utilizada en el proceso y, por lo tanto, hay menos errores si hay menos "características".

humanidad y paz
fuente