Cómo convertir una Raspberry Pi en un NAS para compartir archivos en todo el hogar
Publicado: 2022-01-29Mi casa está increíblemente ordenada y organizada, pero cuando se trata de mi vida digital, me viene a la mente la palabra "acaparador". Si eso suena como usted, un dispositivo de almacenamiento conectado a la red, o NAS para abreviar, es la inversión perfecta para hacer que sus archivos estén disponibles de forma inalámbrica en cualquier dispositivo de su hogar. Pero estos dispositivos pueden ser costosos, por lo que una forma de ahorrar dinero es construir uno por poco dinero con una Raspberry Pi en el núcleo.
¿Qué es un NAS?
El almacenamiento conectado a la red le permite compartir archivos desde un dispositivo siempre activo en toda su casa. Con un NAS en su red, puede usarlo para almacenar sus películas y reproducirlas desde varias cajas Kodi, almacenar copias de seguridad en él desde su PC o usarlo como una caja BitTorrent que genera sus archivos las 24 horas del día, los 7 días de la semana.
Claro, podría hacer todo esto con su PC principal, pero un NAS consume menos energía y está diseñado para funcionar día y noche, incluso si su computadora de escritorio está fuera de servicio. Una vez que empiezas a usar uno, es difícil volver atrás.
Hay muchos dispositivos NAS listos para usar, de compañías como Synology, QNAP y Asustor. Simplemente compre uno, inserte una unidad de disco y estará listo para las carreras. Pero pueden ser costosos, y si no está seguro de si un NAS es para usted, es difícil justificar la inversión, especialmente si desea algo que pueda crecer con sus necesidades de almacenamiento.
La Raspberry Pi, por otro lado, es una pequeña placa tan versátil que puede actuar como un NAS de prueba económico que, una vez que se le pasa, se puede reutilizar para otra cosa. No es tan sólido como, por ejemplo, una unidad NAS de Synology, y RAID no funciona particularmente bien en Pi si desea redundancia de datos. Querrá asegurarse de que cualquier dato importante en su NAS basado en Pi también esté respaldado en otro lugar.
Sin embargo, es un gran proyecto si tiene una Pi y quiere ver de qué se trata la vida de NAS. Luego, una vez que esté enganchado, puede actualizar a un modelo Synology o QNAP especialmente diseñado que se adapte a sus necesidades a largo plazo.
Lo que necesitarás...
Una Raspberry Pi con todos los adornos
Obviamente, necesitará una Raspberry Pi para este proyecto, junto con los accesorios necesarios: una fuente de alimentación, una tarjeta microSD y un mouse, un teclado y un monitor para la configuración inicial. Cualquiera de los Pis de modelo reciente debería funcionar para este proyecto, y puede leer más sobre los otros accesorios en nuestra guía para comenzar con Raspberry Pi.
Una unidad de disco (o dos, o tres)
A menos que esté compartiendo solo algunos archivos, su tarjeta microSD probablemente no sea suficiente almacenamiento para un NAS. Necesitará algunas unidades para llenar con sus películas, música u otros archivos que desee compartir entre dispositivos. Una unidad externa estándar funcionará en la mayoría de los casos, aunque es posible que necesite una que se conecte a la pared por separado, o un concentrador USB con alimentación, ya que es posible que Pi no pueda suministrar suficiente energía a todas sus unidades. Si desea una configuración más limpia, también puede usar una unidad interna diseñada para el almacenamiento conectado a la red, pero eso requeriría un estuche.
Un estuche compatible con NAS (opcional) :
Si desea que su sistema tenga un aspecto limpio, puede que le convenga obtener una carcasa para su Pi y sus unidades, de modo que no sea solo un pulpo de cables y discos. Por ejemplo, Geekworm fabrica una placa llamada X825 que le permite acoplar un disco duro interno de 2,5 pulgadas, conectarlo a su Pi y montarlo todo en una pequeña carcasa recortada. (Solo asegúrese de obtener uno que sea compatible con su Pi; hay diferentes casos para Pi 3, Pi 4, etc.).
Por ahora, solo estoy usando una caja estándar de Raspberry Pi con una unidad externa USB con velcro en la parte superior, pero si está dispuesto a ser creativo, aquí el mundo está a su alcance. Una vez que tenga todos sus componentes a mano, es hora de poner en marcha su NAS.
Instalar un sistema operativo
Hay sistemas operativos especiales como Openmediavault que convierten su Pi en un NAS, pero para una configuración para principiantes, en realidad recomiendo el antiguo Raspbian normal: es flexible, fácil de usar y lo suficientemente bueno para compartir algunos archivos a través de la red. Comience instalando Raspbian con el software recomendado como se describe en nuestra guía para principiantes.
Recomiendo conectar su Pi a su red a través de Ethernet para una transferencia rápida de archivos, pero Wi-Fi funcionará en un apuro. Una vez que haya iniciado Raspbian por primera vez, designado una nueva contraseña y descargado todas sus actualizaciones, conecte su disco duro a uno de los puertos USB de Pi.
Verá que aparece en el escritorio, pero haremos la mayor parte de nuestro trabajo en la Terminal. (Si lo prefiere, puede conectarse mediante SSH a su Pi y ejecutar estos comandos desde otra PC).
Desmontar su unidad
Antes de continuar, necesitaremos borrar la unidad que conectó, por lo que si tiene archivos importantes, deberá almacenarlos en otro lugar antes de transferirlos a su Pi-NAS. Desde una ventana de Terminal, ejecute el siguiente comando para ver los discos conectados a su Pi:
sudo fdisk -l
Busque la unidad externa que desea usar para sus archivos (en mi caso, es una unidad de 80 GB llamada "MyExternalDrive") y anote su ruta. En la captura de pantalla anterior, la unidad de 80 GB conectada a mi Pi corresponde a /dev/sda. (¡Asegúrese absolutamente de anotar la unidad correcta, ya que estamos a punto de borrarla!) Primero, deberá desmontar la unidad. Si está utilizando la interfaz de Raspbian, puede simplemente hacer clic en el botón de expulsión junto a la unidad para desmontarla. Pero si está utilizando una terminal a través de SSH, deberá ejecutar:
umount /dev/sda1
Dependiendo de la unidad, es posible que también deba ejecutar umount /dev/sda2 , umount /dev/sda3 , y así sucesivamente, dependiendo de cuántas particiones haya en la unidad del uso anterior.
Luego, para borrar y formatear su unidad flash para el uso de Linux, ejecute:
sudo parted /dev/sda
Esto abrirá un asistente llamado Parted, que le permitirá crear una nueva partición en el disco. Ejecute este comando, presione Entrar después de cada respuesta en el asistente y reemplace MyExternalDrive con el nombre que desea usar para la unidad:
mklabel gpt
Si se le solicita que borre la unidad, escriba y y presione Entrar. Entonces corre:
mkpart
MyExternalDrive
ext4
0%
100%
quit
El comando de salida final cerrará el asistente Parted. Obviamente, puede ajustar estos comandos para que se ajusten al nombre de su unidad, la cantidad y el tamaño de las particiones que desea crear en él, etc., pero para la mayoría de los usuarios básicos que recién comienzan, estos comandos deberían funcionar bien.
Particionar su unidad
A continuación, necesitaremos formatear esa partición. Si su unidad está ubicada en /dev/sda , la nueva partición estará ubicada en /dev/sda1 (si la unidad es /dev/sdb , usará /dev/sdb1 , y así sucesivamente):
sudo mkfs.ext4 /dev/sda1
Presione y y Enter cuando se le pregunte si desea continuar. Entonces corre:
sudo e2label /dev/sda1 MyExternalDrive
Simplemente reemplace MyExternalDrive con el nombre que desee para su unidad. El formateo tomará unos minutos, especialmente si tiene una unidad grande, así que tenga paciencia. Cuando haya terminado, ejecute este comando para reiniciar su Pi:
sudo shutdown -r now
Cuando su Pi se reinicie, debería encontrar que la unidad externa aparece automáticamente en el escritorio, lista para la acción. Sin embargo, tendrá que ejecutar un comando final para darse permiso para escribir nuevos archivos en la unidad. En una Terminal, ejecuta:
sudo chown -R pi /media/pi/MyExternalDrive
Comparte la unidad
Ahora es el momento de compartir esa unidad en su red, para que pueda agregar sus archivos y acceder a ellos desde cualquier dispositivo de la casa. Para ello, vamos a utilizar una herramienta llamada Samba, que es una implementación de código abierto del protocolo de intercambio de archivos SMB/CIFS de Windows. No es su única opción para compartir archivos, pero es fácil de configurar y compatible con casi cualquier sistema que pueda tener en la red, por lo que es lo que recomiendo.
Raspbian no viene con Samba instalado de forma predeterminada, por lo que deberá asegurarse de que sus repositorios estén actualizados e instalarlo con los siguientes comandos:
sudo apt update
sudo apt upgrade
sudo apt install samba samba-common
El instalador le preguntará si desea modificar smb.conf para usar la configuración WINS de DHCP. Elija Sí y presione Entrar. Ahora usted mismo edita ese archivo de configuración para compartir su unidad. Correr:
sudo nano /etc/samba/smb.conf
Luego, desde el editor de texto de la línea de comandos que aparece, use la tecla de flecha para desplazarse hasta la parte inferior del documento. Querrá agregar un bloque de texto que se vea así:
[MyMedia]
path = /media/pi/MyExternalDrive/
writeable = yes
create mask = 0775
directory mask = 0775
public=no
En su versión de esto, MyMedia sería el nombre de su recurso compartido (nómbrelo como desee) y /media/pi/MyExternalDrive sería la ubicación montada de su unidad. (Es posible que deba abrir el administrador de archivos y dirigirse a /media/pi/ para averiguar cómo se llama). Cuando haya terminado, presione Ctrl+X para salir de nano, presione y y Enter cuando se le pregunte si desea guarda el archivo.
Crear una contraseña y agregar usuarios
Finalmente, deberá crear una contraseña para Samba para que pueda ver su parte desde otras máquinas. (Hay formas de configurar Samba sin requerir una contraseña, pero esto generalmente no es una buena práctica de seguridad, por lo que recomiendo agregar una contraseña). Para agregar una contraseña al usuario Pi existente, ejecute:
sudo smbpasswd -a pi
Ingrese su contraseña deseada cuando se le solicite (no tiene que ser la misma que su contraseña de usuario en el Pi mismo, pero puede serlo) y presione Entrar.
Puede agregar otros usuarios con sudo adduser jeff , donde jeff es el usuario que desea agregar, y ejecutar sudo smbpasswd -a jeff para darle a ese usuario su propia contraseña. Esto no es estrictamente necesario, pero puede ser útil si tiene varias personas en su hogar a las que desea otorgar diferentes permisos de lectura y escritura en ciertos recursos compartidos.
Una vez que haya terminado, ejecute el siguiente comando para reiniciar Samba:
sudo systemctl restart smbd
Acceda a sus medios
Y todo debería estar listo para rockear. Dirígete a tu PC con Windows, abre una ventana del Explorador de archivos y escribe \\raspberrypi\MyMedia en la barra de direcciones (reemplazando MyMedia con el nombre que tengas compartido). Si presiona Enter, debería poder ingresar su nombre de usuario (pi) y contraseña de Samba y ver su unidad compartida. Si tiene problemas, es posible que deba usar la dirección IP de Pi, como \\192.168.1.10\MyMedia .
Para conectarse en una Mac, abra Finder y haga clic en Ir > Conectarse al servidor , escribiendo smb://raspberrypi cuando se le solicite.
Esto solo rasca la superficie de lo que puede hacer con un NAS basado en Pi. A medida que evolucionan sus necesidades de almacenamiento, puede agregar más unidades y recursos compartidos, agregar más usuarios con diferentes permisos o configurar una matriz RAID para evitar la pérdida de datos en caso de falla del disco duro. Sin embargo, una vez que llegue a ese punto, probablemente valdrá la pena gastar un poco más en un dispositivo NAS dedicado para un mejor rendimiento.