Saltar al contenido

NAS casero con Raspberry Pi en pocos pasos

pasos-para-crear-un-nas-con-tu-raspberry-pi

En el tutorial de hoy vamos a ver cómo de sencillo resulta montar un recurso samba en cualquier dispositivo con sistema operativo Linux basado en Raspbian (o Debian, del que deriva). Es decir convertiremos nuestro aburrido disco externo en un NAS de andar por casa.

Las Raspberry Pi, en sus diferentes variantes (ya llevamos 4 en aproximadamente una década) es un SBC o Single Board Computer que aúna en un pequeño espacio los puertos, conexiones y partes que podríamos encontrar en cualquier ordenador doméstico.

NAS significa según sus siglas en ingles Network Attached Storage o Dispositivo de almacenamiento en red. Es un método para compartir una unidad de almcenamiento con otros usuarios/ubicaciones y poder usarla de forma ubicua.

Antes de seguir, conviene dejar claro que aunque el artículo está enfocado específicamente a Raspberry Pi (concretamente un fork llamado Volumio) junto a su sistema Raspbian, podremos aplicar el mismo modelo y acciones a gran variedad de distros, concretamente a aquellas basadas en Debian/Ubuntu con gestores de paquetes estándar.

Por otro lado, la conectividad SMB o Samba se basa en un protocolo agnóstico a sistemas operativos, así que a este respecto nos da igual usar un dispositivo comprado a tal afecto, o bien usar un disco externo que ya tengamos.

¿NAS casero o propietario?

Y cuando digo NAS propietario me refiero a uno diseñado por una firma con el propósito de ser eso, un NAS. Luego, dentro de los propietarios, tenemos gamas muy diferentes y algunos son de uso común o SOHO (Small Office-HOme Office) y otros de alta capacidad o enterprise grade.

Por ejemplo, en su momento cubrí en un artículo como añadirle un repositorio de aplicaciones de terceros al NAS QNAP TS-228 que tengo a nivel personal.

Estas son las principales diferencias, a mi forma de verlo, para decantarse por una u otra solución.

  • Un NAS como este de más de 1 bahía nos podrá ofrecer cosas como redundancia de datos. Es decir, mediante la creación opcional de un RAID 1 tendremos nuestra información a salvo de fallos de hardware críticos.
  • Respecto a la conectividad, normalmente la Raspberry Pi (si no es el último modelo) tendrá conexión de tipo 10/100 mbps, mientras que un NAS por muy básico que sea, normalmente trae conectividad Gigabit (10/100/1000 mbps).
  • Un dispositivo empresarial contará normalmente con una interfaz más completa o incluso un sistema operativo propio, como sería en este caso QTS de QNAP. Esto supone más funciones, como virtualizar, configurar copias de seguridad automáticas y un largo etcétera.

Si quieres guardar datos de forma segura, sobre todo si son copias de seguridad, no uses este método (al menos no como único medio para almacenarlas).

Y finalmente otro apunte, antes de que me critiquen. Existen distribuciones como nextcloud, owncloud y similares que te permitirán hacer lo mismo pero con más opciones y más rápido. Esto es con el propósito de aprender ciertas cosas.

Pasos para crear un NAS con tu Raspberry Pi

Comenzaremos por (preferiblemente con el aparato apagado) conectar un disco externo a un puerto de la Raspberry Pi.

Se recomienza un disco externo con alimentación propia, y en cualquier caso uno de 2,5″, puesto que los de 3,5″ no pueden ser alimentados por un SBC tan pequeño debido al voltaje.

Ahora abriremos un terminal a nuestra máquina Linux, en este caso la que contiene el MPD Volumio. Aprovecho para hacer una mención aquí: es necesario antes poder entrar por SSH a este sistema, conectarnos al mismo por HTTP a la web, ejemplo:

http://volumio.local/dev 

Y cambiar la siguiente configuración: SSH = ENABLE

Ahora que ya estamos dentro del servidor Linux, lo que haremos es, antes de nada, verificar que nuestra máquina tiene suficientes recursos libres. Ejecutaremos comandos como top para ver uso de CPU/Memoria, etcétera.

nas-casero-con-raspberry-pi-en-pocos-pasos

Ahora nos cercionarnos de que los paquetes necesarios están instalados y de que nuestra distro es compatible:

cat /etc/*release
sudo apt-get install ntfs-3g

Y veremos el resultado.

nas-casero-con-raspberry-pi-en-pocos-pasos-2

Ahora identificaremos la ruta desde la que encontrar nuestro dispositivo recién conectado. Normalmente en Linux no se automontan las unidades extraíbles, así que haremos esto:

sudo fdisk 

Tomaremos nota de nuestro hardware.

nas-casero-con-raspberry-pi-en-pocos-pasos-3

Nos fijaremos en el valor /dev/sda2 porque contiene una partición de datos normal, no así la primera. Este disco de ejemplo estaba ya formateado y no será necesario perder dato alguno.

Ahora crearemos un directorio nuevo donde montar nuestro recurso SMB, normalmente bajo “media”, pero esto es libre. Lo verificaremos.

sudo mkdir /media/<DIRECTORIO>
ls -ltr /media/musica
total 0

Ahora montaremos nuestra unidad HDD externa en nuestra ruta creada. Esto es necesario para poder leer o escribir datos en ella. Este comando debes adaptarlo a tu caso personal y podría no funcionar.

sudo mount -t auto /dev/sda2 /media/musica/

Verificaremos el resultado lanzando:

volumio@musica:~$ mount | grep -i musica
/dev/sda2 on /media/MUSICA type fuseblk (rw,nosuid,nodev,noatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks)
volumio@musica:~$

Ahora verificaremos el segundo paquete necesario, Samba. Se trata de un software que emula un recurso de red de Windows. Así seremos capaz de compartir nuestra unidad con equipos Windows, para que puedan leer y escribir en ella.

sudo apt-get install samba samba-common-bin

En mi caso, ya estaba actualizado.

nas-casero-con-raspberry-pi-en-pocos-pasos-4

Lo que seguro tenemos que hacer ahora es editar el archivo de configuración smb.conf. Es posible usar los valores inferiores y adaptarlos a tu gusto.

sudo nano /etc/samba/smb.conf

Al final del archivo, definiremos una ruta, comentario, usuario/s válido/s, un grupo para estos y las máscaras de permisos (umask) para los directorios:

[SMB]
comment = Ruta compartida para montaje SMB
path = /media/MUSICA
valid users = @smb
force group = usuarios
create mask = 0660
directory mask = 0771
read only = no

En algunos casos podría ser preciso reiniciar el servicio, con el siguiente comando:

sudo service smbd restart

Detalles del usuario

Ahora crearemos un usuario con los siguientes datos, puedes escoger libremente.

  • Nombre: smb
  • Grupo usuarios

Si usamos el comando groups veremos que nuestro grupo no existe, así que lo crearemos también:

volumio@musica:~$ groups
volumio adm lp dialout cdrom floppy audio dip video plugdev netdev i2c input systemd-journal spi gpio

Lo haremos todo de una:

sudo addgroup usuarios && sudo useradd smb -m -G usuarios

Ahora estableceremos una contraseña para el usuario recién creado y también una contraseña para el usuario de samba. Es posible usar la misma.

sudo passwd smb
sudo smbpasswd -a smb
  • nas-casero-con-raspberry-pi-en-pocos-pasos-6
  • nas-casero-con-raspberry-pi-en-pocos-pasos-7

Auto-montaje de la unidad en Linux

Antes de ir triunfantes a nuestro equipo Windows para ver si la unidad puede ser mapeada (o en el orden que queramos) recomiendo hacer este ajuste para que la unidad se monte de forma persistente (y no la perdamos entre reinicios):

sudo nano /etc/fstab

Escribiremos estos valores y nos aseguraremos de guardar los cambios con la combinación de teclas CTRL + X y respondiendo Y al final, si es que usamos Nano. Las partes en negrita debes sustituirlas.

/dev/sda1 /media/MUSICA auth0 noatime 0 0
nas-casero-con-raspberry-pi-en-pocos-pasos-8

Mapeo de unidad Samba en Windows

Finalmente, comprobaremos que nuestra nueva conexión aparece listada con el comando net use, o bien abriremos el Explorador de Archivos y buscaremos la ruta a nuestro recurso samba.

Estado    Local Remoto              Red

--------------------------------------------------------------
Conectado Z:    \10.0.0.157\smb     Microsoft Windows Network
Se ha completado el comando correctamente.

Eso es todo por hoy, ya tenemos nuestra unidad de red doméstica que nos servirá para trastear un poco, o para cualquier tarea puntual que necesitemos. En mi caso, la he utilizado para compartir música en mi red local.

Alejandro Ver todo

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .

A %d blogueros les gusta esto: