Ext3 (Español)

From ArchWiki

El sistema de archivos Third Extended ('ext3') tiene muchos puntos fuertes. Su código en el kernel y en el espacio de usuario ha sido probado, corregido y mejorado más que casi cualquier otro sistema de archivos compatible con Linux. Es simple, robusto y extensible. Este artículo explica algunos consejos que pueden mejorar tanto el rendimiento como la confiabilidad del sistema de archivos.

Usando tune2fs y e2fsck

Antes de comenzar, debemos asegurarnos de que se sienta cómodo usando la utilidad tune2fs para modificar las opciones del sistema de archivos de una partición ext2 o ext3 (o convert ext2 to ext3). Por favor lea tune2fs(8).

Generalmente es una buena idea ejecutar una verificación del sistema de archivos usando la utilidad e2fsck después de haber completado las modificaciones que desea realizar en su sistema de archivos. Esto verificará que su sistema de archivos esté limpio y lo arreglará si es necesario. También debería leer la página del manual de la utilidad e2fsck si aún no lo ha hecho.

Advertencia: ¡Ejecutar solo sin montar! ¡Asegúrese de que todos los sistemas de archivos estén limpiamente desmontados antes de modificarlos con las utilidades tune2fs o e2fsck! ¡Alterar o ajustar un sistema de archivos mientras está montado puede causar una corrupción grave! Considere arrancar desde un LiveCD como Parted Magic o el de Arch Linux.

Usando la indexación de directorios

Esta característica mejora el acceso a archivos en directorios grandes o directorios que contienen muchos archivos mediante el uso de árboles binarios con hash para almacenar la información del directorio. Es perfectamente seguro de usar y proporciona una mejora bastante sustancial en la mayoría de los casos; por lo que es buena idea habilitarlo:

# tune2fs -O dir_index /dev/sdXY

Esto sólo tendrá efecto con los directorios creados en ese sistema de archivos después de ejecutar tune2fs. Para aplicar esto a los directorios existentes actualmente, debemos ejecutar la utilidad e2fsck para optimizar y reindexar los directorios en el sistema de archivos:

# e2fsck -D -f /dev/sdXY
Nota:
  • Esto debería funcionar con los sistemas de archivos ext2, ext3 y ext4. Dependiendo del tamaño de su sistema de archivos, esto podría llevar mucho tiempo.
  • La indexación de directorios se activa de forma predeterminada en Arch Linux a través de /etc/mke2fs.conf.

Habilitar registro completo

De forma predeterminada, las particiones ext3 se montan con el modo de datos 'ordered'. En este modo, todos los datos se escriben en el sistema de archivos principal y sus metadatos se envían al diario, cuyos bloques se agrupan lógicamente en transacciones para disminuir la E/S del disco. Esto tiende a ser un buen valor predeterminado para la mayoría de las personas. Sin embargo, he encontrado un método que aumenta tanto la confiabilidad como el rendimiento (en algunas situaciones): registrar todo, incluidos los datos del archivo en sí (conocido como modo de datos de 'journal'). Normalmente, uno pensaría que registrar todos los datos disminuiría el rendimiento, porque los datos se escriben en el disco dos veces: una vez en el diario y luego se envían al sistema de archivos principal, pero este no parece ser el caso. Lo habilité en mis nueve particiones y solo vi una pérdida menor de rendimiento al eliminar archivos grandes. De hecho, hacer esto puede mejorar el rendimiento en un sistema de archivos donde se debe leer y escribir mucho simultáneamente. Consulte este artículo escrito por Daniel Robbins en el sitio web de IBM para obtener más información.

Hay dos formas diferentes de activar el modo de datos del diario. La primera es agregar data=journal como opción de montaje en /etc/fstab. Si lo hace de esta manera y desea que su sistema de archivos raíz también lo use, también debe pasar rootflags=data=journal como parámetro del kernel en la configuración de su gestor de arranque. En el segundo método, utilizará tune2fs para modificar las opciones de montaje predeterminadas en el superbloque del sistema de archivos:

# tune2fs -O has_journal -o journal_data /dev/sdXY

Tenga en cuenta que es posible que el segundo método no funcione para núcleos más antiguos. Especialmente Linux 2.4.20 y versiones anteriores probablemente ignorarán las opciones de montaje predeterminadas en el superbloque. Si se siente aventurero, es posible que también desee modificar el tamaño del diario. (Dejé el tamaño del diario predeterminado). Un diario más grande puede brindarle un mejor rendimiento (a costa de más espacio en disco y tiempos de recuperación más prolongados). Asegúrese de leer la sección correspondiente del manual de tune2fs antes de hacerlo:

# tune2fs -J size=$SIZE /dev/sdXY

Deshabilitar comprobaciones prolongadas de tiempo de arranque

Advertencia: Haga esto únicamente en un sistema de archivos de registro en diario como ext3/4. Esto puede funcionar o no en otros sistemas de archivos de registro en diario como ReiserFS o XFS, pero no se ha probado. Hacerlo puede dañar o corromper otros sistemas de archivos. Haz esto bajo su propio riesgo.

Parece que nuestros sistemas de archivos ext3 todavía se revisan cada 30 montajes aproximadamente. Este es un buen valor predeterminado para muchos porque ayuda a prevenir la corrupción del sistema de archivos cuando hay problemas de hardware, como cableado IDE/SATA/SCSI defectuoso, fallas en el suministro de energía, etc. Una de las fuerzas impulsoras para la creación de sistemas de archivos con registro en diario fue que el sistema de archivos podría fácilmente ser devuelto a un estado consistente recuperando y reproduciendo las transacciones registradas necesarias. Por lo tanto, podemos desactivar de forma segura estas comprobaciones de recuento de montaje y dependientes del tiempo si estamos seguros de que el sistema de archivos se comprobará rápidamente para recuperar el diario si es necesario para restaurar la coherencia del sistema de archivos y de los datos. Antes de hacer esto, asegúrese de que la entrada de su sistema de archivos en /etc/fstab tenga un número entero positivo en su sexto campo (paso) para que se verifique automáticamente en el momento del arranque. Puedes hacerlo usando el siguiente comando:

# tune2fs -c 0 -i 0 /dev/sdXY

Si solo desea limitar las comprobaciones para que se realicen con menos frecuencia sin deshabilitarlas por completo (para su tranquilidad). Un excelente método es cambiar de una verificación de número de conteos a una verificación de período de tiempo. Ver tune2fs(8). Aquí una vez al mes:

# tune2fs -c 0 -i 1m /dev/sdXY

Reclamar espacio reservado en el sistema de archivos

La partición Ext3 contiene un espacio utilizado del 5% por motivos especiales de forma predeterminada. La razón principal es ayudar con una menor fragmentación en el sistema de archivos. La otra razón para tal espacio es para que el root pueda iniciar sesión incluso cuando el sistema de archivos se utilice al 100%. Sin esta opción, es posible que el usuario root no pueda iniciar sesión para 'limpiar' porque el sistema podría volverse inestable, al intentar escribir registros en un sistema 100% completo, por ejemplo.

El problema con esto es que los discos duros se están volviendo tan grandes que el 5% puede representar una cantidad bastante grande de espacio desperdiciado. (p.ej. 100 GB = 5 GB reservados). Ahora bien, si separa sus sistemas de archivos en /home, por ejemplo, podría ser una buena idea ajustarlos y recuperar ese espacio desperdiciado en particiones de archivo a largo plazo (consulte este correo electrónico para obtener más información). Es una apuesta segura dejar tu sistema de archivos / al 5% reservado por si acaso. Deje espacio reservado para los sistemas de archivos que contengan /var y /tmp también o terminará con problemas.

Ahora cambie su espacio reservado al 1% del disco, lo cual es justo para sistemas de archivos no raíz.

# tune2fs -m 1 /dev/sdXY

Asignar una etiqueta

Una vez que haya creado y formateado una partición, puede asignarle una etiqueta usando el comando e2label. Esto le permite agregar la partición a /etc/fstab usando una etiqueta en lugar de usar una ruta de dispositivo (útil para una unidad USB). Para agregar una etiqueta a una partición, escriba el siguiente comando como root:

# e2label /dev/sdXY new-label

Si el argumento opcional new-label no está presente, e2label simplemente mostrará la etiqueta del sistema de archivos actual. Si el argumento opcional new-label está presente, entonces e2label establecerá la etiqueta del sistema de archivos en new-label. Las etiquetas de los sistemas de archivos ext2 y ext3 pueden tener como máximo 16 caracteres; Si la nueva etiqueta tiene más de 16 caracteres, e2label la truncará e imprimirá un mensaje de advertencia.