Migrando sistemas de archivos EXT2 a EXT3

  • Enrique Barbeito García , enrique@barbeito.org
  • 24 marzo 2003

Cuando decidí migrar mi servidor (allá por navidades de 2002) de Slackware a Debian, no me paré mucho a pensar que núcleo, de entre los que se podían elegir, utilizar. Simplemente inicié la instalación del sistema con el núcleo por defecto que había y monté el árbol de directorios del sistema sobre 5 particiones (/ , /home , /var , /tmp , /usr) más otra swap. Es decir, que una vez con el sistema instalado, me vi con cinco particiones montadas sobre sistemas de archivos EXT2. Así que decidí hacer una sencilla migración a EXT3.

La razón del por qué no me paré un poco a meditar qué núcleo elegir de entre los disponibles en el CD de Debian es porque ya tenía pensado recompilarlo, pues quería tenerlo optimizado acorde con la función de la máquina en cuestión (servidor dedicado).

Este texto es fruto de mi experiencia. Detalla como llevar a cabo, en unos pocos pasos, la conversión de una/varias particiones EXT2 a EXT3.

Para hacer el cambio, nos valdremos de tune2fs, una herramienta de administración que forma parte del conjunto de aplicaciones llamado e2fsprogs. Si no tienes dicha herramienta, tendrás que instalar el paquete de e2fsprogs que puedes encontrar en http://e2fsprogs.sourceforge.net/.

También es necesario estar trabajando sobre un núcleo compilado con soporte para sistemas de archivos EXT3. Cualquier versión del kernel de la rama 2.4.x te servirá, así que hazte con la última versión estable del mismo y prepárate a compilar tu nuevo núcleo con soporte EXT3 habilitado. Para ello has de configurarlo (make config|menuconfig|xconfig) de este modo:

# make menuconfig

	File systems  --->
		<*> Ext3 journalling file system support
		[ ]   JBD (ext3) debugging support

La opción para debugging es opcional (márcala si así lo deseas).

Si recompilaste el núcleo alguna vez, puedes comprobar si tienes soportado EXT3 de este modo:

# grep CONFIG_EXT3_FS /usr/src/linux/.config

Te debe responder: CONFIG_EXT3_FS=y

Una vez configurado y ya tengamos nuestro nuevo núcleo compilado y a punto, reiniciamos la máquina e iniciamos el sistema bajo nuestro reciente núcleo.

Ahora debemos emplear tune2fs para convertir nuestra/s particion/es a EXT3. Para ello utilizaremos el parámetro -j de esta utilidad. Mirando las páginas man de tune2fs(8) encontramos que este parametro sirve para agregar la característica de bitácora (journaling) del sistema de archivos EXT3. Si, por ejemplo, tenemos el directorio /tmp montado en la partición /dev/hda6 con el sistema de archivos EXT2, para pasarla a EXT3 inicialmente deberíamos de desmontar la partición (si es que la dubiéramos montada):

# umount /tmp

Una vez desmontada, nos queda poner:

# tune2fs -j /dev/hda6

Obtendríamos un mensaje tal que así:

# tune2fs -j /dev/hda6
tune2fs 1.32 (09-Nov-2002)
Creating journal inode: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

¿Fácil no? Ya tendríamos nuestra partición /dev/hda6 en EXT3. Ahora nos faltaría editar el archivo /etc/fstab y hacer un simple cambio en la línea referente a nuestra partición para /tmp:

/dev/hda6       /tmp    ext2    defaults                    0       2
			   ^_ cambiar por:

/dev/hda6       /tmp    ext3    defaults                    0       2

Ahora nos queda montar nuevamente la partición /dev/hda6, con un simple:

# mount /dev/hda6

Y si lo preferimos, se puede reiniciar el sistema.

Podemos comprobar que la partición ha sido montada con el sistema de archivos EXT3 mediante df:

# df -T |grep tmp
/dev/hda6     ext3     1098912     32808   1010280   4% /tmp

Hay se puede ver, en el segundo campo, que tenemos debidamente montado /tmp Si tenemos como sistema de logging syslog, podemos echar un vistazo al archivo log correspondiente (/var/log/syslog)

==> /var/log/syslog <==
 kjournald starting.  Commit interval 5 seconds
 EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
 EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,6), internal journal
 EXT3-fs: mounted filesystem with ordered data mode.

Todo esto es tomando como ejemplo una partición hipotética (/dev/hda6) montada en un punto de montaje también hipotético (/tmp) aplíquese los pasos explicados a la/s particion/es que se deseen.

Con esto ya estaría todo listo. ¿El por qué de EXT3 en vez de EXT2? pues, básicamente, por el journaling que incorpora. EXT3 no es un sistema de archivos con jornaling nativo, sino que EXT3 es la evolución de EXT2 y el journaling que lleva implementado es una mejora sobre EXT2.

 
textos/ext2_a_ext3.txt · Última modificación: 2006/12/08 22:39 (editor externo)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki