- Ext3
-
ext3
ext3 Desarrollador Stephen Tweedie Nombre completo Third extended file system Introducido noviembre de 2001 (Linux 2.4.15) Identificador de la partición 0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)Estructuras Contenido del directorio Tabla, Árbol Localización de archivo bitmap (espacio libre), tabla (metadatos) Bloques malos Tabla Límites Máxima dimensión de archivo 16 GiB – 2 TiB Máximo número de archivos Variable Tamaño máximo del nombre de archivo 255 bytes Tamaño máximo del volumen 2 TiB – 32 TiB Caracteres permitidos en nombres de archivo todos los bytes excepto NUL y '/' Características Fechas registradas modification (mtime), attribute modification (ctime), access (atime) Rango de fecha 14 de diciembre de 1901 - 18 de enero de 2038 Bifurcaciones Sí Atributos No-atime, append-only, synchronous-write, no-dump, h-tree (directory), immutable, journal, secure-delete, top (directorio), allow-undelete Permisos de acceso a archivos Permisos Unix, ACLs y atributos de seguridad arbitrarios (Linux 2.6 y posteriores) Compresión transparente Noº Cifrado transparente No (establecido a nivel de bloque de dispositivos) Sistemas operativos soportados Linux, BSD, Windows (a través de IFS) ext3 (third extended filesystem o "tercer sistema de archivos extendido") es un sistema de archivos con registro por diario (journaling). Es el sistema de archivo más usado en distribuciones Linux, aunque en la actualidad está siendo remplazado por su sucesor, ext4.
La principal diferencia con ext2 es el registro por diario. Un sistema de archivos ext3 puede ser montado y usado como un sistema de archivos ext2. Otra diferencia importante es que ext3 utiliza un árbol binario balanceado (árbol AVL) e incorpora el asignador de bloques de disco Orlov.
Contenido
Ventajas
Aunque su velocidad y escalabilidad es menor que sus competidores, como JFS, ReiserFS o XFS, tiene la ventaja de permitir actualizar de ext2 a ext3 sin perder los datos almacenados ni tener que formatear el disco. Tiene un menor consumo de CPU y esta considerado mas seguro que otros sistemas de ficheros en Linux dada su relativa sencillez y su mayor tiempo de prueba.
El sistema de archivo ext3 agrega a ext2 lo siguiente:
- Registro por diario.
- Índices en árbol para directorios que ocupan múltiples bloques.
- Crecimiento en línea.
Límites de tamaño
Ext3 tiene dos límites de tamaño distintos. Uno para archivos y otro para el tamaño del sistema de archivos entero. El límite del tamaño del sistema de archivos es es 231−1 bloques
Tamaño del bloque Tamaño máximo de los archivos Tamaño máximo del sistema de ficheros 1 KiB 16 GiB <2 TiB 2 KiB 256 GiB <4 TiB 4 KiB 2 TiB <8 TiB 8 KiB[1] 2 TiB <16 TiB Niveles del Journaling
Hay tres niveles posibles de Journaling (registro por diario)
- Diario (riesgo bajo)
- Los metadatos y los ficheros de contenido son copiados al diario antes de ser llevados al sistema de archivos principal. Como el diario esta en el disco continuamente puede mejorar el rendimiento en ciertas ocasiones. En otras ocasiones el rendimiento es peor porque los datos deben ser escritos dos veces, una al diario y otra a la parte principal del sistema de archivos.
- Pedido (riesgo medio)
- Solo los metadatos son registrados en el diario, los contenidos no, pero está asegurado que el contenido del archivo es escrito en el disco antes de que el metadato asociado se marque como transcrito en el diario. Es el sistema por defecto en la mayoría de las distrubuciones de Linux. Si hay un bajón de tensión o kernel Panic cuando el fichero se está escribiendo o esta empezando, el diario indicará que el nuevo archivo o el intento no ha sido pasado, por lo que sera purgado por el proceso de limpiado
- Reescritura (riesgo alto)
- Solo los metadatos son registrados en el diario, el contenido de los archivos no. Los contenidos pueden estar escritos antes o despues de que el diario se actualice. Como resultado, los archivos modificados correctamente antes de una ruptura pueden volverse corruptos. Por ejemplo, un archivo pendiente de ser marcado en el diario como mayor de lo que actualmente es, convirtiendo en basura al final de la comprobación. Las versiones antiguas de los archivos pueden aparecer inesperadamente despues de una recuperación de diario. La carencia de sincronización entre los datos y el diario es rápidamente subsanada en muchos casos. JFS usa este nivel de journaling, pero se asegura de que cualquier basura es borrada al reiniciar
Desventajas
Funcionalidad
Como ext3 esta hecho para ser compatible con ext2, la mayoria de las estructuras del archivación son similares a las del ext2. Por ello, ext3 carece de muchas caracteristicas de los diseños mas recientes como las extensiones, la localización dinamica de los inodos, y la sublocalización de los bloques. Hay un limite de 31998 subdirectorios por cada directorio, que se derivan de su limite de 32 links por inodo. Ext3, como la mayoría de los sistemas de archivos actuales de Linux, no puede ser chequeado por el fsck mientras el sistema de archivos esta montado para la escritura. Si se intenta chequear un sistema de ficheros que esta montado puede detectar falsos errores donde los datos no han sido volcados al disco todavía, y corromper el sistema de archivos al intentar arreglar esos errores.
Desfragmentación
No hay herramienta de desfragmentación online para ext3 que funcione en nivel del sistema de archivos. Existe un desfragmentador offline para ext2,
e2defrag
, pero requiere que el sistema de archivos ext3 sea reconvertido a ext2 antes de iniciarse. Pero dependiendo de los bits encendidos en el sistema,e2defrag
puede destruir datos. No sabe como tratar la mayoría de las nuevas caracteristicas de ext3. Hay herramientas de usuario para desfragmentar como Shake y Defrag. Shake trabaja localizando para todo el archivo como una operación, lo que generalmente causa que el localizador encuentre espacio continuo en el disco. También intenta escribir archivos usados al mismo tiempo que otros. Defrag trabaja copiando cada archivo sobre si mismo. De todas formas solo funcionan si el sistema de archivos esta razonablemente vacio. No existe una verdadera herramienta de desfragmentacion para ext3. Como se viene diciendo, la guia de administracion de Linux dice: "Los modernos sistemas de archivos de Linux mantienen la fragmentacion al minimo manteniendo los bloques de un archivo juntos, aunque no puedan ser guardados en sectores consecutivos. Algunos sistemas de archivos, como ext3, localizan efectivamente los bloques libres mas cercanos a otros en el archivo. Por ello no es necesario preocuparse por la fragmentación en un sistema de Linux" Mientras ext3 es más resistente a la fragmentacián que Fat, nada evita que los sistemas ext3 se puedan fragmentar con el tiempo. Consecuentemente el sucesor de ext3, ext4, incluye una utilidad de desfragmentación y soporte para extensiones (regiones contiguas del fichero).Compresión
El soporte para la compresión esta disponible como un parche no oficial para ext3. Este parche es un porte directo de
e2compr
pero necesita un mayor desarrollo ya que todavía no implementa el journaling. El actual parche es llamado e3compr y puede ser bajado aqui: [1]No hay comprobacion en el diario
Ext3 no hace la suma de verificación cuando esta escribiendo en el diario. Si barrier = 0 no esta habilitado como una opcion de montaje, y si el hardware esta escribiendo fuera de la orden, se corre el riesgo de una corrupcion muy amplia del sistema de archivos en caso de que haya un fallo repentino del hardware.
Ext3 en Windows
Aunque Windows no tiene un soporte nativo para ext2 ni ext3, pueden instalarse drivers para poder acceder a ese tipo de sistemas de archivos. Se puede instalar en todos los sistemas de windows con arquitectura x86.
Este driver hace que se puedan montar las particiones sin tener que usar programas a parte. Nos muestra el sistema de archivos como si fuese una particion mas dentro de windows.
Para bajarse el driver: [2].
Otra opcion es usar un programa para poder ver y copiar los archivos que hay en una partición con ext3 y ext2 pero no monta la partición. El programa es Explore2fs y nos permite:
- Lectura ext2
- Lectura ext3
- Arrastrar y soltar
- Soporte de disquetes de 1.44Mb
- LS120 Floppy Disk Support*
- Soporte de discos ZIP & Jazz
- Soporte de discos USB & CF
- Soporte de CDROM
- Exporta archivo como binario
- Exporta archivo como texto
- Exportar directorio
- Ver y ejecutar archivos
- Soporte para discos duros grandes
- Soporte para archivos grandes
- LVM2, deteccion de ReiserFS
- Soporte Unicode UTF8
Esta disponible para las versiones de windows:
* Windows 95 * Windows 98 * Windows 98SE * Windows ME * Windows NT 4.0 * Windows 2000 * Windows XP * Windows XP SP2 * Windows Server 2003
Opciones de montaje
Por defecto
Opción Características data=ordered Todo los datos son forzados fuera del sistema de archivos princial antes de enlazarlos con los metadatos del journal commit=nrsec Se le puede decir a ext3 que sincronize todos los datos y metadatos cada "nrsec" segundos. El valor por defecto son 5 segundos. Esto quiere decir que si hay una caida de energia, se perderan, como mucho 5 segundos de trabajo (el sistema de ficheros no se verá dañado gracias al journaling). Este valor por defecto (o cualquiera inferior) repercutirá en el rendimiento, pero es adecuado para proteger los datos. Mientras mayor sea el número mejor será el rendimiento del sistema. Ponerlo a 0 tendrá el mismo efecto que el valor por defecto. orlov Esta opción activa el nuevo sistema Orlov de asignación de bloques de disco duro. bsddf Hace que el comando "df" funcione como en sistemas BSD. errors=remount-ro Vuelve a montar el sistema de ficheros en modo de sólo lectura tras un error. data_err=ignore Tan sólo muestra un mensaje de error si ha ocurrido un error en el buffer de un fichero en modo "ordenado" Les da a los objetos el mismo ID de grupo que a su creador. bh/nobh Ext3 relaciona los buffer heads a paginas de datos y a - a) Información del mapeo de la caché.
- b) Linka paginas en transacciones para asegurar el orden.
- La opción "bh" fuerza al sistema a usar buffer heads.
- La opción "nobh" trata de evitar asociar buffer heads (disponible ólo para el modo "writeback").
No por defecto
Opción - journal=update Actualiza el journal del sistema de ficheros de ext3 al formato actual. journal=inum Cuando ya existe un journal, esta opción es ignorada. En cualquier otro caso esta opción especifica el numero de inodos que representarán el archivo journal del sistema de ficheros ext3 journal_dev=devnum Cuando cambian los valores minimos y/o máximos del journal de dispositivos externos, esta opción le permite al usuario especificar la nueva localización del journal. El dispositivo journal es identificado por sus nuevos numeros minimos y máximos codificados en devnum. noload No carga el journal al montar la unidad. data=journal Todos los datos son introducidos en el journal antes de empezar a escribir en el sistema de ficheros principal. data=writeback No se guarda el orden de los datos, los datos pueden ser escritos en el sistema de ficheros principal despues de que sus metadatos hayan sido introducidos en el journal. barrier=1 Esta opción habilita/deshabilita las barreras. Barrier=0 lo deshabilita y Barrier=1 lo habilita. Si Barrier=0 y el hardware tiene problemas escribiendo en la caché se corre el riesto de que el sistema de ficheros se corrompa. oldalloc Esta opción deshabilita el sistema Orlovde asignación de bloques de disco duro. user_xattr Habilita los Atributos Extendidos de Usuario. También se tendrá que tener habilitada la opción de tener atributos extendidos en el kernel (CONFIG_EXT3_FS_XATTR). nouser_xattr. Deshabilita los Atributos Extendidos de Usuario. acl Habilita el soporte a la Lista de Acceso de Control POSIX. También se tendra que tener habilitado el soporte ACL en el kernel (CONFIG_EXT3_FS_POSIX_ACL) noacl Deshabilita el soporte a la Lista de Acceso de Control POSIX. reservation noreservation minixdf Hace que "df" actue como en sistemas Minix. check=none/nonecheck No hace comprobaciones extra de los bitmaps al montar la unidad. debug Información extra sobre la depuración es enviada al registro del sistema (syslog). errors=continue Continua trabajando si se ha producido un error en el sistema de ficheros. errors=panic Para el ordenador si ocurre un error. data_err=abort Aborta el journal si ocurre un error en el buffer de un fichero en modo "ordenado". grpid/bsdgroups Le da a los objetos la misma ID de grupo que a su creador. resgid=n El ID de grupo que deberán usar los bloques reservados. resuid=n El ID del usuario que deberán usar los bloques reservados. sb=n Usa superbloques alternativos en la posición "n". quota noquota grquota usrquota Ext4
Existe una versión mas reciente de este sistema de archivos llamada Ext4 que implementa un gran cantidad de nuevas características
Para hacerse una mejor idea de las diferencias con el sistema de archivos ext4 mirar la siguiente tabla
Véase también
Enlaces externos
- Driver gratuito para Windows para leer y escribir en ext2 y ext3 (en inglés). Es software libre.
- Driver freeware para Windows para leer y escribir en ext2 y ext3 (en inglés)
- Cómo montar ext3 (y ntfs) en BSD
- Comparativa de rendimiento entre ext3 y gfs
- Solo en Linux(Ext3)
Categorías: Sistemas de archivos | Sistemas de archivos de Linux | Acrónimos de informática
Wikimedia foundation. 2010.