Migrando las particiones a XFS

La parte más complicada (y, sobre todo, la más delicada) del proceso ya está hecha; a partir de ahora, lo único que me queda por hacer es ir haciendo backups de las particiones (las que aún no he hecho) e ir migrandolas de ext2 a XFS.

Migrando /dev/hda6 y /dev/hda9

Este es el caso más sencillo. Tenemos 2 particiones en las que no tenemos datos de interés (puesto que los hemos movido antes), por lo que no tenemos que hacer mayores cambios.

El comando para migrar una partición a XFS es sencillo [1] :

	supra:~# mkfs.xfs -f /dev/hda6
	meta-data=/dev/hda6              isize=256    agcount=8, agsize=121993 blks
	data     =                 s      bsize=4096   blocks=975940, imaxpct=25
	         =                       sunit=0      swidth=0 blks, unwritten=0
	naming   =version 2              bsize=4096  
        log      =internal log           bsize=4096   blocks=1200
	realtime =none                   extsz=65536  blocks=0, rtextents=0
	supra:~# 
      

Hacemos lo mismo para /dev/hda9, y ya tenemos 2 particiones (más la que teníamos al empezar) en XFS.

Ahora tengo que devolver los datos que corresponden a cada partición, para lo cual hago lo mismo que hice al principio para guardarlos:
	  [root@supra/]$ telinit 1
	  [root@supra/]$ mount -t xfs /dev/hda6 /mnt
	  [root@supra/]$ cd /boot
	  [root@supra/]$ tar lcf - .|(cd /mnt; tar xpvf -)
	
con lo que ya tengo los datos de /boot de vuelta en la partición original, y esta reducida.

Me aseguro de que efectivamente los datos están en /mnt, varío de nuevo /etc/fstab para que monte /dev/hda6 en /boot al arrancar, dejando una linea como esta:
	  /dev/hda6       /boot     xfs      rw
	
Renombro el directorio /boot a /boot-viejo, y creo de nuevo /boot. Monto el nuevo. Por si acaso, ejecuto /sbin/lilo de nuevo [2].

Hago otro tanto para /dev/hda9 y /var.

Migrando /usr y /home

Estos 2 sistemas de ficheros no suponen ninguna dificultad especial, puesto que no hay que redimensionarlos. Lo único que tengo que hacer es mover los datos a otra partición, mover el punto de montaje a esa, darle formato a la original y devolver a su sitio los datos. Además, cuento con una partición vacía, y que ya está formateada con XFS.

  1. Los datos que tenía en /home no me entraban en la partición libre. Tampoco fue mucho problema, puesto que en /usr sí entraban. Así que moví datos de /usr al espacio libre, luego los de /home a /usr, desmonté /home, lo formateé, lo volví a montar, repuse los datos, y luego hice lo mismo con /usr.

  2. Como juego con /usr, es posible que en algún momento me quede sin la gran mayoría de las aplicaciones (vi o GNU/Emacs). De hecho, me pasó :( Esto no es necesario, pero en el caso de que suceda con cambiar un par de nombres y hacer un montaje a mano todo debería volver a estar accesible..

Migrando /

Esto aún no lo he hecho, pero tampoco debería ser muy dificil: sólo tengo que mover todos los datos a la partción libre como ya he contado, cambiar /etc/fstab, reiniciar, formatear, recuperar los datos a la partición, volver a cambiar /etc/fstab y volver a reiniciar...

Supongo que en cuanto tenga un rato lo haré...

Notas

[1]

De nuevo, los datos no son exactos.

[2]

Yo tomé una medida extra de precaución: cree una entrada nueva en /etc/lilo.conf apuntando a una imagen en /boot-viejo antes de ejecutar /sbin/lilo. No hizo falta, y de hecho no estoy seguro de que hubiese funcionado, pero no está de más...