cloud-computing

Nuestro propio Cloud con Raspberry Pi y Time Capsule, por @DanielSanRiv

Objetivos del tutorial: Cloud con Raspberry Pi & TimeCapsule

Al terminar este manual tendremos todos los conocimientos para montar en nuestra propia casa un servidor, nuestro propio cloud, que nos permitirá subir archivos a nuestro Time Capsule desde cualquier lugar del mundo. También podremos reproducir nuestros archivos de música y vídeo vía streaming, directamente desde nuestro Time Capsule, a cualquier ordenador con un navegador moderno o un smartphone, ya sea iOS o Android.

Por así decirlo, y guardando las distancias, vamos a hacer nuestro propio Dropbox y nuestro propio Youtube con cuatro duros.

¿Qué es un Raspberry Pi?

Imaginemos que le quitamos a nuestro smartphone el teclado, la pantalla, la batería, el modem 3g… así hasta quedarnos con la placa base. A esta placa base le añadimos un par de puertos USB, un lector de tarjetas SD, salida HDMI y ya tenemos algo parecido a un Raspberry Pi. En resumen podríamos decir que un Raspberry Pi es un mini ordenador que funciona con el microprocesador de un smartphone.

Las principales ventajas del Raspberry son su reducido precio, 35$ el modelo B, que con impuestos y gastos de transporte se quedan en unos 40€. Otra gran ventaja es su bajo consumo de tan sólo 3,5W, con lo que podríamos tenerlo funcionando las 24h del día sin apenas apreciarlo en nuestra factura eléctrica.

Hay quien diría que un inconveniente es su escasa potencia, 700Mhz (1000Mhz con overclockin), o su reducida memoria 256Mb (512Mb desde Octubre de 2012) pero hay que tener en cuenta que la relación precio/potencia es inmejorable. También he oído que otro problema es no poder instalar Windows.

En la siguiente foto podéis ver mi Raspberry Pi junto a una tarjeta SD para hacernos una idea del tamaño y un par de componentes del particular museo que tenemos en mi trabajo. La joya de la corona es el microprocesador Pentium Pro de 200Mhz, la segunda generación de Pentium, que era usada casi exclusivamente para servidores, de este microprocesador llama la atención lo pesado que es, pesa el equivalente a 2 Raspberrys Pi o un Smartphone medio. A la derecha tenemos un Pentium III en socket de 550Mhz y en la parte inferior otro Pentium III, pero éste en Slot. Pongo esta foto porque da que pensar que no hace tanto tiempo los microprocesadores eran menos potentes y en algunos casos más grandes y pesados que un ordenador completo como es el Raspberry Pi.

Cloud-Raspberry-pi-Time-Capsule

 

¿Por qué Time Capsule?

En cuanto a las razones por las que he elegido un Time Capsule puede que sean un poco subjetivas: En mi casa conviven un iMac junto a un Mac Book Air y su integración con Time Capsule es excelente, además siempre me ha gustado la idea de que un sólo dispositivo haga las funciones de copias de seguridad, servidor de disco duro (NAS), punto de acceso wifi y router.

No obstante, si no disponemos de un Time Capsule sería muy sencillo adaptar este manual para que funcione con cualquier otro disco duro en red o incluso con un disco duro USB conectado directamente a nuestro Raspberry Pi. A decir verdad no sería nada difícil adaptar estos pasos para conseguir el mismo resultado usando un PC al cual le instalemos una distribución de la familia Debian en lugar de un Raspberry Pi.

MANOS A LA OBRA: Requisitos e Instalación

Vamos a trabajar con Raspbian, una distribución de GNU/Linux especialmente adaptada a Raspberry Pi.

Requisitos mínimos

  • Tarjeta SD de 2Gb
  • Teclado USB
  • Cable HDMI
  • Televisor/monitor con conector HDMI.
  • Cable Micro USB
  • Cable de Red RJ45 (10/100)

Descargar la imagen

En la web de descargas de Raspberry Pi http://www.raspberrypi.org/downloads buscaremos la distribución Raspbian cuyo nombre de versión, en octubre de 2012, es “wheezy”. Una vez finalice la descarga descomprimiremos el archivo .zip y obtendremos un archivo con extensión .img, para facilitar los siguientes pasos moveremos este archivo a nuestro escritorio y le cambiaremos el nombre por “rbp.img”

Preparar la tarjeta SD desde Mac OSX

