iTank ideas

Cómo trasladar el directorio /home a otra partición en un nuevo disco duro

home

Cómo trasladar el directorio /home a otra partición en un nuevo disco duro
(migrar /home o clonar /home)

1. Seguid las instrucciones del post anterior sobre ‘cómo añadir un disco duro a un servidor Ubuntu server por línea de comandos’

2. Copiar los datos entre particiones
Supongamos que tenemos montado /dev/sda5 como /home y /dev/sdb1 como /media/home2

Cambiar a root
~$ sudo su
tecleais vuestro password y se obtiene una sesión con prompt de root
~#
Desocupamos /home
~# cd /root

Activar el modo monousuario en el sistema para evitar ‘interferencias’
~# init 1
Copiamos en backgroud para poder monitorizar el progreso de la copia
~# cp -ax /home/* /media/home2 &
Es posible que quieras monitorizar la evolución de la copia
~# watch -n 15 df -h
Cuando veas que /home y /media/home2 están equilibrados en ocupación pulsas Ctrl +C y te aseguras de que el proceso haya finalizado
~# bg
ya tenemos una copia de /home en /media/home2

3. Dar el ‘cambiazo’ a /home y hacer persistente el cambio
Desmontar el antiguo home para montar el nuevo
~# umount /home
si obtenemos un mensaje del tipo ‘device is busy’ es posible localizar los procesos que están en /home
~# fuser -m /dev/sda5
de la lista de identificadores tendremos que averiguar el nombre de cada proceso
al estar en modo monousuario la lista será pequeña
~# ps -A
o localizarlo por el pid obtenido con fuser
~# ps -A | grep 1111
los procesos se pueden matar con kill o terminándolos por las buenas

seguimos
~# umount /home
~# umount /dev/home2
~# mount /dev/sdb2 /home

ahora ya hemos cambiado la ubicación de /home así que levantamos el sistema
~# init 5

para mi esto no fue suficiente, ya que la red se quedó ko así que tuve que levantar a mano la red y varios servicios
~# /etc/init.d/networking start
~# /etc/init.d/apache2 start
~# /etc/init.d/ssh start
~# /etc/init.d/proftpd start

en mi caso el sistema ya estaba perfectamente operativo, así que sólo queda hacer el cambio persistente

tomamos nota del dispositivo de montaje, en nuestro caso /dev/sdb1 y averiguamos su UUID
~# blkid
luego editamos el fichero fstab con vi o nano o cualquier editor de texto plano
~# nano /etc/fstab
podemos encontrarnos dos formatos de línea, si se apunta a la partición
cambiamos /dev/sda5 /home ext3 defaults 0 2
por /dev/sdb1 /home ext3 defaults 0 2

o si se apunta al UUID
cambiamos UUID=nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn /home ext3 defaults 0 2
por UUID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy /home ext3 defaults 0 2

Para probar en caliente esta nueva configuración persistente
~# udevadm trigger
~# mount -a

En el próximo reinicio del sistema tendremos nuestra nueva partición /home operativa
No hay que olvidar que queda una copia de /home en /deb/sda5, lo que hacer con ella lo dejo a vuestro criterio

Me fue de gran ayuda
http://el64.blogspot.com/2007/04/como-cambiar-home-una-particin-nueva.html