2012/12/10

Migracion usuarios

Introduccion:

Supongamos que tenemos un servidor FreeBSD que comparte contenidos mediante Samba y necesitamos hacer una instalacion nueva, el /home esta en un ZFS RAID-Z lo que nos facilitara la migracion, pero no deseamos crear nuevamente a cada uno de los usuarios en el nuevo FreeBSD (tanto los de FreeBSD como los de Samba).
Este tutorial tambien es valido en caso de un cambio a un nuevo servidor (osea, a otro hadware) en este caso existen comandos adicionales requeridos y se ve claramente con el comando en color rojo, si no esta migrando a un nuevo servidor se deben omitir y continuar con el comando siguiente.

Requerimientos:

* FreeBSD instalado
* Leer este manual

El proceso:

En el FreeBSD que vamos a quitar

Hacer un backups de los archivos

¡Los comandos asumen que se tiene un ZFS RAID-Z para el directorio /home, pero puede guardar los datos en otro lugar!

# mkdir /storage/migracion
# tar -cvzf /storage/migracion/FreeBSD.tar.gz /etc/passwd /etc/master.passwd /etc/group
# tar -cvzf /storage/migracion/Samba.tar.gz /usr/local/etc/samba/passdb.tdb /usr/local/etc/samba/secrets.tdb /usr/local/etc/smb.conf
# tar -cvzf /storage/migracion/mail.tar.gz /var/mail
# tar -cvzf /storage/migracion/home.tar.gz /storage/home
# cp -rp /usr/ports/distfiles /storage/migracion <- este es opcional

En el FreeBSD recien instalado actualizado y con el arbol de ports al dia

Instalamos el port de Samba y hacemos que se active al iniciar el sistema

# cd /usr/ports/net/samba36 && make config-recursive && make install clean
# echo '# Samba' >> /etc/rc.conf
# echo 'samba_enable="YES"' >> /etc/rc.conf

Ahora nos falta darle soporte a FreeBSD para que pueda usar el arreglo de discos en ZFS RAID-Z, lea la parte del manual que inicia con "Ahora supongamos que luego de mucho tiempo queremos..." y luego continue en transferir los datos y restaurar el backups.

Transferir los datos por SSH mediante scp al nuevo servidor

# mkdir /storage/migracion
# scp usuario@IPSERVER:/storage/migracion/FreeBSD.tar.gz /storage/migracion
# scp usuario@IPSERVER:/storage/migracion/Samba.tar.gz /storage/migracion
# scp usuario@IPSERVER:/storage/migracion/mail.tar.gz /storage/migracion
# scp usuario@IPSERVER:/storage/migracion/home.tar.gz /storage/migracion
# scp -rp usuario@IPSERVER:/storage/migracion/distfiles /storage/migracion <- este es opcional

"usuario" es un usuario existente en el servidor FreeBSD que vamos a quitar
"IPSERVER" es la direccion IP del servidor FreeBSD que vamos a quitar

Restaurar el backups

# cd /
# tar -xvzf /storage/migracion/FreeBSD.tar.gz
# tar -xvzf /storage/migracion/Samba.tar.gz
# tar -xvzf /storage/migracion/mail.tar.gz
# pwd_mkdb -p /etc/master.passwd
# tar -xvzf /storage/migracion/home.tar.gz
# cp -rp /storage/migracion/distfiles /usr/ports  <- este es opcional
# rm -rf /storage/migracion
# reboot

Listo, al entrar nuevamente debemos tener los mismos usuarios y nuestra informacion de la misma forma que la teniamos en el viejo.