Cómo usar una Raspberry Pi como unidad de máquina del tiempo en red para su Mac

frambuesa-pi-time-machine-mac

¿Por qué gastar $ 300 en una AirPort Time Capsule cuando puedes hacer una tú mismo con una Raspberry Pi y un disco duro externo ? Se necesitan algunos ajustes, pero una vez que esté todo configurado, su Mac hará una copia de seguridad automáticamente, sin ningún esfuerzo de su parte. Ya no tendrá que conectar una unidad a su computadora.

Aún mejor: cuando llega el momento de restaurar archivos, puede desconectar el disco duro del Pi y conectarlo directamente a su Mac, lo que le permite recuperarse de una falla total del sistema mediante la recuperación del sistema. Hacks similares no funcionan de esta manera.

Lo que necesitarás

Le mostramos cómo hacer una copia de seguridad de su Mac con Time Machine , e incluso cómo realizar copias de seguridad de Time Machine a través de la red . Pero en esos tutoriales, hacer copias de seguridad a través de la red requería que otra Mac actuara como servidor. Entonces, si vive en un hogar con una sola Mac, podría pensar que su única opción es conectar un disco duro USB o comprar una Apple Time Capsule de $ 300.

Eso no es cierto. La Raspberry Pi conectada a un disco duro externo la convierte en una excelente alternativa improvisada a una Time Capsule u otra Mac, y es mucho más barata. (Sí, Time Capsule incluye la funcionalidad de enrutador, por lo que en realidad es un precio decente por lo que ofrece, pero este método le permite usar el enrutador que desee y ofrece más espacio para actualizaciones cuando su unidad se queda sin espacio).

Este tutorial asume que ya conoce los conceptos básicos de cómo configurar una Raspberry Pi . También requiere un poco de equipo:

  • Una Raspberry Pi. Cualquier modelo va a hacer, pero el modelo actual es el Raspberry Pi Modelo B 3 .
  • Una tarjeta SD, para el sistema operativo de Raspberry Pi. Las Raspberry Pis más antiguas usarán una tarjeta SD estándar, mientras que las más nuevas requerirán una tarjeta microSD, así que asegúrese de obtener la correcta. Aquí hay una gran lista de tarjetas probadas para que funcionen bien con la Pi.
  • Una fuente de alimentación para Pi. El puerto de alimentación de Pis es solo microUSB, pero recomendamos obtener una fuente de alimentación diseñada para Pi para un rendimiento confiable; esta de CanaKit funciona bien.
  • Una conexión de red por cable para su Pi (puede usar Wi-Fi, pero requiere más configuración y la conexión por cable será mucho mejor para esas grandes copias de seguridad a través de la red)
  • Un disco duro externo , que conectará al Pi a través de USB. Recomendamos obtener un disco duro externo de escritorio con su propia fuente de alimentación dedicada, a menos que tenga una unidad alimentada por USB que haya sido probada con el Pi.

Puede obtener la mayoría de estas cosas (y más) de una sola vez con un buen kit de inicio de Raspberry Pi como este , o puede comprarlos por separado. Tu llamada.

Me enteré de este método en una publicación de blog de Caleb Woods , y completé algunas cosas que no me funcionaron al leer esta publicación en Badbox.de . Mi más sincero agradecimiento a los dos.

Una nota final: este truco funciona bastante bien en mi experiencia, pero al final del día sigue siendo solo eso: un truco. Por esta razón, recomiendo tener algún tipo de respaldo además de esto, preferiblemente algo externo. (De todos modos , siempre debe tener una copia de seguridad fuera del sitio , en caso de incendio u otro desastre natural).

Paso uno: preparar la unidad externa para Time Machine

Lo primero que debe hacer es preparar el disco externo para que funcione con Time Machine. Conecte la unidad a su Mac, luego inicie la Utilidad de Discos . Seleccione su disco externo, luego haga clic en el botón «Borrar». Querrá formatear la unidad como «Mac OS Extended», también conocido como HFS +.

tiempo-máquina-crear-partición

A continuación, vamos a querer asegurarnos de que su Raspberry Pi y todos los dispositivos tengan permiso para controlar la unidad. Dirígete al Finder, luego haz clic derecho en la unidad en la barra lateral. Haga clic en «Obtener información».

mac-finder-get-info

En la parte inferior de la ventana que se abre, encontrará la configuración de permisos.

mac-finder-permisos

Haga clic en el candado en la parte inferior derecha, luego ingrese su contraseña. A continuación, marque «Ignorar la propiedad de este volumen». Y con eso, está listo para conectar su disco externo al Pi.

Paso dos: instale Raspbian en su Pi y conéctelo a través de SSH

A continuación, deberá configurar su Raspberry Pi con Raspbian, como se describe en este artículo . No detallaremos el proceso aquí, ya que es un proyecto en sí mismo, así que consulte esa guía para configurar Raspbian en su Pi. Usé Raspbian Core para mi configuración, ya que no conecté el Pi a una pantalla, pero no hay razón para que la versión completa de la GUI de Raspbian no funcione.