En este apartado tendremos que tener mucho cuidado y asegurarnos de estar trabajando con la tarjeta SD, pues si nos equivocamos podremos perder los datos de alguna partición, disco duro o usb que tengamos conectado.

El primer paso es conectar la tarjeta SD y abrir la Utilidad de Discos (Aplicaciones > Utilidades > Utilidad de Discos.app)

Nos aseguramos de seleccionar la tarjeta SD en la columna izquierda de la ventana y borrarla con formato MS-DOS (FAT). Ponedle un nombre descriptivo para poder identificar la tarjeta SD fácilmente en el siguiente paso

ventana-apple-sd-card

Utilidad de Discos Mac OSX

Para el segundo paso necesitaremos abrir una ventana de terminal (Aplicaciones > Utilidades > Terminal.app) y maximizar todo lo posible la ventana

Una vez en el terminal teclearemos df -h y presionaremos la tecla intro, al hacer esto veremos un listado con varias columnas como el siguiente:

df -h

En la columna derecha tendremos que buscar el nombre que le pusimos en el paso anterior a nuestra tarjeta SD, que en mi caso es /Volumes/TARJETASD, una vez localizada la fila donde se muestra nuestra tarjeta SD nos fijaremos en la columna izquierda de la misma en la que veremos el Filesystem, que suele ser algo parecido a /dev/disk1s1, éste es el dato importante con el que trabajaremos.

Copiar la imagen a la tarjeta SD

Ya tenemos preparada la tarjeta SD y localizado su Filesystem, el siguiente paso es “desmontar” la tarjeta desde el terminal con el siguiente comando:

diskutil unmount /dev/disk1s1 y presionamos intro
Recuerda cambiar “disk1s1” por el valor que haya aparecido en tu ordenador

Este último comando nos tiene que devolver un mensaje parecido a este

Volume TARJETASD on disk1s1 unmounted

Vamos a asegurarnos de que estamos en nuestra carpeta home, para ello escribimos cd y presionamos intro

Ahora utilizaremos el comando de unix “dd” para copiar la imagen a nuestra tarjeta SD, representada por el Filesystem /dev/disk1s1, aunque a este último dato le tendremos que quitar el “s1” del final y cambiar “disk” por “rdisk” quedando el destino algo parecido a “/dev/rdisk1”, recordad que el número final puede variar en cada caso y es el que nos ha aparecido en el paso anterior con el comando “df -h

Una vez en nuestro directorio home, gracias al comando cd, y si has copiado la imagen de Raspbian en tu escritorio y cambiado el nombre por rbp.img no deberías tener problemas al ejecutar el siguiente comando:

sudo dd bs=1m if=Desktop/rbp.img of=/dev/rdisk1
Antes de pulsar intro revisa que estás escribiendo correctamente este comando respetando mayúsculas y minúsculas.
Al ejecutar el comando precedido de la orden “sudo” nos pedirá la contraseña de nuestro Mac, pues para realizar esto requiere ciertos privilegios.

Si parece que el ordenador no está haciendo nada, no os preocupéis porque es normal. Esta tarea puede tardar un par de minutos dependiendo de la velocidad de escritura de tu tarjeta SD pudiendo pasar de 5 a 30 minutos o incluso más, así que tendrás que ser paciente.

Si todo ha salido bien, podrás ver tu tarjeta SD de nuevo montada y al acceder a ella verás una docena de archivos, de ser así ya estamos listos para conectar la tarjeta en nuestro Raspberry Pi, pero eso será en el próximo capítulo.

Sobre el autor

Daniel Santamaría: Mis primeras líneas de código las escribí en un Sony MSX, un tiempo después, con 14 años (hace mucho mucho tiempo) Pc-Manía publicó mi primer juego para MS-DOS 6.21 desarrollado en Turbo Pascal. Actualmente me gano la vida gracias a Linux, PHP, mySQL, .Net y SQL Server, pero mi sueño profesional sería ganarme la vida programado con Cocoa y Objective-C. Podéis encontrarme en twitter como @DanielSanRiv.

Acerca de Daniel Santamaría

Mis primeras líneas de código las escribí en un Sony MSX, un tiempo después, con 14 años (hace mucho mucho tiempo) Pc-Manía publicó mi primer juego para MS-DOS 6.21 desarrollado en Turbo Pascal. Actualmente me gano la vida gracias a Linux, PHP, mySQL, .Net y SQL Server, pero mi sueño profesional sería ganarme la vida programado con Cocoa y Objective-C

Share this: