Mi servidor de máquinas virtuales casero

Poco a poco me he ido introduciendo en el mundo de los “homelab”, y he visto muchísimos videos de youtubers famosos de tecnología hablar sobre proxmox. Se trata de un hipervisor tipo 1, que en palabras sencillas, es un sistema operativo open-source dedicado únicamente a manejar máquinas virtuales. Esta tecnología es muy utilizada en grandes empresas y organizaciones, pero también está al alcance de usuarios particulares, un tanto frikis, como es mi caso, para ofrecer diversión y una gran utilidad.

Proxmox se puede instalar en cualquier hardware, pero para obtener el máximo rendimiento y capacidad de máquinas virtuales, yo mismo he montado un ordenador por partes, de forma casera, que es capaz de atender a mis necesidades, y por un precio realmente asequible.

Partes utilizadas:

  • CPU, Placa base y RAM:

    Soy un universitario con poco dinero, así que para mí el presupuesto era algo realmente importante, por lo que la mejor opción que encontré fue comprar un kit chino de aliexpress, de la marca Atermiter, que incluye: placa X99, Intel Xeon E5 2670 V3, y 32GB de RAM ECC.

    A mi me costó 166.19€, y por ahora está funcionando bien. La gran pregunta es cuánto tiempo durará. Por este precio tan barato puedo desplegar una razonable cantidad de máquinas virtuales gracias a los 32GB (ampliables a 64) de RAM y 24 hilos del procesador, lo cual es perfecto para lo que yo lo quiero (más adelante explicaré cómo lo estoy usando a dia de hoy).

  • Disipador de la CPU:

De nuevo, me la jugué con los chinos, que ofrecen unos precios sumamente competitivos. Se trata de un disipador Snowman, que en realidad, son bastante famosos por lo que son capaces de ofrecer. Tiene 6 “heat pipes” y por ahora funciona de perlas, el procesador no pasa de 35 grados en un funcionamiento normal, sin estrés. Cogí la versión sin LEDS (no se van a ver y tampoco me gustan) y de dos ventiladores. Costó 31.89€. Si alguien está interesado en comprar este tipo de componentes por aliexpress, recomiendo esperar al Black Friday si es posible, porque hacen buenos descuentos.

  • Discos duros:

    De HDD no necesité comprar ninguno porque tenía uno de 2TB por ahí sin usar, pero sí adquirí un SSD de 240GB Kingston. Poco más que añadir, por ahora muy bien, y buen precio, costó 23.63€.

  • Fuente de alimentación:

    Me decanté por una Nox Urano de 650W que estaba en oferta, y por ahora ningún problema. Costó 39.89€. Recomendable.

  • Tarjeta gráfica y caja:

    Agrupo estos dos componentes porque se los compré a un amigo. La caja es una normal, no hay mucho que decir sobre ella, y la gráfica es una GTX 960 de 2GB, de sobra para lo que se va a utilizar. Me cobró 100€ por ambas cosas. Por desgracia los ventiladores que traía la caja estaban en mal estado, hacían muchísimo ruido, así que no los estoy utilizando. Ya que la temperatura no es muy elevada sólo con el disipador, por ahora no voy a comprar otros.

  • Pasta térmica:

    A mi me costó 1.39€. ✌️

TOTAL: 362.99€

Lo cual, desde mi punto de vista no está nada mal para un servidor con 32 GB de memoria, una 960 y 12 núcleos de procesador. 😄

Para qué utilizo el servidor

Hay muchísimos usos divertidos para algo así, probar nuevas distribuciones de linux, hacer experimentos sin preocuparte de que le pase nada a tu ordenador, hacer tareas pesadas sin que tu ordenador principal se sature… Un uso muy conveniente es hostear servicios como plex, pi-hole, pfsense, portainer, homebridge, clientes torrent, monitores de sistema como Uptime Kuma… Sobre muchos de estos ya he hablado en el post “Mi HomeLab 2022” que si no lo has visto y te interesa todo este mundo, te invito a que lo leas.

En mi caso, lo utilizo fundamentalmente para lo siguiente:

  • Servidor Jellyfin:

    La idea es la misma que la de Plex, pero siendo open-source. Para poner en marcha este servicio, he tenido que atravesar bastantes quebraderos de cabeza. De la forma que lo tengo funcionando (que seguro hay mejores) es la siguiente:

    1. El servidor Jellyfin está en un contenedor LXC de Proxmox, en una imagen de Ubuntu 20 server. He usado un contenedor en vez de una máquina virtual porque es la única forma que me ha funcionado para hacer GPU-passthrough para transcoding de video. Fue una tarea muy agobiante que no conseguía que funcionase, pero el siguiente video me salvó la vida.
    2. Los archivos de los videos están en otra máquina Ubuntu 20 desktop, que tiene asignado todo el disco duro de 2TB. Almacena las películas y para poder acceder a ellas aloja un servidor SAMBA. He tenido bastantes problemas para acceder desde distintas máquinas con distintos usuarios, intentaré escribir algo sobre cómo lo he solucionado.
  • Portainer:

    Instalado en un Ubuntu 20 server con docker, portainer me permite gestionar contenedores de forma súper fácil. Ahora mismo los contenedores que tengo son Jackett, Radarr (para automatizar la descarga de películas torrent) y un conector de cloudflare, para acceder desde fuera de casa a mis servicios. Seguramente escriba sobre esto, es súper útil y fácil.

  • Acestream server:

    Con la misma tecnología P2P que los torrents, permite la difusión de video en directo. Por si le interesa, tengo un post explicando cómo instalarlo en docker. Instalado en Ubuntu 20 server.

  • Transmission:

    Se trata de un cliente torrent, muy básico y sencillo de usar. También, instalado en Ubuntu 20 server con docker, para variar. Guarda los archivos descargados en el mismo servidor SAMBA que Jellyfin, en el HDD.

  • Sistemas operativos varios:

    Máquinas Windows para multitud de funciones, distribuciones de linux como Kali, macOS, sistemas antiguos…

  • Máquinas útiles para la universidad:

    En la universidad todos los años tengo que instalar programas que seguramente no use nunca más, o tenga que hacer cosas que son capaces de dañar el ordenador si lo hago mal. Simplemente uso una máquina virtual para las asignaturas de la carrera, y al final del curso las borro. Además, odio que los programas me dejen restos de archivos después de desinstalarlos, así que eso también se soluciona.

Seguro que dentro de poco le encuentro un nuevo uso útil y divertido, eso es lo fascinante, y podré desplegar una máquina de una forma súper fácil. Cada cierto tiempo escribiré sobre nuevas cosas que estoy haciendo con este servidor. 🤠

setup