Montando mi NAS

PiPePiTo

Bueno, este hilo no viene a ser más que una pequeña historia de cómo he montado mi NAS casero, lo que tengo corriendo y qué proyectos tengo ahora mismo en el frente, así que va a ser un poco como mi calvario personal para ayudar a otros en su camino o que al menos me critiqueis por mis decisiones, yo que sé.

ÍNDICE

1) Preludio
2) Hardware
3) The Xpenology Xperience (D.E.P.)
4) OpenMediaVault, el retorno
5) Servicios en funcionamiento
6) Acceso desde fuera
7) Proyectos en curso

Ahora mismo el estado del servidor es el que se describe en el último spoiler (06/10/2020)

Por qué un NAS casero?

Hardware
Almacenamiento

Al turrón! (Xpenology)

Al turrón! V2 (OpenMediaVault)

Servicios Funcionando

Lo primero y esencial... docker y sobre esto... protainer, después... google o directamente hub.docker.com
¿Qué es docker?
Docker es ese amigo mágico que hace que todo esto sea más divertido. Por encima, un gestor de maquinas virtuales y en cada maquina virtual vamos a correr sólo lo justo y necesario para proveer el servicio que buscamos, esto es, Sistema operativo básico y las dependencias que pueda tener el servicio que queremos. Docker se encarga de gestionar los recursos, confia en docker, en serio, es como Gandalf pero en gestor.

Un ejemplo básico sería Plex, que corre sobre un debian pelao, actualizado y al que luego instala la aplicación plex y la arranca, ya está, no hay más. Si necesitas información que tienes en tus discos duros puedes crear un enlace entre una carpeta del servidor y una carpeta que aparecerá en el docker en la ruta en la que indiques.

Me he hecho muy amigo del portainer, tiene una interfaz sencilla que permite mapear todo, la mayoría de cosas que he instalado que no han sido demasiado locura lo he hecho siguiendo las indicaciones en la propia pagina de la imagen.

Servicios de descarga
Transmission - Cliente torrent básico de linux de toda la vida con interfaz web que se puede integrar con diferentes clientes remotos para gestión.
qBittorrent - Cliente de torrent como la versión de escritorio al que se puede acceder via web, tiene pestaña de busqueda y addons.
Jackett - Indexador de trackers de torrents que se integra con el buscador de qbittorrent

Servicios multimedia
Plex - Servidor multimedia
Tautulli - Con este saco información de uso de plex, usuarios, transcodings, reproducciones, también notifica en un canal de telegram cada vez que añado algo a la biblioteca de plex o si el servicio está caido.

Servicios de archivos
Calibre Web

Herramientas
Krusader

Otros servicios
Docker DuckDNS (requiere token que se obtiene en DuckDNS)

Para Nextcloud seguí una guía de DB Tech creo que era, luego la enlazaré. Los pongo juntos porque los tengo corriendo desde el mismo docker-compose, cosas del copia y pega y no querer calentarme la cabeza.
Nextcloud
Nextcloud-proxy
Nextcloud-MariaDB
Nextcloud-letsencrypt
Después también describiré cómo llegué a hacerme la setup para cada dns que tengo por servicio.


Acceder desde fuera:

Para acceder desde fuera es importante saber cómo redireccionar puertos en tu router lo primero, lo segundo tener un servicio de DNS que puedas ir refrescando para no tener que ir mirando la ip cada vez, no?

Bien, para lo primero lo tengo fácil, el router de mi casa me deja trastear bastante, tengo una ip fija asignada al servidor así que otro problema menos.

Las DNS... Algunos routers tienen también un servicio de DDNS, en mi caso soporta no-ip.com, pero no siempre lo actualiza, así que el contenedor de DuckDNS es todo lo que necesito, tengo varias DNS que refresco desde el mismo contenedor con el mismo token, así mis urls siempre estan accesibles.

Lo siguiente es saber qué estamos exponiendo en docker y qué queremos que sea accesible. Por ejemplo, transmission expone el puerto 9091, pero yo no quiero tener ese puerto abierto, con lo que tengo mapeado otro puerto, digamos el 58272 al 9091 de la ip interna de mi NAS. Ahora si me quiero conectar desde fuera apunto a mi dns, pero en lugar de usar el clásico puerto 9091 uso el que he mapeado al router.

Así con todo, nextcloud usa el puerto 80 y el 443 para servir http y https respectivamente, esos son los importantes, ya que desde aquí accedo a mis ficheros desde fuera.

Aquí también juega un papel importante el proxy que hay corriendo en el stack de nextcloud, puesto que por cada dns que yo refresco en duckdns y configuro un conf.d para ésta el contenedor de letsencrypt genera un certificado y el proxy lo engancha para proveer el https. Esto ha sido un quebradero de cabeza de pelotas que también debería detallar, porque hasta que di con la solución adecuada fueron bastantes vueltas.


Proyectos en marcha

Servidor NUT para poder conectar la switch vía Tinfoil cuyos usuarios sean gestionables por mi.
Automatizar el proceso de creación de rutas para el nginx proxy de verdad.


Tareas pendientes del post

Detallar mi lucha con nextcloud.
Detallar la parte básica de docker y portainer.
Enlazar todos los recursos que he usado para configurarlo todo
Añadir posibilidades de HW contempladas y sugerencias.
Añadir glosario de palabros al post.
Añadir fotos del cacharro.
Añadir más detalle a la sección de almacenamiento
Contar mi historia con Xpenology
Servidor de CS:GO (Sí, en serio, iba de la hostia con sus 128 de tick)



P.D. Iré ampliando el hilo conforme vaya teniendo tiempo y posiblemente habrá partes ya escritas que iré editaré también, cuando eso pase lo notificaré en el post :)

14
PiPePiTo

Me lo guardo pa mi.

P.d. no pato o... sí...

wpotro

Me gusta la idea, de echo tengo un Synology 216play que me va muy bien. Y la verdad es que en muchos casos es más por "trabajo que te quito". Pero algunas veces he querido hacer cosillas y se queda corto. Me iría muy bien ver como acaba todo esto.

Solo una tema. Con el hardware que has puesto, entiendo que has tenido en cuenta el mayor consumo eléctrico que va a tener un pc de esas características a diferencia de un NAS "all in one" por así decirlo..

A mi es lo único que me tira para atrás de montar eso.

Por otra parte, buen post.

4 respuestas
HeXaN

#3 El consumo eléctrico es una tontería. Estos cacharros no gastan nada los hagas con un aparato específico o montando un PC para ello.

PiPePiTo

#3 La diferencia en la factura de la luz, de un año a otro han sido, literalmente, 6€ y está todo el día encendido.
Miré otros procesadores, en un principio iba a tirar por un intel celeron, tienen cores y tal... también miré atom, pero al final el consumo del procesador es lo de menos porque nunca está a más de un 10% de carga excepto cuando tiene que hacer un transcoding tocho de video.

Lo tengo corriendo ya unos 6 meses, conforme pueda iré poniendo más cosas, el estado actual para mi es perfecto ahora mismo, aunque tengo cosas que hacer todavía.

1
hda

¡Buen hilo! Con ganas de ver cómo evoluciona :D

B

Me interesa mucho esto, has elegido mi caja favorita para NAS xD

1 respuesta
KarlosWins

.

B

Gracias, buen hilo.

¿Puedes acceder a los archivos de forma remota? Con los NAS sé que se puede pero no sé si tienes que tocar algo en el pc para que te permita el acceso desde afuera. Quizás alquilando un servidor vps y montándote una vpn pero ya estás pagando un servidor.

3 respuestas
E

#9 Lo único que hacen los Synology (o cualquier otro NAS) es ir informando cada X tiempo sobre cuál es tu IP a un servidor propiedad de Synology. Así simplemente con tu cuenta, te redirige a la IP de tu ordenador y te conecta a tu NAS desde cualquier sitio. Hay varias formas gratuitas de hacer eso mismo así que sí, se puede.

#3 Yo tengo un i5-7400 montado 24/7 y el consumo medio son 30W/h. Eso al mes son unos 21 KW que al precio al que está el KW en España son unos 3€ en la factura mensual de la luz. Es un gasto mínimo. Si lo programas para apagarlo por las noches en caso de que no lo uses entonces el gasto es incluso menor.

2
KarlosWins

.

PiPePiTo

#9

#9Boiisxu:

¿Puedes acceder a los archivos de forma remota?

Sí, tengo configurado el docker de duckdns para que me actualice unas DNS gratuitas cada x tiempo, el docker se lo gestiona sólo. Tengo que ir poniendo más información, igual que el letsencrypt y el nginx proxy juegan juntos para tenerlo todo por https.

Iré detallando conforme pueda.

1 respuesta
E

#12 Si tienes Xpenology ya tiene incorporada integración con varios DDNS. No recuerdo si el de duckdns en concreto lo tiene.

1 respuesta
PiPePiTo

#13 Xpenology murió hace tiempo xD

1 respuesta
LLoid

Me encanta, lo sigo de cerca

1
E

#14 ¿Qué tal el cambio a OMV? Lo he pensado un par de veces pero aparte de la pereza, no sé si me convencería el cambio.

1 respuesta
PiPePiTo

#16 Pues la verdad es que bien, perder el poder compartir ficheros con un enlace fue un duro golpe hasta que instalé el nextcloud, la otra pega también es que está todo más disperso, por ejemplo lo de los certificados y https para que se autogenerasen he tenido que ir uniendo yo los puntos.

Por lo demás... como todo va a docker para mi era lo mismo, de hecho la configuración y la lista de torrents del transmission la llevo arrastrando desde el que monté en la raspberry pi y mapeandolo en el docker que monté en xpenology y ahora en el del OMV xD

n3On

Me quedo por aqui :)

PiPePiTo

#7 Pues tengo impresa en 3d una bahia para meter 4 HDD en la parte entre el ventilador frontal y la placa base xD Lo que pasa es que ahora mismo tengo montados 3 HDD en una bahia que quité de mi Thermaltake grande que no usaba y la tengo enganchada (perfectamente tengo que añadir) en los railes para los ventiladores xD

1
sPoiLeR

Me quedo por aqui, aunque yo tengo un qnap fanless, seguro que alguna cosa se aprende.

corono

Buen curro!

Me apunto para cotillear, llevo tiempo dándole vueltas para montar uno por mi cuenta, pero no encuentro nunca el momento.

Me interesa sobre todo la parte de acceder desde fuera, si no tienes IP fija, ¿cómo se puede gestionar eso?

1 respuesta
PiPePiTo

Actualizado con un poco de info sobre el acceso desde fuera y organizando un poco el hilo.

preguntitas

Para lo de la ip dinámica, hay servicios de pago y gratuitos como dyndns,los cuales te permiten actualizar una dirección tipo mimaquina.dyndns.com a tu ip mediante algún cli, gui o similar.

Muchos routers disponen de clientes ddns en su configuración.

Algunos servicios permiten actualizar los datos accediendo simplemente a una URL. Hay muchos scripts por ahí en bash, zhs.. Para automatizarlo.

Yo uso el servicio de ovh que te dan gratis por tener un hosting con ellos. Creas un subdominio ddns y lo actualizo con un script que lanzo cada x tiempo con el demonio cron.

1 respuesta
PiPePiTo

#21 el docker de ducksns me va refrescando las dns si me cambia la ip externa, creo que lo comprueba cada 30 secs xD

Pero vamos, hay otras opciones como comento en el post, hoy dia hasta los routers suelen llevar algo así

1 respuesta
corono

#24 #23
Muchas gracias por las indicaciones!!

Les echaré un vistazo

aLeX

Yo tuve una NAS durante seis años, estaba basada en Openmediavault sobre Debian. Creció hasta los 6x4TB, y para aprovecharlos hasta le compré tarjetas de 10Gbit. El bicho iba realmente bien, pero se me quedó corto y decidí jubilarlo cambiándolo todo por 2x14TB internos. Estos son los motivos:

  • Cuidado con montar raid 5 o similares. Reconstruir con discos de 4TB en raid es un horror (48 horas para +4 discos) y un riesgo de que uno rompa y pierdas todo en el proceso. Es mejor decantarse por algo como SnapRaid

  • También ojo con discos que no sean NAS. La diferencia más notable no está en el HW, sino en el FW. El tiempo de espera para la corrección de errores difiere de unos a otros. Los discos NAS aguardan más hasta dar el fallo. En un disco no-NAS se reporta el fallo casi de inmediato, aunque sea recuperable, y eso produce que el raid pase a modo degradado al pensar que tiene un disco roto.

  • Mi OMV nunca subió de versión limpiamente. De OMV3 a OMV4 toco reinstalar, y de OMV4 a OMV5 también. Una vez lo dejas fino es casi mejor no cambiar de versión salvo que te vaya la marcha.

  • Tener varios discos girando todo el día consume poco, pero genera una especie de vibración que se percibe. Ya puedes tener una buena caja y bien aislada del suelo/mesa. Pararlos tampoco es opción; los arranques y paradas los joden, y cosas como routers, teles, o el PC, de vez en cuando sondean la red y producen arranques de los discos.

  • Sale rentable pagar 60$ al año y contratar backup en www.backblaze.com. Es ilimitado y te curas en salud por si algo sale mal. Lo malo es que los restores son por fichero, o bien pagando para que te manden un HDD con tus datos. Esto es caro, pero más caro es perder todo.

Ahora en lugar de NAS tengo una pequeña Raspberry a modo de servidor DNS (PiHole/AdGuard) y DLNA, con un pendrive de 256G. Si quiero ver algo en streaming, lo copio desde el PC y en cinco minutos lo veo desde la tele por DLNA.

3 1 respuesta
DarkBaco

Después de 5 años con Xpenology, he comprado el DS920 y no quepo en mi de satisfacción XD

1 2 respuestas
PiPePiTo

#26 yo he pasado completamente de raid, prefiero calentarme la cabeza con rutas antes que recuperar un raid xD

Plus es que como todo lo que descargo se queda seedeando si algo se va a la mierda sé lo que es y lo vuelvo a descargar

#27 esos son la auténtica salud, los estuve considerando un tiempo, pero meh, me pica más mi pequeño hijo retrasado con deficiencia de permisos

Algun mod podría cambiar el título del post a "Diario de superación del NAS casero de Pipepito"? XD

1 respuesta
aLeX

#28 Si te gastas 29$ te puedes instalar DrivePool (https://stablebit.com/) en el PC. Mezcla varios discos como uno solo y se encarga de balancear los datos entre unidades. Tu ves un disco y por detrás tienes la información repartida en varios. Pero no a nivel de bloque, sino de ficheros. Puedes poner reglas para que, por ejemplo, la carpeta /series/* vaya a uno solo... y cosas así

No va nada mal, y sobre todo, si te cansas y lo quitas no pierdes ni un dato. Todo sigue donde estaba.

1 respuesta
PiPePiTo

#29 open media vault tiene un plugin que hace lo mismo con particiones ext4, lo tengo ojeado pero como esas cosas las carga el diablo... Por ahora me quedo como estoy y hago yo la gestión de los ficheros cuando los descargo.

Al fin y al cabo a los dockers que me interesa les monto la ruta general donde se montan todos los discos xD o lo hago cherry picking