Gamersmafia
Menú
Gamersmafia es ahora un archivo de solo lectura.

Montando mi NAS casero, Parte 1

Bueno, no se si esto entraría en Hardware, pero ya que soy YO vs mi NAS pues toca entrada de blog creo.

Aviso de que el estado actual del NAS no es ni cerca a lo que se describe abajo, pero como toda esta parte ya la tenía documentada… pues empiezo por ahí.

Preludio: ¿Por qué un NAS casero?

Estuve mirando varios modelos, sobretodo Synology, pero a mi eso del plug and play… como que va poco conmigo, así que ya que acababan de salir las Pi4 decidí probar OpenMediaVault OpenMediaVault con un disco de 4 TB por usb.

La setup era sencilla, plex, transmission y OpenVPN, además de pihole, todo bien, hasta que llega el primer transcoding serio y la raspberry dice que hasta aquí, estuve así unos meses, hasta que un colega me habló de Xpenology, aquí ya me picó más el gusanillo… ¿el SO de synology pero en mi propio HW? ¡Adelante comandante! ¡Empieza la misión!

Sí, no puedo conectar discos en caliente (por ahora), pero es lo que hay.

Hardware

Primero no quería una caja muy grande, pero sí con espacio para HDD. Tampoco quieres una demasiado justa en la que no haya ventilación, ¿no?
Contemplé varias opciones (que iré poniendo más adelante ), pero al final me quedé con Thermaltake Core V21.

Tenemos la caja, al final hemos optado por mATX, así que… a buscar una placa con bastantes SATA y ranuras de RAM, la opción que elegí fue ASUS Prime B365M-A.

Ahora necesitamos un procesador… tiene que ser algo que vaya a aguantar tiempo para cumplir con su trabajo y no se vaya a saturar con múltiples tareas + transcoding casual del plex, así que… Intel Core I3-9100.

Y como es un PC que no pienso apagar demasiado decidí ir a por un pequeño overkill para este procesador. Noctua NH-L9i.

Para la fuente hice cálculos para 6 HDD, procesador y RAM y por ahora estoy usando Corsair VS-550
y para la RAM busqué los módulos DDR4 baratos de 4gb, en este caso son unos Crucial, a 20€ cada uno… no son una maravilla pero para lo que son hacen el trabajo.

Almacenamiento

Bien, tenemos 6 puertos SATA, uno de ellos va a ir para el SO y los contenedores de docker.

Como tenía un HDD Western Digital Black de 2,5” y 700GB que había extirpado de mi portátil la decisión era fácil… ahí instalaremos los datos.
El siguiente fue el Seagate Barracuda de 4TB y un Western Digital Red de 4TB llegó una semana más tarde. Aquí guardaremos la información.

Bien, antes de seguir, a la hora de elegir discos duros hay bastantes opciones. El Barracuda lo tengo porque era la opción más barata cuando monté la PI, de hecho es una unidad refurbished.

A la hora de elegir discos duros la mayoría serán o Western Digital o Seagate.

Western digital tiene la serie RED para servidores y NAS, que básicamente van a menos revoluciones y tienen un firmware específico que previene la pérdida de información. Los Black son los que en teoría darían mejor rendimiento en escritorio (7200rpm, blablabla) luego tienen los Blue y los Green.

Seagate tiene los Iron Wolf que sería el equivalente y… los Barracuda que serían como su todoterreno.
Ahora dejo de apoyarme en la barra de bar para seguir contando.

Más adelante he adquirido un WD Red de 8TB y 2 WD MyBook (usb) de 10tb que he sacado de su caja y he montado directamente en el servidor. En su interior había un disco WD con etiqueta blanca que funciona a 5200rpm y según internete es igual al Red salvo que no lleva el mismo firmware. Algunos modelos tienen la pega de que si detectan voltaje en uno de los pines pues como que no arrancan, para prevenir que los saques de su caja. Venden adaptadores sata sin ese pin o puedes hacer lo que hice yo que fue tapar con una tira de celo muy fina el pin.

¡Al turrón: Xpenology!

No pongo la guía porque ya se ha quedado bastante desactualizada la que usé en su día.

El tema, Xpenology da una funcionalidad cojonuda a cambio de muy poco esfuerzo. ¿El problema? es un SO de Synology migrado de aquella manera para correr en hardware OEM, según la versión que instales y el modelo que definas etc funcionará mejor o peor, lo cual ya es un pequeñito problema, pero bueno, funcionó de puta madre hasta que… un día decidió que no iba a pasar del boot, la unica opción volverlo a instalar. Encima el puñetero no reconocia los discos como tal y tocaba formatearlos cuando se volvía a instalar… así que, a la segunda vez… a tomar por saco.

¡Al turrón v2: OpenMediaVault!

Bien, Xpenology ha explotado, empezó a hacer cosas raras, reinicié desde el propio sistema y cuando lo volví a iniciar me pedia que instalará el sistema de nuevo, estupendo.

Ubuntu live, montar las particiones, la información está ahí, perfecto, Disco de 8tb USB de oferta al canto y ale, a copiar todas las películas ahí.

Llega OMV.

Llegados a este punto me puse a buscar alternativas, estaba el para mi ya conocido OMV que había usado en la Raspberry Pi4, está Unraid, que es de pago… y había uno más que no recuerdo O montarlo yo en un debian todo desde 0, los cojones 33.

¿Por qué OMV?

Primero ya lo conocía de la Raspberry, me da bastantes funcionalidades a traves de un panel de control, tiene bastantes plugins para servicios como FTP, SFTP, SMB para compartir en red y DLNA entre otras cosas, además de que integra docker también, con lo cual lo que no tenga “nativo” lo meto en docker.

Segundo… la cantidad de guias y tutoriales que hay, me han salvado el culo en más de una ocasión.

Cuando llegó el momento de la instalción busqué a su señor de las guías por excelencia DB Tech.

Guia de instalacion de OMV que usé en su día.

Otro youtuber a tener en cuenta con OMV es Techno Dad Life

Entre estos dos he conseguido montar todo.

Servicios

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

Herramientas

Otros servicios

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.

Para las siguientes ediciones

Servicios

  • Nextcloud, historia de una pelea perdida.
  • Servidor de CS:GO (Sí, en serio, iba de la hos tia con sus 128 de tick)
    ARR Stack (radarr, sonarr)

Expansiones

  • Un Dell Precision Tower T7910 salvaje apareció.
  • Migremos a unraid!
  • ¿Son eso cajas de discos? Estás loco.

¿Cuánto de coste de mantenimiento tiene el bicho este? A mí todo lo relativo a los NAS y el Sysadmin me moló mucho en su día, pero acabé trabajando de picateclas y no exploré más el mundo este.

Un 10, Pipe, espero actualizaciones.

Comentario #1 por Likan:
¿Cuánto de coste de mantenimiento tiene el bicho este? A mí todo lo relativo a los NAS y el Sysadmin me moló mucho en su día, pero acabé trabajando de picateclas y no exploré más el mundo este.

Un 10, Pipe, espero actualizaciones.

El hardware del post… eran unos 6€ al mes en luz extra más o menos… ahora con el precio que tiene la luz pues… lo mismo unos 15€? No sé, no es muy caro, te cuesta menos mantenerlo que una suscripción al servicio X, ya te lo digo

Gran entrada PiPePiTo!
Me gustan estas cosillas y tengo un par de rpi, aparte de un NAS de Synology, pero no siempre tengo tiempo para trastear. Aún así me gusta leer sobre estos temas por si aprendo algo nuevo o me pica el gusanillo para añadir algo a mi setup.

Gran aporte PiPePiTo. 5 estrellas

Muchas gracias!
A ver si esta semana puedo seguir con la segunda parte.

Bloggers mejor valorados