23 jun. 2008

Usar el nuevo sistema de ficheros ext4 en Ubuntu

Ext4 es la cuarta revisión del sistema de ficheros básico de linux. Fue introducido por Andrew Morton en la rama del kernel 2.6 a finales del 2006, es posible que aparezca como opción en Ubuntu 8.10, pero por el momento tendremos que compilar un kernel manualmente para poder usarlo, sus puntos fuertes son:
  • Journaling (que ya estaba presente en ext3)
  • Extent: reduce aun más la fragmentación de la información,
  • Tamaño máximo de archivo 1 exabyte
  • Tamaño máximo del sistema de ficheros 1 exabyte
  • Compatibilidad con ext3
  • Mejora en el rendimiento respecto a ext3
Sus principales desventajas (por el momento) son:
  • Grub no puede arrancar una partición ext4
  • El kernel de Ubuntu no lleva soporte por defecto
  • Extent es incompatible con ext3
  • Sigue en estado experimental
Empezaremos por compilar el kernel 2.6.25 activando las opciones referentes a ext4 (si no sabes como hacerlo consulta el artículo Compilar el kernel (2.6.25)


Dentro del menú de configuración del kernel vamos al apartado File systems y ahi nos aseguramos de activar las opciones referentes al formato ext4 ya sea como módulo o integrado en el kernel. Acabamos de compilar el kernel, modificamos el grub y arrancamos con él.

Debemos actualizar las herramientas de gestión de sistemas de ficheros para que soporten ext4:
$ wget -c
ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs-interim/e2fsprogs-1.39-tyt3/e2fsprogs-1.39-tyt3.tar.bz2
$ tar xvfj e2fsprogs-1.39-tyt3.tar.bz2 && cd e2fsprogs-1.39-tyt3
$ sudo aptitude install texinfo
$ ./configure --prefix=/usr/local/ext4 && make && sudo make install


Nota: el prefijo /usr/local/ext4/ es para no sobreescribir las herramientas actualmente instaladas en el sistema

Es recomendable crear una particion nueva para las pruebas, en mi caso usaré /dev/sda5 para no poner en peligro la integridad de mis datos.

Crear una partición ext4:
$ sudo mkfs.ext3 -E test_fs /dev/sda5

Convertir una particion ext3 a ext4:
$ sudo debugfs -w /dev/sda5
debugfs 1.40.5 (27-Jan-2008)
debugfs: set_super_value s_flags 4
debugfs: quit


Revisar la partición:
$ sudo /usr/local/ext4/sbin/e2fsck -vf /dev/sda5

Montar la partición:
$ sudo mount -t ext4dev -o extents /dev/sda5 /media/sda5

Comprobamos que todo ha ido bien y ya estamos listos para usar el nuevo sistema de ficheros:
$ mount | grep ext4
/dev/sda5 on /media type ext4dev (rw,extents)


Más información en:
http://en.wikipedia.org/wiki/Ext4
http://en.wikipedia.org/wiki/Extent_(file_systems)
http://ubuntuforums.org/showthread.php?t=621814

1 comentario :

andalinux dijo...

Gracias por el post.

Por si resulta de utilidad a alguien, e2fsprogs ha cambiado de ubicación.

Actualmente se encuentra en el siguiente enlace

Un saludo