Hablando de eso: tienes dos opciones cuando se trata del resto de este tutorial. Puede conectar su Raspberry Pi a un teclado y monitor y configurar las cosas de esa manera, o puede conectarse a su Pi a través de SSH y ejecutar cada paso desde la comodidad de su Mac. Creemos que el método SSH es mucho más fácil que encontrar un monitor aleatorio, así que aquí se explica cómo hacerlo.

mac-raspberry-pi-ssh

Inicie la Terminal en su Mac, luego ingrese el siguiente comando:

ssh [email protected]

Reemplazando 192.168.1.11  con la dirección IP de su Pi. Puede encontrar la dirección IP de cualquier dispositivo conectado a su red , incluida su Raspberry Pi, dirigiéndose a la interfaz web de su enrutador.

A continuación, se le solicitará una contraseña para el usuario por defecto, pi. La contraseña para pies, por defecto, raspberry.

Si se está conectando a un sistema nuevo por primera vez, le sugiero que configure algunas cosas antes de continuar. Primero, ejecute sudo raspi-configy cambie su contraseña predeterminada. También puede expandir su sistema de archivos predeterminado aquí, si tiene una tarjeta SD grande (aunque esto no es necesario para este tutorial). Su Raspberry Pi se reiniciará, momento en el cual estará listo para comenzar a trabajar.

Paso tres: monte su unidad externa

Antes de que pueda configurar su Time Machine, debe montar la unidad para que su Raspberry Pi pueda leer y escribir en ella. Hacer esto requiere la instalación de algún software. Primero, asegúrese de que todo el software de la Pi esté actualizado. Ejecute estos dos comandos, uno tras otro:

sudo apt-get update

sudo apt-get upgrade

A continuación, instale dos paquetes: hfsprogs y hfsplus. Estos permitirán que su Raspberry Pi lea su unidad con formato Mac.

sudo apt-get install hfsprogs hfsplus

time-pi-install-hfs-plus

Ahora tiene un software capaz de montar su unidad, pero necesita saber qué unidad montar, por lo que deberá investigar un poco. Empiece por iniciar Parted.

sudo /sbin/parted

A continuación, escriba printpara ver una lista de las unidades actualmente conectadas. Debería ver su disco externo aquí.

tiempo-pi-disco duro

En esta captura de pantalla, podemos ver que mi unidad es una unidad Maxtor de 164 GB (lo prometo que obtendré una más grande más adelante). La información importante aquí es /dev/sda. su disco tendrá un nombre similar, que deberá anotar.

A continuación, mire la tabla debajo de ese bloque de texto. En mi caso, es obvio que lo que estoy buscando es la segunda partición más grande. Por lo tanto, tomo nota de que la partición que quiero montar es sda2. Es posible que necesite una cifra ligeramente diferente si tiene más de una unidad o más de una partición en su unidad.

Ahora que tiene la información que necesita, escriba quit y presione Entrar. A continuación, crearemos una carpeta que servirá como nuestro punto de montaje …

sudo mkdir -p /media/tm

… Y luego agregue información al archivo fstab. Utilice este comando para abrir un editor de texto:

sudo nano /etc/fstab

Pegue la siguiente línea en el documento, reemplazándola /dev/sda2 con la partición de su unidad, si es diferente de / dev / sda2.

/dev/sda2 /media/tm hfsplus force,rw,user,auto 0 0

tiempo-pi-fstab

Una vez que haya pegado el texto, presione Control + X para salir del editor, asegurándose de guardar cuando lo haga.

Luego, monte la unidad con:

sudo mount -a

Si no ve un mensaje de error, ¡felicidades! Ha montado correctamente su unidad.

Paso tres: compile e instale Netatalk

Netatalk es un software que simula AFP, el protocolo de red que Apple utiliza actualmente para las copias de seguridad de Time Machine. Puede instalar una versión antigua de Netatalk usando sudo apt-get install netatalk, pero  le recomiendo que no lo haga . Por razones complejas (en gran parte políticas), Debian, en el que se basa Raspbian, ofrece una versión muy desactualizada de Netatalk en sus repositorios. Puede hacer que Time Machine funcione usando esta versión desactualizada de Netatalk, pero en mi experiencia es frustrante.

Por lo tanto, le recomiendo que compile la última versión. Es más complicado de instalar, pero vale la pena.

Primero, necesitas instalar las dependencias. Aquí tiene todo lo que necesita instalar, en un comando:

sudo aptitude install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev avahi-daemon libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libio-socket-inet6-perl tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

Esto puede tardar un poco en instalarse. A continuación, descargue la última versión de Netatalk. Al momento de escribir estas líneas, eso es 3.1.10, aunque es posible que desee consultar la página de inicio de netatalk para obtener el número de versión más reciente. Luego, ejecute este comando para descargarlo:

wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.10.tar.gz

Reemplace el número de versión si encuentra una versión posterior en su sitio.

Ahora, descomprime el archivo que descargaste con:

tar -xf netatalk-3.1.10.tar.gz

Luego cambie a la nueva carpeta que acaba de crear.

cd netatalk-3.1.10

A continuación, puede configurar todas las configuraciones de netatalk antes de compilar el programa, usando este comando:

./configure \
        --with-init-style = debian-systemd \
        --sin-libevent \
        --sin-tdb \
        --con-cracklib \
        --habilitar-krbV-uam \
        --con-pam-confdir = / etc / pam.d \
        --with-dbus-daemon = / usr / bin / dbus-daemon \
        --con-dbus-sysconf-dir = / etc / dbus-1 / system.d \
        --with-tracker-pkgconfig-version = 1.0

time-pi-compile-netatalk

Suponiendo que no vea ningún mensaje de error, puede pasar a la siguiente etapa y ejecutar:

make

Esto va a tomar un tiempo. También podría prepararse un café, unos bollos y una comida de tres platos. Una Raspberry Pi no es rápida compilando software.

Cuando todo esté hecho, finalmente puede instalar Netatalk:

sudo make install

¿No fue divertido? Compruebe rápidamente que Netatalk se esté ejecutando:

netatalk -V

Verá mucha información sobre su configuración de Netatalk. Si todo se ve bien, ¡configuremos las cosas!

Paso cuatro: configurar Netatalk

Ahora que Netatalk está instalado, debe indicarle que comparta su disco. Primero, necesitará editar nsswitch.conf.

sudo nano /etc/nsswitch.conf

Aquí debe agregar mdns4y mdnsa la línea que comienza con «hosts:», para que se vea así:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

 

 

tiempo-pi-fstab

Este ajuste significa que su unidad Time Machine aparecerá en la barra lateral de Finder tan pronto como conecte su Raspberry Pi a la red.

A continuación, deberá editar afpd.service:

sudo nano /etc/avahi/services/afpd.service

Copie este bloque de texto y péguelo en ese archivo:

<? xml version = "1.0" standalone = 'no'?> <! - * - nxml - * ->
<! DOCTYPE grupo de servicios SYSTEM "avahi-service.dtd">
<grupo-servicio>
    <name replace-wildcards = "yes">% h </name>
    <servicio>
        <type> _afpovertcp._tcp </type>
        <port> 548 </port>
    </service>
    <servicio>
        <type> _device-info._tcp </type>
        <puerto> 0 </puerto>
        <txt-record> model = TimeCapsule </txt-record>
    </service>
</service-group>

Entre otras cosas, esta información hace que su Raspberry Pi imite una Apple Time Capsule real, con el icono correspondiente.

Finalmente, es hora de configurar su disco externo como un recurso compartido de red.

sudo nano /usr/local/etc/afp.conf

En la parte inferior de este documento, pegue el siguiente texto:

[Global]
  modelo mímico = TimeCapsule6,106

[Máquina del tiempo]
  ruta = / media / tm
  máquina del tiempo = si

Puede poner un nombre diferente a «Time Machine» entre los segundos corchetes, si lo desea. Esto cambiará el nombre de la unidad en la que realiza la copia de seguridad, como se muestra en Finder y Time Machine.

Finalmente, continúe y ejecute los servicios de red. En orden, ejecute estos dos comandos:

sudo service avahi-daemon start
sudo service netatalk start

Su unidad ahora se ofrece en la red. Para asegurarse de que esto suceda cada vez que inicie su Raspberry Pi, ingrese estos comandos, nuevamente, uno tras otro:

sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk

¡Estamos muy cerca ahora!

Paso cinco: conéctese a su máquina del tiempo

Dirígete al Finder en tu Mac y deberías ver tu Raspberry Pi aquí.

buscador-frambuesa-pi

De hecho, puede conectarse desde aquí, haciendo clic en «Conectar como» e ingresando el mismo nombre de usuario y contraseña que usa para conectarse a través de SSH.

En mi experiencia, sin embargo, Time Machine funciona mejor si se conecta a la unidad a través de su dirección IP, especialmente si ha configurado direcciones IP estáticas con su enrutador  (lo que probablemente debería hacerlo). Para conectarse, abra Finder, luego presione Comando + K en su teclado.

tiempo-máquina-pi-dirección-ip

Una vez que haya montado la unidad, diríjase a Preferencias del sistema> Time Machine, luego seleccione la unidad como su copia de seguridad de Time Machine.

tiempo-máquina-trabajando

Se ejecutará la copia de seguridad inicial y, después, las copias de seguridad se realizarán cada hora. Ahora tiene una unidad Time Machine en red. ¡Disfrutar!