3 votos

¿Cómo puedo reducir el inodo de la utilización en un sistema de archivos ext4?

Resumen de Mi Necesidad

Hemos puesto una gran cantidad de archivos en un sistema de ficheros para su análisis en un momento posterior. No podemos controlar la cantidad de archivos que vamos a tener, y este cuadro de necesidades de acceso a todos ellos.

Inmutable Limitaciones

  1. Yo no puedo cambiar el límite del inode. Es ext4, y es el valor predeterminado 4 billionish
  2. Siempre habrá una gran cantidad de archivos. La pregunta no es cómo reducir el número de archivos; cómo evitar la 4Bn límite del inode.
  3. Yo no puedo usar la red de almacenamiento. Este cuadro se vive en un centro de datos y debido a la gran cantidad de datos existentes, el rendimiento, el almacenamiento en red no es una opción.

Mis Ideas

  1. Yo podría montar un archivo como un dispositivo de loopback en el lugar donde estamos colocación de estos archivos.
    • Pro: fácil de implementar
    • Con: Otra capa de complejidad, pero una muy delgada.
  2. XFS. No hay límite del inode.
    • Pro: obviamente, Esto sólo elimina el problema.
    • En contra: No estoy seguro de cuánto flexibilidad voy a tener en la realización de este cambio a un sistema de producción.

Mi Pregunta

¿Cuáles son algunas otras stragies para eludir este duro limitación? Hay otras ventajas/inconvenientes de los enfoques que he mencionado?

1voto

johnshen64 Puntos 4277

Yo le sugiero que utilice un servidor de red con un sistema de archivos diseñado para manejar lo que usted necesita. La primera cosa que viene a la mente sería algo que apoya zfs (freenas y nexenta, aunque la versión gratuita de este último tiene algunas limitaciones) o si usted puede permitirse el lujo de que usted puede comprar algo como netapp.

Yo soy menos familiarizados con UFS disponible en freebsd, etc., pero escuché que iba a trabajar demasiado.

1voto

SKFox Puntos 757

Supongo que respondió a su propia pregunta, XFS opción parece ser la mejor (creo que incluso conseguir un aumento de rendimiento). La parte más compleja debe ser, cómo convertir a EXT3/4 en XFS?

Si el sistema de almacenamiento no es un físico único RAID VD (y no hacer el fs directamete en el BlockDevice - mkfs.ext4 /dev/sdb) entonces yo podría sugerir que en la partición de su fs árbol en bloques más pequeños y colóquelos en consecuencia, la configuración de su software para escribir en ambos lugares simultaneosly, y la división de las escrituras, si es posible. Ex.

  • /alotofsmallfiles/part1 -> /dev/ext4fs1
  • /alotofsmallfiles/part2 -> /dev/ext4fs2

Si la división de las escrituras no es posible a partir de la aplicación, puede crear un cron que mueve los archivos de la partición ext4 en la nueva XFS cada n minutos

1voto

Tina Puntos 21

Información que nos falta...

  • Distribución y versión de Linux.
  • Diseño de disco (disco de bahías, de la controladora RAID, etc.).

ext4 no me parece que hace lo que quiere. Así que no lo use...

XFS debe manejar su situación. Es en el kernel de Linux, pero la implementación depende fuertemente de su disco de flexibilidad. También hay algunos XFS ajustadores que le ayudarán con su carga... Fuera de la caja, no funcionará especialmente bien. Vas a querer que el derecho de ficheros de la creación y de opciones de montaje. El resto depende de tu distro, si usted está usando un controlador, y su carga de trabajo particular.

0voto

tylerl Puntos 8195

Opciones adicionales:

  • Crear sistemas de ficheros en la demanda como usted los necesita. Partición LVM en lugar de conectar los sistemas de archivos directamente en el MBR. Usted puede montar un FS en cualquier lugar en el árbol, así que usted puede agregar un nuevo sistema de ficheros cuando y donde usted lo necesita. También, LVM puede abarcar porciones de varios discos si usted quiere, lo que significa medio físico límites son menos significativas.

  • De bucle invertido FSes no son una terrible idea, pero realmente ¿por qué no usar LVM en su lugar? Todas las ventajas, ninguna de las desventajas.

  • Si usted apenas está archivado de archivos (he.e no de acceso aleatorio), a continuación, guardarlos directamente en una .tar.gz el archivo no es una mala idea. También he visto que los sistemas en los archivos "puesta en escena" temporalmente a un SSD, mientras que la estructura está siendo construido, a continuación, obtener volcar a un tar.gz en un giro de la unidad para el almacenamiento a largo plazo.

  • XFS no es una mala opción, aunque tiene sus propias dificultades como bien. No es tan indulgente inmundo de paradas, por ejemplo. No se que sería de esperar que la pérdida de datos, pero a veces requieren más manos de la intervención.

De todos estos, automáticamente empujando archivos .tar.gz los archivos es mi favorito. Se ahorra espacio y los inodos, y es simplemente ordenado. Un gran número de pequeños archivos de filsystems mucho menos eficientes que los espera.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: