Copias de seguridad en volumenes de red con Time Machine

timemachine.jpgHoy vamos a dejar de lado los aspectos estratégicos y de negocio para centrarnos en un tópico más técnico: la configuración del entorno necesario para poder realizar copias de seguridad en volumenes de red (SAMBA, NFS, AFP, …) con Time Machine, una de las grandes funcionalidades del recién nacido Mac OS 10.5 (Leopard).

En el ejemplo utilizamos un equipo con Mac OS 10.5 y otro con Ubuntu Server 7.10 (sirve cualquier otra versión de Ubuntu).
Para llevar a cabo nuestro cometido, nos centraremos en los siguientes aspectos:

  • Creación del volumen de red en un servidor remoto.
  • Activaciónd el protocolo de red AFP.
  • Configuración de Mac OS X para utilizar el volumen de red con Time Machine

Creación del volumen de red en un servidor remoto [en el servidor]

En primer lugar, vamos a añadir el usuario con el que accederemos remotamente al directorio, especificando la ruta de ubicación del home.

 agora@agoraserver:~$ sudo adduser --home /media/barrakon/backup/hosts/ timemachine
 Adding user `timemachine' ...
 Adding new group `timemachine' (1006) ...
 Adding new user `timemachine' (1004) with group `timemachine' ...
 Enter new UNIX password: # Introducimos la contraseña 
 Retype new UNIX password: # Confirmamos la contraseña
 passwd: password updated successfully
 Changing the user information for timemachine
 Enter the new value, or press ENTER for the default
 Full Name []: Time Machine backup # Descripción del usuario 
 Room Number []: 
 Work Phone []: 
 Home Phone []: 
 Other []: 
 Is the information correct? [y/N] y # Validación de los datos

Activación del protocolo de red AFP [en el servidor]

[Opcional] Aunque es posible acceder al volumen de red desde Mac OS X utilizando SAMBA o NFS, es recomendable la compartición mediante AFP, por varios motivos: su administración es más simple, tiene tasas de transferencia superiores y es el protocolo de compartición nativo en Mac OS X.

Para poder compartir recursos mediante AFP utilizaremos Netatalk. Aunque su instalación es posible mediante gestores de paquetes (aptitude, …), con la instalación por defecto no podremos acceder desde Leopard, ya que éste incluye como novedad la encriptación de dos vias de la contraseña. Esto no nos supone ningún problema, compilaremos el paquete para que se adapte a nuestras necesidades.

Obtenemos el código fuente del paquete:

 agora@agoraserver:~apt-get source netatalk
 Leyendo lista de paquetes... Hecho
 Creando árbol de dependencias 
 Leyendo la información de estado... Hecho
 Necesito descargar 1965kB de archivos fuente.
 Des:1 http://us.archive.ubuntu.com gutsy/universe netatalk 2.0.3-6ubuntu1 (dsc) [918B]
 Des:2 http://us.archive.ubuntu.com gutsy/universe netatalk 2.0.3-6ubuntu1 (tar) [1921kB]
 Des:3 http://us.archive.ubuntu.com gutsy/universe netatalk 2.0.3-6ubuntu1 (diff) [43,2kB] 
 gpg: Signature made mié 15 ago 2007 18:51:54 CEST using DSA key ID 4B394F7E
 gpg: Can't check signature: public key not found
 dpkg-source: extracting netatalk in netatalk-2.0.3
 dpkg-source: unpacking netatalk_2.0.3.orig.tar.gz
 dpkg-source: applying ./netatalk_2.0.3-6ubuntu1.diff.gz

Instalamos los paquetes y dependencias necesarias para utilizar netatalk:

 agora@agoraserver:~$ sudo apt-get install devscripts fakeroot libssl-dev 
 agora@agoraserver:~$ sudo apt-get build-dep netatalk

