Translate

jueves, 16 de junio de 2011

Utilizar un disco NTFS local en Time Machine


Arranco con esta solución que me armé el otro día. En realidad es un agregado a una solución preexistente.

DISCLAIMER: Esta solución no es oficial ni soportada por Apple. No he tenido problema alguno con mis respaldos realizados de esta forma, pero no me hago responsable si pierdes todos tus archivos por seguir esta guía,  es tu entera responsabilidad. Listo, seguimos:

Si sos un usuario de Mac OS X, seguro conocés Time Machine, a mi juicio el mejor software de backup personal que existe. Sin embargo tiene una limitación, y es que no soporta guardar los backups en discos externos formateados con NTFS. Tal vez esta solución aplica para discos FAT32, pero yo no me arriesgaría a guardar un backup allí por la limitación de archivos de 2 Gigas que tiene dicho sistema de archivos.

Si la pregunta es, por qué un usuario mac tendría un disco externo NTFS?, la respuesta es muy sencilla, y es que la mayoría del mundo sufre con Windows, por tanto lo mejor y más compatible es tener un sistema de archivos que puedas utilizar estés donde estés.

No es objetivo de esta entrada explicar cómo grabar en un disco NTFS desde Mac OS X. Por las dudas dejo la referencia, y comento que simplemente instalando el soft. NTFS-3G que se obtiene gratis en el link que sigue, se incorpora la posibilidad de escribir en un volúmen formateado con NTFS:
http://www.tuxera.com/community/ntfs-3g-download/

Ahora a lo nuestro, y como decía esto es un agregado a una solución que ya estaba bien documentada. Ya existen tutoriales que explican cómo utilizar un recurso compartido Windows (carpeta compartida) para grabar allí nuestros respaldos Time Machine. La idea que se me ocurrió viendo esto, es por qué no compartir un disco desde propio Mac con Samba (el servicio de compartir archivos Windows que viene integrado a Mac OS X). Sin embargo esto no fue tan trivial como suena, por lo tanto detallo los pasos a seguir:

1) Conectar el disco NTFS, en el cual debe poderse escribir.
2) Crear una carpeta/directorio en dicho disco para guardar nuestros backups allí.
3) Compartir dicho directorio

Para ello vamos a Manzana/"Preferencias del sistema" en nuestro mac, y allí seleccionamos la opción "Compartir", que vemos en la siguiente imagen:



Dentro de Compartir, tildar la opción "Compartir archivos", y dentro de esta seleccionar el "+" para añadir un nuevo recurso compartido. El recurso que añadiremos no es otro que la carpeta/directorio que creamos anteriormente en nuestro disco NTFS. La pantalla en la que se realiza todo esto es la que se ve a continuación:


Definir que tu usuario pueda Leer y Escribir en este recurso, sino de poco servirá. Una vez definimos el directorio compartido, lo seleccionamos y presionamos el botón "Opciones...". Allí se debe seleccionar la opción "Compartir archivos y carpetas mediante SMB (Windows). Se deberá definir un usuario de acceso con su respectivo password, recomiendo utilizar el mismo password de la cuenta de usuario del mac para no olvidarlo.


En este punto, si conocés algo de redes tal vez intentarás una estrategia lógica, que sería conectarse desde el Finder al recurso compartido utilizando como servidor el nombre "localhost" ó utilizando la IP 127.0.0.1. Esto es lo primero que pensé, pero Mac OS X me depararaba una sorpresa, y es que si uno intenta conectarse a localhost ó 127.0.0.1 el querido Finder nos indica gentilmente que esto no se permite, y nos recomienda acceder a los archivos directamente desde el disco correspondiente.

Acá es donde viene la trampa, lo que hice fue definir un "alias" a la IP 127.0.0.1 para engañar al querido Finder. El alias será la IP 127.0.0.2, que curiosamente el Finder no detecta como local y nos permite utilizar para conectarnos. Para definir este alias se debe ejecutar en la Terminal de Mac OS X el siguiente comando:

sudo ifconfig lo0 alias 127.0.0.2 up

Sin embargo el alias definido de esta forma vive hasta que reiniciamos el mac, por lo tanto los pasos que siguen son el método que seguí para dejarlo fijo automáticamente definido al iniciar (hay otros métodos, explico el que utilicé yo).

4) Crear un script para definir el alias al inicio.

Primero crearemos un simple script que contiene el comando que mostramos anteriormente. Para ello, utilizando el editor de texto que prefieran definimos el siguiente contenido dentro del script:

#!/bin/bash
sudo ifconfig lo0 alias 127.0.0.2 up


Guardamos este script en alguna parte que nos convenga. En mi caso creé un directorio en /usr/local/scripts mediante el comando:

sudo mkdir /usr/local/scripts

Pueden guardarlo donde les sirva ó les guste.

5) Hacer que el script sea ejecutable.

Desde una Terminal hacemos:

sudo chmod +x /usr/local/scripts/alias.sh

Obviamente la parte final del comando anterior la deberán adaptar de acuerdo a donde dejaron el script.

6) Definir que dicho script se ejecute al iniciar utilizando un "login hook". Para hacer esto desde la Terminal ejecutar el siguiente comando, especificando al final del mismo la ruta donde hayan guardado el script:

sudo defaults write com.apple.loginwindow LoginHook /usr/local/scripts/alias.sh 

Con esto reiniciamos la mac para probar que ande y queda pronto. Una prueba sencilla es abrir una Terminal y hacer un "ping" al 127.0.0.2, para ver que responde. Ya podemos conectarnos a nuestro "servidor" 127.0.0.2:

7) Desde el Finder nos conectamos al recurso compartido. En mi caso se llama "Backup", entonces lo que hago desde el Finder es utilizar el menú "Ir / Conectarse al servidor..." (ó mucho más fácil presionando Manzana (Comando) + K), y en la ventana que aparece digito lo siguiente:

smb://127.0.0.2

Cuando hagamos esto nos mostrará la lista de recursos compartidos por Samba en nuestro propio mac, seleccionaremos simplemente el que definimos para guardar los backups. Cuando nos pida un usuario, seleccionamos el nuestro y digitamos la contraseña que definimos oportunamente al definir el recurso en "Compartir" de Preferencias del sistema.

8) Listo, ya tenemos un disco NTFS montado desde nuestro propio mac. Ahora lo que resta es seguir el tutorial para poder hacer backups en un recurso compartido Windows remoto, y como no pienso repetir una solución ya explicada con lujo de detalles les dejo el enlace respectivo:


Terminado esto ya podemos elegir nuestro disco en Time Machine y a respaldar sin problemas.

Suerte!

P.D.: Tal vez puede ser de interés seguir esta solución para evitar que Time Machine nos llene el disco (no la he probado): http://hints.macworld.com/article.php?story=20071108020121567

1 comentario: