¿NAS casero con alguna placa ARM?


#1

Hola a tod@s!

Me llamo Ángel y estoy mirando como crearme un NAS casero.
No quiero extenderme demasiado así que intentaré ser lo más concreto que pueda.

Suelo guardar las cosas en varios discos duros y, además, usar un pendrive, según lo que necesite en cada momento así que, cada vez que ocurre esto, me acuerdo del Nas que quería (y necesito).
He estado mirando, leyendo y buscando opciones…casi todo o son la reutilización del antiguo PC o para Raspberry…
Como requisitos, tenía en mente, mínimo ruido y consumo posible, que tenga puertos SATA y potencia…

Así que, he estado mirando la Cubieboard 5 cubietruck (y su duplicado de puertos SATA) y la Banana pi BPI W2 (con otro duplicador SATA de hasta 5 puertos). Luego también he estado mirando mini pc tipo NUC (aunque se sube algo de precio). Y hay algunos como el Zidoo Z10 que tiene dos puertos SATA pero, creo, no es lo que realmente necesitaría (usa Android y no podría tenerlo encendido descargando)…

Soy nulo en esto y por eso quisiera vuestra opinión y conocimientos… yo quisiera centralizar las descargas para poder acceder desde cualquier dispositivo (de momento, como máximo fullHD), y ya que he leído, poder guardar mis datos personales…no tengo ni idea eso del “trascoding”(¿está bien escrito?), Plex, syncr o como sea…lo dicho, nulo total…
No sé si algunas de estas placas serviría, si tengo potencia de sobra para lo que quiero…

Me faltaba el presupuesto…por debajo de los 300€…

Muchas gracias a tod@s.


#2

Mi consejo: busca alguna placa económica en Internet, por ejemplo, los procesadores Xeon y sus respectivas placas se venden bastante baratos en AliExpress e eBay, puedes ponerle todos los discos que necesites, y tiene USB.

El pack completo puede rondar los 450€, eso si, pero con 2TB de disco para almacenamiento, y un poco más si lo quieres redundante.


#3

Hola!!
Y no sería “demasiada” potencia y consumo un Xeon?
Con alguna de estas placas no tendría suficiente?

Muchas gracias


#4

Potencia justa, especialmente si a la larga quieres escalarlo como servidor, no solo como NAS. Consumo, el mismo que cualquier procesador, no estamos hablando de malas bestias, de hecho, hoy en día se utilizan mucho en equipos de sobremesa lowcost.

Por ejemplo, el Xeon E5450, sería una buena opción.


#5

Hola:

[Hcitool] Hcitool http://foro.hacklabalmeria.net/u/hcitool
13 Mayo

Hola!!
Y no sería “demasiada” potencia y consumo un Xeon?
Con alguna de estas placas no tendría suficiente?

No estoy de acuerdo con @SrFreak.

Y la respuesta a tu pregunta es… depende.

Primero, tienes que tener claro que vas a hacer y que servicios quieres
tener activos.

Si vas a transcodificar (que no es otra cosa que convertir el vídeo que
estás difundiendo a un dispositivo concreto, llamese «tele lista»,
kodiparato o Segismundo a un formato que el dispositivo pueda entender)
necesitas cierta potencia, también depende del número de dispositivos
que vayan a necesitar esta transcodificación.

Aparte de eso… pues no es lo mismo montarte un Nextcloud +
aplicaciones como Collabora que un Syncthing + un servidor DAV para
contactos y agenda.

Para que te hagas una idea, yo estoy terminando de montar servicios en
un NAS Qnap arm32v5 con 1GB de Ram y dos disco de 2TB en raid0 (con una
Debian como s.o.), por ahora tengo:

  • Transmission
  • Gerbera
  • Gitea + Mariadb
  • Portainer (para gestión de contenedores)

Y pienso terminar de montarlo con:

  • Servidor web Apache + Php
  • Servidor Taskserver
  • Servidor OPDS (servidor de libros-e)
  • Servidor de ficheros + DAV (no se si me dará para Nextcloud)

Todo eso lo tengo montado con contenedores y OpenMediaVault por encima
(aunque prácticamente no lo gasto porque el complemento para gestión de
contenedores no es compatible con la arquitectura).

Cierto es que precisamente estoy buscando placas para migrar
Transmission y cambiar Gerbera por Emby o similar porque el NAS no me da
para transcodificar (y porque me falta sitio) y voy a ampliar a dos o
tres clientes multimedia más y andaba mirando placas con entradas SATA
ya que no me termino de fiar de la fiabilidad de las conexiones USB
(aunque aquí hay gente que lleva funcionando con discos duros externos
años, creo (¿@MiguelAngelLV?) sin problemas).

Con esto lo que quiero decir es que, si tienes claro los servicios que
vas a poner ahora, y los que podrías poner en un futuro, ajustate a eso.
El gasto eléctrico, como bien apuntas, puede subir, aunque no mucho (he
calculado lo que chupa el procesador Xeon E5450 durante un año: 50W *
24h * 365días = 438000 W·año; 438 kw·año * 0,14 €/kw = 61,32 €, como ves
no es una bestialidad).

Ahora una placa algo más potente que una Raspi podría estar, a lo mejor
en 5-10W, es decir entre la décima y la quinta parte de eso.

Por otro lado, si te preocupa el tema del consumo y necesitas chicha,
siempre puedes mirar algo con un M3 o M5 de Intel.

Desgraciadamente no encuentro una página donde conseguí hacer
comparaciones entre procesadores Intel/Amd y Arm y no podemos verlo en
un mano a mano.

Por otro lado, en la Wikipedia, tienes un listado extensivo de
placas

y en la single board computer
database
para escoger placa a tu
gusto y necesidades.

Espero que te resulte de ayuda todo esto que te he dicho.

Salud y Revolución.

Lobo.


#6

Ahora mismo están sin stock, pero seguramente la «Atomic Pi» pueda ser una opción bastante apañada para la mayoría de los casos

Aún así, como bien dice @Razlobo, depende mucho de lo que vayas a poner.

Yo para tener un disco duro compartido junto a Flexget, DLNA, Home Assistant y Transmission voy bien con una Pi 2, pero evidentemente si intento transcodificar el resultado es un desastre con parones continuos y calidad nefasta.


#7

Hola a tod@s! Y gracias por vuestras respuestas!

Sabía que estaba pez en esto pero con tu respuesta, @Razlobo, me has matado… jejeje!
No tengo muy claro las diferencias entre servidor Plex, trascoding, dlna, Nas, etc… y me has metido un “tropecientos” de cosas nuevas… jejeje!

Recuerdo que antes compartía carpetas en red, tanto en Windows con en GNU/Linux y, siempre, me costaba que los equipos se “vieran”… pero, básicamente, siempre he tenido en mente montar un equipo para compartir… medio “fabriqué” con un portátil desmontado, un centro multimedia…

Así que lo que quiero, si lo tengo más o menos claro… básicamente, quiero tener un equipo donde descargar películas y series y poder acceder a las películas y series desde los dispositivos que tengo para ello (y alguno mas, con el Kodi)…es que es un engorro como lo estoy haciendo ahora…

Otra cosa, a posteriori, que me ha gustado es la idea de poder tener nube personal y poder guardar lo que sea en ella y no depender, por ejemplo, de Google Fotos…

La única duda es si ponerlo también como centro multimedia el salón o dejarlo apartado funcionando…

En cuando al consumo del Xeon, solo es del procesador y no del resto de componentes además del ruido y el espacio que ocupa (si es una torre)… no sé…


#8

[Hcitool] Hcitool http://foro.hacklabalmeria.net/u/hcitool
14 Mayo

Hola a tod@s! Y gracias por vuestras respuestas!

Sabía que estaba pez en esto pero con tu respuesta, @Razlobo
http://foro.hacklabalmeria.net/u/razlobo, me has matado… jejeje!

Pues vamos a intentar revivirte. :^)

No tengo muy claro las diferencias entre servidor Plex, trascoding,
dlna, Nas, etc… y me has metido un “tropecientos” de cosas nuevas… jejeje!

Vamos a ver: Plex, Emby, Gerbera, miniDLNA y otros son aplicaciones
(servidores) de contenido, comunmente denominadas
DLNA, sirven para distribuir
contenido multimedia (vídeos, música, fotografías) a dispositivos
compatibles: aparatos con Kodi, «teles listas», tu móvil…

Trascodificar es una técnica que sirve para que el vídeo que tienes
alojado en tu sistema servidor DLNA se transforme «al vuelo» en un vídeo
compatible con el dispositivo cliente. Digamos que tu «tele lista» no
admite contenedores Matroska de vídeo (no es tan lista tu tele) y
resulta que te bajaste Star Wreck: in the
pirkinning

o Spring,la última de la Fundación
Blender

en ese formato. Si tu servidor DLNA tiene activada la trascodificación
lo que hace es convertir ese vídeo a un formato que entienda tu tele y
la puedas ver allí sin problemas.

Recuerdo que antes compartía carpetas en red, tanto en Windows con en
GNU/Linux y, siempre, me costaba que los equipos se “vieran”… pero,
básicamente, siempre he tenido en mente montar un equipo para compartir…
medio “fabriqué” con un portátil desmontado, un centro multimedia…

Compartir ficheros entre equipos, a día de hoy, no tiene mucho misterio,
con OpenMediaVault se puede hacer muy fácil, prácticamente en un par de
pulsaciones del ratón (según tengo leído que yo no lo he hecho porque
monto por sshfs).

Así que lo que quiero, si lo tengo más o menos claro… básicamente,
quiero tener un equipo donde descargar películas y series y poder
acceder a las películas y series desde los dispositivos que tengo para
ello (y alguno mas, con el Kodi)…es que es un engorro como lo estoy
haciendo ahora…

Muy bien, pues te hace falta por un lado, un «agente descargador»
(Transmission, Deluge,
QBittorrent…)
al que le puedes añadir cosas como Sonarr, Radarr, Jacket (que son
complementos para que tu no tengas que ir añadiendo torrents a mano) y,
por otro lado, ese servidor DLNA.

Otra cosa, a posteriori, que me ha gustado es la idea de poder tener
nube personal y poder guardar lo que sea en ella y no depender, por
ejemplo, de Google Fotos…

Bueno, pues tienes varias opciones: Nextcloud
que tiene la pega de ser algo pesado y la ventaja de estar todo
completamente integrado, o montarte algo más modular empezando con
Syncthing para ficheros y, si necesitas
calendario o contactos compartidos añadir Baïkal, p. ej.

La única duda es si ponerlo también como centro multimedia el salón o
dejarlo apartado funcionando…

Mi opinión es… depende, si es un equipo ligero que no mete ruido… al
salón, si no, busca un sitio donde no moleste: la cochera, un armario
bien ventilado, un trastero…

Eso si, no mezcles el servidor con el centro multimedia (cliente), al
final te será más problemático de mantener y no te dará el rendimiento
que buscas ni en una faceta ni en otra.

En cuando al consumo, solo es del procesador y no del resto de
componentes además del ruido y el espacio que ocupa (si es una torre)…
no sé…

Pues si, pero comparamos con respecto al procesador porque entendemos
que el resto de componentes (principalmente discos duros como consumidor
de recursos) son «comunes».

Suerte y espero haber aclarado cosas.

Salud y Revolución.

Lobo.


#9

Hola a tod@s!

Se agradece la explicación/aclaración y toda la información, la verdad.

Entonces, y volviendo al tema del hilo… ¿La placa BPI-W2 ofrecería la potencia necesaria para estos menesteres?

Por cierto, configurais algún VPN para estos equipos?

P.D.: que me acabo de acordar. Que discos duros me recomendáis para estos equipos? Los que tienen la etiqueta “Nas” son recomendables o solo es una manera más de encarecer el producto? Leí que la marca WD era de los que más errores daban y los de Hitachi de los que menos y, en todos los casos, los de 3tb eran los que mejores resultados daban…


#10

Buenas,

yo creo que lo mejor es pillar un disco duro externo de los que tienen alimentacion porque si no te va tocar pillar una fuente de alimentación más potente para la raspberry o similiar.

Yo lo tengo montado sobre una raspberry pi 3 con un disco duro western digital mybook de 3TB. Gasta cero corriente.

En el movil te puedes instalar Transdrone o Transmission Remote para mandar los torrent cuando estes conectado a la WiFi.

Tenia transmission en modo daemon, plexmedia server y samba para compartir archivos en red.

Mi experiencia personal es que tirando del servidor DLNA que instala el plexmediaserver no hay problema con los subtítulos, pero si tienes una tele con la aplicacion PLEX te va a incrustar los subtitulos en la imagen y la raspberry no puede tirar. Tengo un threadripper con 12 cores y tampoco creo que pudiera si la resolucion y el bitrate de la imagen es alta.

En cualquier caso el problema principal de las raspberry es que tienen el ethernet y el bus USB compartido y se satura con facilidad, además de que no te va a descargar a más de 10 megas por segundo (un truñete). A dia de hoy me tiraria a por una placa de esta gente https://www.hardkernel.com/ o una Tikerboard de ASUS que lleva ethernet un gigabit.

Por lo demás iba a añadir un .odt con las instrucciones de como lo hice yo pero no me ha dejado adjuntar.

Un saludo

PD. Me ha dejado adjuntar despues de postear.

Guia instalación Raspberry Pi como NAS.odt (27,1 KB)


#11

Guia instalación Raspberry Pi como NAS

Antes de comenzar, comentar que la Raspberry Pi 2, modelo sobre el que se realizó la instalación, no tiene la misma rapidez descargando que un ordenador de sobremesa. Esto se debe a dos motivos. El primero es que la transmisión de datos a través del puerto USB 2.0 produce una sobrecarga de ejecución sobre el procesador que de por si no es muy potente. El segundo es que el puerto de ethernet en realidad esta conectado a través del bus USB con lo cual se agrava el punto uno.

Para manejar la descarga remotamente, desde Linux se puede usar TransmissionGUI y Transdrone desde Android. Se comenta por la red el uso de FlexGet para tareas de automatización a la hora de añadir los torrents que descargamos de manera periódica.

IMPORTANTE: Una vez terminada la instalación y para evitar interferencias con el router si la tenemos conectada junto a este es mejor desactivar bluetooth y WiFi mediante los comandos:

sudo service bluetooth stop

sudo ifconfig wlan0 down

1Grabar imagen de la version “lite” en la tarjeta

Descargar Raspbian de la web y con el grabador de imágenes de Ubuntu grabar la tarjeta MicroSD.

2Arrancar y conectar via SSH

Introducir la tarjeta en la Raspberry Pi y arrancar el dispositivo. El usuario y el password por defecto son:

  • usuario: pi* password: raspberry

Para saber la dirección ip loguearse y escribir ifconfig. Una vez arrancado abrir un terminal y escribir: ssh pi@192.168.1.XXX donde 192.168.1.XXX es la dirección IP actual de la Raspberry Pi.

3Actualizar

Actualizar la lista de paquetes mediante aptitude o bien sudo apt-get update y sudo apt-get dist-upgrade.

4Ejecutar raspi-config

Ejecutar raspi-config para poner la hora e idioma local, cambiar la clave por defecto, expandir el sistema de archivos, etc.

Durante esta configuración es importante deshabilitar fastboot. Hay que hacer que la Raspberry Pi espere a que la red esté activa para arrancar. En caso contrario transmission-daemon no encontrará la red y dará un error con lo cual habrá que reiniciarlo manualmente.

5Configurar IP estática

Ejecutar sudo nano /etc/dhcpcd.conf y añadir al principio de fichero las siguientes lineas:

interface eth0

static ip_address=192.168.1.XXX/24

static routers=192.168.1.1

static domain_name_servers=192.168.1.1

donde XXX es la dirección IP que deseamos que el dispositivo tome dentro de la red local.

Después reiniciar con sudo reboot.

Para verificar cuales son los parámetros de la red comandos útiles son:

  • ifconfig

6Instalar NTFS

Ejecutar sudo apt-get install ntfs-3g o bien usar aptitude para buscar e instalar el paquete.

7Instalar Transmission como un servicio

Ejecutar sudo apt-get install transmission-daemon o bien usar aptitude para buscar e instalar el paquete.

Antes de modificar el fichero de configuración tenemos que detener el servicio pues cada vez que este último dejar de funcionar el fichero de configuración se sobrescribe. Para ello ejecutamos sudo service transmission-daemon stop.

Ahora modificamos la configuración mediante nano sudo /etc/transmission-daemon/settings.json y hacemos los siguientes cambios:

  • "rpc-password": nuestro_password", para poder conectar en remoto* "rpc-whitelist": "127.0.0.1, 192.168.." para que nos deje conectar desde la red local* "rpc-whitelist-enabled": false para que nos deje conectar desde la red local* también cambiamos los directorios donde queramos que nos descargue los ficheros

Recordar lo que se indicó en el punto 2 sobre la importancia de la disponibilidad de la red para el proceso de arranque de este servicio.

8Montar un disco duro externo por USB

En el directorio /media creamos un nuevo directorio para poder montar sobre este el dispositivo. Para ello ejecutamos el comando sudo mkdir /media/hdd.

Después vamos al directorio /dev y buscamos un dispositivo de nombre sdaX en este caso sda1.

Una vez identificado el dispositivo lo montamos sobre el directorio que hemos creado con la orden sudo mount /dev/sda1 /media/hdd. Comprobamos que esta montado con ls /media/hdd. El problema con esta solución es que cada vez que arranquemos el dispositivo tendremos que montar el disco y esto no es muy práctico.

Una solución más práctica pasa por editar el fichero /etc/fstab usando el comando sudo nano /etc/fstab/ y añadir la siguiente linea de código UUID=XXXXXXXXXXXXXX /media/hdd ntfs nofail,uid=pi,gid=pi 0 0.

El identificador que tenemos al principio lo podemos obtener de /dev/disk/by-uuid donde aparecen todos los identificadores de los dispositivos de almacenamiento que tenemos conectados. Para obterner el UUID del dispositivo ejecutamos la orden ls -l /dev/disk/by-uuid. Veremos que hay un enlace simbólico desde el UUID al dispositivo.

Dentro de la linea que hemos añadido a /etc/fstab, uid=pi,gid=pi indican que el disco se montará como perteneciente al usuario pi y al grupo pi, de este modo podremos acceder correctamente. En caso contrario transmission-daemon no podrá acceder a él.

Alguna gente señala problemas en el montaje y recomienda editar /boot/cmdline.txt y añadir rootdelay=5 (se puede aumentar el valor del retraso) o bien editar /etc/rc.local y añadir

sleep 30
sudo mount -a
exit

aunque en nuestro caso concreto esto no ha sido necesario.

Al cambiar al disco externo que se activa cuando se conecta, si que ha habido problemas. En este casoel servicio transmission-daemon arrancaba antes de que el disco hubiera terminado de montarse. La solución consiste en buscar nuestra unidad con el comando systemctl list-units. En nuestro caso la unidad es media-hdd.mount.

Después creamos un directorio mkdir /etc/systemd/system/transmission-daemon.service.d y dentro de este creamos un fichero de configuración sudo nano -w /etc/systemd/system/transmission-daemon.service.d/transmission-daemon.conf en el que escribimos lo siguiente

[Unit]

After="media-hdd.mount"

esto hace que el servicio transmission-daemon no se levante hasta que la unidad que hemos especificado no se haya montado…

Por último informamos al sistema de los cambios mediante el comando sudo systemctl daemon-reload.

DUDA: Me queda la duda de que sucederá al actualizar la distribución, pero en un principio creo que los cambios se mantendrán.

9Instalar Samba

Ejecutar sudo apt-get install samba samba-common-bin para poder acceder al almacenamiento del dispositivo a través de la red mediante Samba.

Con la configuración por defecto se puede acceder al directorio /home/pi del dispositivo mediante nautilus pulsando Conectar al servidor escribiendo ssh://pi@192.168.1.127. Nos va a solicitar la clave del usuario.

Lo que se describe a contnuación es sintesis del siguiente enlace https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20(Command-line%20interface/Linux%20Terminal)%20-%20Uncomplicated,%20Simple%20and%20Brief%20Way!

Los usuarios de Samba tienen que ser usuarios que previamente existan en el sistema y que tengan permisos de acceso a aquello que comparten. Estos usuarios son independientes de los del sistema, de modo que hay que crearlos y asignarles un password (para hacerlo más fácil el mismo del sistema) mediante el comando sudo smbpasswd -a pi donde pi es nombre del usuario.

A continuación editamos el archivo de configuración de Samba mediante el comando sudo nano /etc/samba/smb.conf. Al final del mismo añadimos lo siguiente:

[pi]

path = /home/pi

valid users = pi

read only = no

[descargas]

path = /media/hdd/descargas

valid users = pi

read only = no

Con esto compartimos el directorio /home/pi con el nombre pi y el directorio /media/hdd/descargas/ con el nombre descargas en ambos casos lo compartimos con el usuario pi que hemos definido anteriormente.

10Instalar Plex Media Server

Las mejores opciones disponibles para que una SmartTV acceda al contenido multimedia que descarguemos con nuestro NAS son miniDLNA (ahora ReadyMedia), MediaTomb y Plex Media Server.

El Plex Media Server es muy conveniente frente a miniDLNA o MediaTomb pues ademástiene una interfaz web amigable pero sobre todo existe una aplicación para las Samsung Smart TV con una interfaz gráfica muy similar a la de Kodi.

11Instalar Webmin para administrar el NAS via web

Pese a que estas instrucciones para este paso son correctas su ejecución da lugar a que el sistema de paquetes de Linux quede inservible debido a una instalación defectuosa. Esto parece deberse a que el paquete es para una versión anterior de Debian. En cualquier caso, instalar Webmin es no es realmente necesario pues la administración en linea de comandos es suficiente para las tareas que hay que realizar.

Instalar las dependencias sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python.

Descargar la ultima versión del paquete deb de Webmin con la siguiente orden (este enlace nos ofrece la última versión disponible del paquete .deb correspondiente) sudo wget http://www.webmin.com/download/deb/webmin-current.deb.

Instalar el paquete descargado con este comando sudo dpkg --install webmin-current.deb.

12Como hacer un backup

Para saber donde está el disco del que queremos crear la imagen ejecutamos la orden sudo sudo fdisk -l

Después, para crea la imagen, ejecutamos sudo dd bs=4M if=/dev/sdb of=raspbian.img , aunque por ejemplo, en mi caso era /dev/sdc.

Para realizar el paso inverso, es decir, retaurar tenemo que ejecutar la ordern sudo dd bs=4M if=raspbian.img of=/dev/sdb `` aunque en nuestro caso con la unidad que corresponda.

El único requerimiento es que la unidad de destino tenga al menos el mismo tamaño que la unidad origen.

13Enlaces de interés

Este video fue el punto de partida: https://www.youtube.com/watch?v=DPGpMSFZc9A

En esta web se aclara como montar el disco http://www.htpcguides.com/properly-mount-usb-storage-raspberry-pi/

En esta web se explica como instalar un servidor Plex https://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/blog/2016/03/11/a-more-powerful-plex-media-server-using-raspberry-pi-3

Aquí se explica como instalar miniDLNA aunque existe otra alternativa más flexible MediaTomb. La principal ventaja es que tiene una interfaz web. http://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/

En cualquier casi teniendo un Smart TV Samsung instalar Plex es una alternativa más interesante pues existe una aplicación nativa en el televisior con una interfaz similar a Kodi.

En este enlace se explica como cambiar la ubicación de los metadatos que Plex descarga sobre la multimedia que gestiona https://smyl.es/how-to-move-plex-metadata-and-index-data-to-new-driver-andor-directory-location/

Aquí se explica como hacer que transmission espere a que se haya montado el disco para levantar el servicio. En nuestro caso hay que sustituir transmission por transmission-daemon en los comandos y al editar los distintos ficheros. Este problema me surgió al cambiar de un disco duro externo que tenía botón de encendido un que arranca al conectarlo/montarlo. https://computermen.linuxeverywhere.org/2014/06/05/start-transmission-mounting-usb-hdd/


#12

Ha colado postear todo. Jajajaja.