Ahora vamos a generar el paquete:

 agora@agoraserver:~$ cd netatalk-2.0.3
 agora@agoraserver:~/netatalk-2.0.3$ DEB_BUILD_OPTIONS=ssl debuild -us -uc

Después de un buen rato comprobando librerias y compilando el paquete, obtenemos algo parecido a esto:

 atención, `debian/netatalk/DEBIAN/control' contiene un campo `Original-Maintainer' definido por el usuario
 dpkg-deb: no se tendrán en cuenta 1 avisos sobre los ficheros de control
 dpkg-deb: construyendo el paquete `netatalk' en `../netatalk_2.0.3-6ubuntu1_i386.deb'.
 dpkg-genchanges
 dpkg-genchanges: not including original source code in upload
 dpkg-buildpackage (debuild emulation): binary and diff upload (original source NOT included)

Genial. Ya tenemos el paquete listo para lanzar la instalación:

agora@agoraserver:~/netatalk-2.0.3$ sudo dpkg -i ../netatalk*.deb
[sudo] password for agora:
 (Leyendo la base de datos ... 
 173384 ficheros y directorios instalados actualmente.)
 Preparando para reemplazar netatalk 2.0.3-6ubuntu1 (usando .../netatalk_2.0.3-6ubuntu1_i386.deb) ...
 Stopping Netatalk Daemons: afpd cnid_metad papd timelord atalkd.
 Desempaquetando el reemplazo de netatalk ...
 Configurando netatalk (2.0.3-6ubuntu1) ...
 Instalando una nueva versión del fichero de configuración /etc/default/netatalk ...
 Instalando una nueva versión del fichero de configuración /etc/pam.d/netatalk ...
 Instalando una nueva versión del fichero de configuración /etc/init.d/netatalk ...
 Starting Netatalk services (this will take a while): atalkd afpd papd.

Para evitar que netatalk sea substituido por otras actualizaciones disponibles en los repositorios, con lo que volveriamos a tener una instalación sin autenticación SSL, bloqueamos el paquete:

agora@agoraserver:~/netatalk-2.0.3$ echo "netatalk hold" | sudo dpkg --set-selections

Configuración de Mac OS X para utilizar el volumen de red con Time Machine

Por defecto, Mac OS 10.5 no permite la utilización de volumenes de red para uso con Time Machine y únicamente son válidos discos duros externos, particiones locales, discos Airport o equipos con volumenes HFS+ (básicamente otros Mac OS X).

Para poder utilizar el volumen que hemos configurado, activaremos el soporte para unidades de red. Desde la Terminal del sistema escribimos:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

El siguiente paso es montar la unidad de red en el mac. Para ello, desde el Finder utilizamos la combinación de teclas Manzana+K o accedemos al menú superior Ir > Conectarse al servidor. A continuación introducimos la dirección IP o hostname del servidor:

conectarAFP.jpg

Introducimos el usuario y contraseña que hemos definido al crear la cuenta en el servidor:

loginAFP.jpg

Ya podemos acceder a la configuración de Time Machine y seleccionar el volumen de red (Preferencias > Cambiar disco):

selecVolumen.jpg

Cuando seleccionemos el volumen deberemos autenticarnos de nuevo.

¡Tachán! Ya tenemos nuestro sistema de copias de seguridad en funciomiento 🙂

Importante: Para que Time Machine funcione necesitamos tener el volumen de red montado en el sistema de forma permantene.

Notas

No se recomienda utilizar el proceso en entornos de producción o en aquellos casos en los que se utilicen datos sensibles. Mac OS 10.5 (Leopard) no soporta nativamente volumenes de red. Esto quiere decir que su uso no está recomendado y el resultado puede llevar a situaciones no deseadas, como la perdida de datos o disfunción del sistema.

Esta guía es una síntesis de otros recursos publicados en la red, que son:

El usuario es responable de la utiliación de este proceso.

La idea inicial de generar el tutorial es de sallymac (de macuarium.com).