Tiempo ext3 fsck versus tamaño de partición

9

Estoy haciendo la configuración para una granja de almacenamiento a gran escala, y para evitar la necesidad de fscks de un mes, mi plan es dividir el almacenamiento en numerosos sistemas de archivos más pequeños (esto está bien, ya que tengo un árbol de archivos bien guardado , por lo que puede fácilmente tener sistemas de archivos separados montados sobre 1/, 2/, 3/, 4/, etc).

Mi dificultad es encontrar una enumeración de lo que es un tamaño "razonable" para un sistema de archivos, para mantener fsck veces similarmente "razonable". Si bien soy plenamente consciente de que el tiempo absoluto para un tamaño determinado dependerá en gran medida del hardware, parece que no puedo encontrar ninguna descripción de la forma de la curva para los tiempos ext3 fsck con diferentes tamaños de sistema de archivos, y cuáles son las otras variables ( ¿Un sistema de archivos lleno de archivos en un solo directorio tarda más de uno con 10 archivos en cada uno de los miles de directorios en un árbol; archivos grandes vs archivos pequeños; sistema de archivos completo vs sistema de archivos vacío, y así sucesivamente).

¿Alguien tiene referencias a números bien investigados sobre esto? De lo contrario, cualquier anécdota sobre estos temas debería al menos ayudar a guiar mi propia experimentación, si fuera necesario.

EDITAR : Para aclarar: independientemente del sistema de archivos, si algo sale mal con los metadatos, será necesario verificarlo. Si los re-fscks basados ​​en tiempo o montaje están habilitados o necesarios no es un problema, y ​​la única razón por la que pido números específicamente relacionados con ext3 es porque ese es el sistema de archivos más probable para elegir. Si conoce un sistema de archivos que tiene un proceso fsck particularmente rápido, estoy abierto a sugerencias, pero debe ser una opción sólida (afirma que "¡el sistema de archivos X nunca necesita fscking!" Se reirá y se burlará por completo) . También soy consciente de la necesidad de copias de seguridad, y el deseo de fsck no es un sustituto de las copias de seguridad, sin embargo, simplemente descartar el sistema de archivos y restaurar la copia de seguridad cuando falla, en lugar de fscking, parece realmente un

womble
fuente

Respuestas:

6

Según un artículo de Mathur et al. (p. 29), el tiempo e2fsck crece linealmente con la cantidad de inodes en un sistema de archivos después de cierto punto. Si el gráfico es adecuado, es más efectivo con sistemas de archivos de hasta 10 millones de inodos.

Cambiar a ext4 ayudaría, bajo la condición de que su sistema de archivos no esté cargado hasta el borde, donde la ganancia de rendimiento (debido a no verificar los inodos marcados como no utilizados) no tiene un efecto perceptible.

towo
fuente
Gracias por esa referencia, me ayudó a confirmar algunas cosas. También realicé mi propia evaluación comparativa, que confirmó el crecimiento lineal que se muestra en ese documento.
womble
2

Creo que tendrás que hacer tu propio benchmarking. Una búsqueda rápida en Google no reveló nada, excepto que ext4 funciona mucho más rápido que ext3.

Entonces, cree algunas particiones ext3, 100GB, 200GB, etc. hasta el tamaño del disco que usará. Luego llénalos con datos. Si puede usar datos que se parezcan a sus datos de producción (archivos por directorio, distribución de tamaño de archivo, etc.), entonces será lo mejor. Tenga en cuenta que simplemente copiando archivos desde otra partición desde un dispositivo de copia de seguridad los colocará en el disco perfectamente distribuido y desfragmentado, por lo que sus pruebas carecerán de muchos tiempos de búsqueda de cabezales de disco que vendrán de muchas escrituras / modificaciones / eliminaciones.

También deberás pensar un poco en fscks paralelos. Vea el último par de campos en / etc / fstab. Las particiones en el mismo disco físico deben hacerse en secuencia; Se pueden hacer varios discos en el mismo controlador en paralelo, pero tenga cuidado de no sobrecargar el controlador y ralentizarlos.

pgs
fuente
-1

¿Hay alguna razón por la que no pueda usar un sistema de archivos que no fuerce el tiempo o los fscks basados ​​en el recuento de montaje cuando reinicie?

(los fscks basados ​​en el tiempo realmente me molestan: para un servidor de tiempo de funcionamiento prolongado, prácticamente garantiza que tendrá que hacer un fsck completo cada vez que actualice el kernel).

de todos modos, XFS es uno de los sistemas de archivos de registro en diario que no fuerzan un fsck. digno de una mirada.

cas
fuente
Otra opción es usar Nexenta (kernel opensolaris, debian userland), que le daría ZFS. <A href=" nexenta.org/"> http://www.nexenta.org/</A >
cas
3
Cuando un sistema de archivos se corrompe, independientemente de lo que sea (extN, XFS, ZFS, lo que sea), o si tiene un recuento de tiempo / montaje basado, necesita un fsck. Quiero asegurarme de que un solo sistema de archivos dañado no tarde demasiado tiempo en fsck.
womble
1
sí, por supuesto, un fs necesita un fsck si se ha dañado. el uso de un fs como XFS no los eliminará, ni debería intentarlo o incluso querer hacerlo. No dije nada que pudiera interpretarse razonablemente de otra manera. Mi punto fue que forzar un fsck simplemente porque han sido X muchos días o Y muchas monturas desde que el último fsck es innecesario y molesto y posiblemente incluso "limita la carrera", especialmente si sus usuarios o su empresa están esperando que llegue el servidor espalda. se puede eliminar aquellos fscks innecesarios, y hacerlo es una buena cosa.
cas
Por bueno que sea (o no), no responde la pregunta planteada.
womble