Creo que ya he comentado que tengo un par de raspberry pi, de los modelos 1 y 2. El proyecto en sí me fascinó desde que supe de el y luego, al comprar la primera, caí rendido a sus pies por todo lo que ofrece con ese precio y esos consumos mínimos. De hecho, el día que raspas
(la raspi 1) tiene tos, toda la red de mi casa se convulsiona porque, entre otras cosas, sólo es el guardian de la wifi y, por extensión, de la entrada y salida a la red.
Así que cuando por fin tuve en mis manos la versión 2 de la raspi, ranas (raspberry nas server)
, ya tenía más proyectos que llevar a cabo que tiempo para implementarlos. Tuve que elegir y los finalistas fueron tres:
- NAS y servidor de backup para todos los ordenadores de la red (linux, windows, mac) y alguno externo.
- centro multimedia con kodi.
- consola MAME.
Para poder llevar a cabo el primero quería que no tuviese que estar anclado a un disco duro externo que necesitase de un enchufe y que pudiese ser portátil (de una manera un poco tosca), así que tenía que utilizar un disco duro externo de 2,5′ comprado para la ocasión. El pero vino porque los dispositivos USB 3.0 necesitan más corriente que la que suministra un único puerto USB de la raspi y la solución, como casi siempre, estaba en ebay. Por cuatro euros adquirí un sofisticado mecanismo capaz de suministrarle toda la energía que necesita el disco duro externo: ¡un cable en forma de Y para USB 3.0!
Los dos últimos proyectos sólo tenían dos necesidades: estar físicamente cerca de la televisión (a un cable HDMI de distancia) y tener conexión inalámbrica puesto que no llega ningún RJ45 al salón. Así que lo primero era la conexión wifi.
Conexión wifi
El dongle USB wifi que compré en una de esas cadenas que te tratan como a un gilipollas lo reconoció sin problemas, una vez instalado el paquete con el firmware adecuado a la marca, así que para conectarla a la red, modifiqué el fichero /etc/network/interfaces
:
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "GetOUT"
wpa-passphrase "SecurePassw0rd"
Como el filtrado de MACs para obtener una IP de la wifi lo gestiona raspas
, sólo hay que decirle que use DHCP y la contraseña de acceso. En total, poco más de diez minutos para poder quitarle el cable RJ45.
Reviviendo el disco duro
Mi cara fue un poema cuando recibí el cable porque, al conectarlo todo, no funciona. De hecho, el disco no terminaba la maniobra de arranque y emitía unos quejidos que daban mucha lástima y algo de miedo. Leyendo un poco sobre el voltaje en los puertos USB en las raspberry pi me enteré de que el cable sí que funciona pero que, por defecto, las raspi limitan la potencia de salida de los USB, por lo que incluso empleando dos puertos, el disco duro no tenía suficiente para operar con normalidad.
La solución es sencilla y rápida. Hay que pasarle un parámetro al fichero config.txt
que es el equivalente a la BIOS que las rasp no tienen, diciéndole que utilice toda la potencia en los puertos USB.
sudo sh -c 'echo "max_usb_current=1" >> /boot/config.txt'
Tras reiniciarla, la raspi comenzó a usar el disco sin ningún problema.
Nota: en versiones anteriores de raspberry pi (1 y 1+) el parámetro es este, safe_mode_gpio=4
. De nada.
NAS, ra NAS
Para hacer que ranas
sea el NAS de la red, hay que hacer que comparta un espacio en disco donde el resto de ordenadores podrán escribir siempre que cuenten con un usuario válido. Así que lo primero es instalar samba
y lo segundo, crear un usuario en el sistema que usaremos para gestionar dicho espacio.
En mi caso el usuario se llama nas
y no podrá iniciar sesión en el sistema:
sudo adduser --system --home /media/nas/nasbackup nas
A continuación, creamos el espacio en samba
, comentando el resto de volúmenes compartidos y añadiendo este:
[NASBackup]
comment = NAS folder
path = /media/nas/nasbackup
valid users = nas
force group = nas
admin users = nas
read list = nas
write list = nas
force user = nas
force group = nas
create mask = 0660
directory mask = 0775
read only = no
Preparamos el disco duro y reiniciamos samba:
sudo mkdir /media/nas/nasbackup
sudo chown -R nas:nas /media/nas/nasbackup
sudo /etc/init.d/samba restart
Y, finalmente, añadimos al usuario nas
a la base de datos de usuarios de samba:
sudo smbpasswd -a nas
Después de esto, podremos conectarnos mediante el protocolo CIFS (antes SMB) a la raspberry y podemos apuntar aquí los programas de backup y comenzar a volcar datos, copias de seguridad o capítulos de series para luego ver con kodi
, por ejemplo.
Disclaimer
La raspberry pi tiene los puertos USB conectados a la tarjeta de red por lo que no me hago ilusiones con lo que respecta a la velocidad, incluso cuando no utilizo dicha tarjeta de red. Pero no me importa demasiado porque se trata de una prueba y tampoco tengo excesiva prisa.
Para finalizar una imagen que prueba lo que se puede hacer con un poco de tiempo, una brida de fontanería, un disco duro y una raspberry pi 2. 🙂
8 ideas sobre “Configurando una raspberry pi 2 como servidor NAS”
El fin de semana estuve yo actualizando la mía a Jessie, que aún la tenía en oldstable… A ver si saco un rato y le pongo el media center, que de momento (desde que dejó de ser nube) la tengo sólo como servidor de descargas.
¡Qué gran invento la morita!
Vaya montaje hermano ! mola mucho y tomo nota 😉
¿sabes lo mejor? Programar deja-dup para que haga copias periódicas y olvidarte de hacerlas.
Fantástico tutorial. Si bien es cierto que se trata de uno más de los que circulan por Internet, el tuyo tiene un valor añadido, y es que te enfrentas a problemas comunes que no trata el resto de tutoriales: el voltaje del USB, la velocidad, unirlo todo por bridas…
Queda muy bonito leer miles de tutoriales sobre cómo hacer una NAS con las Raspberry, pero pocos se enfrentan a los problemas del día a día. Son esos los detalles que hacen que este tutorial valga la pena.
Fantásticas las fotos, por supuesto.
Mi única preocupación con los NAS es el tema del disco duro, y no me refiero a la capacidad o a la posibilidad de estar corriendo scripts de backup, sino tenerlos encendidos 24/7. ¿Aguantarán tanto tiempo encendidos? ¿Cuál es su tolerancia a errores? ¿Existe alguna solución sencilla con una Raspberry? Pero bueno, son auto-reflexiones que hago.
Gracias por el tutorial.
Hola Rafalinux,
me alegra que te haya gustado el tutorial. Te puedo decir que, a día de hoy, ranas sigue funcionando tan bien como el día que escribí el manual y se ha convertido en el centro neurálgico de backup, tanto en mi red local como en un par de servidores que tengo por ahí. Y todo ello tirando del disco duro de 1TB de las fotos.
En cuanto a tus reflexiones, tengo algunas respuestas. La primera es que aguanta encendido todo el tiempo que necesites, con consumos mínimos porque el disco duro no está continuamente en funcionamiento. Más o menos a los cinco minutos de dejar de operar se apaga. En su momento barajé la posibilidad de fijar un valor de apagado (spin down) con
hdparm
pero lo descarté al ver que ya lo hacía sólo.De todas formas, si tu disco duro no sabe parar (créeme, los hay), hay tutoriales que te explican cómo hacerlo en dos o tres pasos.
Un saludo,
diego
Pues con la Raspberry 3 recién salidita del horno, que ya tiene antena wifi incorporada todavía más sencillo esto.
pues si, pero lo entretenido fue hacerlo entonces :D. A este paso voy a llenar la casa con pequeños ordenadores de 25 libras que entran en cajetillas de tabaco XD.
https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/
Muy buen tuto, estoy impaciente de probarlo