¿Qué es Proxmox y por qué es una alternativa potente a VMware?

15min

En el ámbito de la virtualización, VMware ha sido durante años el estándar de facto en todo tipo de entornos empresariales e incluso personales. Sin embargo, en los últimos tiempos han surgido alternativas muy bien acogidas por los usuarios y las empresas. Una de ellas es Proxmox, una de las opciones más completas dentro del ecosistema open source, permitiendo construir infraestructuras de virtualización modernas sin depender de licencias.

Índice

¿Qué es Proxmox Virtual Environment (VE)?

Proxmox Virtual Environment (muchas veces acortado simplemente como Proxmox VE) es una plataforma de virtualización open source basada en Debian que integra creación de máquinas virtuales mediante KVM y gestión de contenedores con LXC.

Puedes usar Proxmox tanto en entornos pequeños de un modo personal o profesional, en una pequeña oficina, pero también en centros de datos complejos. En ambos casos te proporciona grandes ventajas como herramientas de gestión, almacenamiento, red y alta disponibilidad.

Proxmox VE se instala directamente sobre el hardware, actuando como hipervisor tipo 1, y ofrece una experiencia de administración centralizada, que además se hace fácil de utilizar porque es accesible vía web. Esto lo convierte en una solución muy potente para gestionar infraestructuras virtualizadas sin necesidad de múltiples herramientas a veces costosas de instalar y configurar juntas.

Características clave que hacen de Proxmox una solución robusta

Actualmente Proxmox se ha convertido en una solución muy adecuada para virtualización y contenedores, debido a varias características clave que vamos comenzar repasando.

Hipervisor tipo 1 basado en KVM para un rendimiento de metal desnudo

Primero y más importante para entender Proxmox: utiliza KVM (Kernel-based Virtual Machine) integrado en el kernel de Linux. En otras palabras, es un hipervisor tipo 1, lo que quiere decir que puedes ejecutar máquinas virtuales con un rendimiento cercano al hardware físico. Paralelamente te asegura eficiencia, aislamiento y soporte para múltiples sistemas operativos sin penalizaciones.

Soporte nativo para contenedores LXC de baja sobrecarga

Otra cosa super importante en el momento en el que estamos es que, además de máquinas virtuales completas, Proxmox permite ejecutar contenedores LXC.  Si conoces Docker sabrás qué es un contenedor. Pues bien, los LXC ocupan la misma filosofía de ligereza e independencia pero funcionando a nivel de sistema operativo en vez de a nivel de proceso. Dicho de otro modo, mientras que en Docker necesitas una aplicación, en LXC lo único que necesitas es el sistema operativo. Esto tiene muchas ventajas, aunque también algunos inconvenientes ya que no son tan portables los contenedores entre sistemas y solo se adaptan a arquitecturas Linux.

Interfaz de gestión web centralizada sin necesidad de clientes externos

Aparte de la reducción de costes, una de las cosas que más ha atraído a la comunidad es la herramienta de administración de Proxmox, que se realiza desde una interfaz web intuitiva, eliminando la necesidad de software adicional.

Gracias a esta herramienta web es posible gestionar nodos, máquinas virtuales, contenedores, almacenamiento, red y usuarios. Todo de una manera bastante sencilla.

Integración profunda con sistemas de archivos ZFS y Ceph para alta disponibilidad

Proxmox ofrece integración nativa con ZFS, que por si no lo sabes es un sistema de archivos y gestor de volúmenes que combina almacenamiento, integridad de datos con checksums, snapshot y RAID integrado. Esto permite un almacenamiento local avanzado y con Ceph para almacenamiento distribuido. Con todo, puedes construir infraestructuras altamente disponibles y escalables sin depender de soluciones adicionales.

Herramienta de Backup Nativa y compatibilidad con Proxmox Backup Server

Proxmox incluye funcionalidades de backup integradas que permiten realizar copias completas e incrementales de tus sistemas. Para mejorar todavía más las prestaciones puedes usar el Proxmox Backup Server que permite optimizar almacenamiento y velocidad de restauración.

Cortafuegos distribuido integrado y gestión de reglas de red avanzadas

Por supuesto, Proxmox incorpora un firewall que permite reglas de red avanzadas. Se trata de un firewall distribuido que puede configurarse a nivel de nodo, máquina virtual o contenedor.

Consola VNC y terminal de comandos accesible directamente desde el navegador

También es muy destacable su funcionalidad de administración por consola remota, que permite acceder a las consolas de las máquinas virtuales y contenedores directamente desde el navegador. Para ello, usa VNC, un protocolo de acceso remoto que permite ver y controlar el escritorio gráfico de otro ordenador a través de la red.

Por supuesto, también puedes hacer eso mismo por el terminal pero el hecho de funcionar en una web te aporta una versatilidad enorme.

Proxmox vs. VMware vSphere

Si estás medianamente metido en el ámbito de la virtualización seguro que conoces o has oído hablar de VMware vSphere, porque es mucho más conocido. Sería el equivalente funcional a Proxmox, pero con diferencias importantes en lo que respecta a filosofía y costes.

Suscripciones empresariales frente a licencias por núcleo

Proxmox es gratuito inicialmente, aunque ofrece un modelo de suscripción opcional para soporte empresarial, que no te obligan a contratar en ningún caso.

Por su parte, VMware se basa su modelo en licencias por CPU o núcleo, lo que incrementa considerablemente los costes de las instalaciones, sobre todo cuando tienes que aplicar ese software a todo un centro de datos.

Cluster nativo frente a la dependencia de vCenter

Proxmox incluye funcionalidades de clustering de forma nativa, lo que te permite gestionar múltiples nodos sin herramientas adicionales.

Por lo que respecta a VMware tienes que saber que también es posible pero requiere vCenter para gestionar clústeres, añadiendo complejidad y, lo más importante, nuevos costes.

Compatibilidad genérica frente a la estricta lista HCL de VMware

En el caso de Proxmox nos encontramos ante una solución que funciona sobre hardware estándar compatible con Linux, por lo que es más abierto.

En el caso de VMware se exige que tu «hierro» cumpla su «Hardware Compatibility List» (HCL). Esto puede ofrecer un poco más de estabilidad pero la verdad es que limita mucho las opciones y a veces encarece la infraestructura de manera notable.

LXC nativo frente a la complejidad de VMware Tanzu

Otra ventaja importante: la gestión de contenedores en Proxmox es directa y sencilla. Se hace de manera nativa con LXC.

En el caso de VMware también lo puedes hacer gracias a Tanzu para Kubernetes aunque, nuevamente, introduce mayor complejidad y costes.

Filosofía Linux frente a ecosistema propietario

Proxmox es ideal para quienes se sienten cómodos con la filosofía Linux, ya que se apoya en tecnologías open source ampliamente conocidas.

VMware, por su parte, está más orientado al mundo empresarial y opera dentro de un ecosistema cerrado con menor capacidad de personalización.

Ventajas de elegir Proxmox para tu infraestructura de IT

Si has leído todos los puntos anteriores seguramente ya te hagas una idea bastante buena sobre las ventajas que te puede ofrecer Promox en lugar de otras soluciones de virtualización. De todos modos, las vamos a resumir en los siguientes puntos.

  • Eliminación del Vendor Lock-in mediante estándares de código abierto: El uso de tecnologías open source permite evitar dependencias con proveedores específicos, haciendo que tus infraestructuras puedan ser más libres, lo que facilita su evolución y migración.
  • Escalabilidad horizontal simplificada para el crecimiento: A la hora de escalar, Proxmox facilita el proceso de añadir nuevos nodos a un clúster sin reconfiguraciones complejas.
  • Reducción masiva de los costes operativos y de capital (CAPEX y OPEX): Esta es una ventaja significativa, ya que dejas de requerir licencias y además puedes aprovechar hardware estándar, lo que hace que se reduzca mucho el coste inicial pero también el mantenimiento.
  • Soporte comunitario vibrante y acceso a documentación técnica exhaustiva: Siempre que optas por open source tienes toda una comunidad detrás, lo que facilita la resolución de problemas y el aprendizaje.
  • Facilidad para realizar copias de seguridad incrementales y replicación de datos: Las herramientas integradas en Proxmox permiten configurar backups automáticos y replicación entre nodos, sin que tengas que instalar otras soluciones o pagar nuevas licencias.
  • Virtualización de red avanzada con soporte para Bridge, Bond y VLAN: Proxmox proporciona herramientas sofisticadas para gestionar redes virtuales, incluyendo opciones como los bridges o la  agregación de enlaces (bonding). También permite  segmentación mediante VLAN.
  • Capacidad para ejecutar infraestructuras hiperconvergentes (HCI) de bajo coste: Otra cosa importante se da gracias a la integración con Ceph y su enfoque unificado. Con ello se puede construir infraestructuras «hiperconvergentes» (combinación de computación, almacenamiento y redes en un único sistema definido por software), todo ello sin necesidad de soluciones propietarias costosas.

¿Cómo empezar a implementar Proxmox?

Implementar Proxmox es un proceso que requiere un cierto grado de conocimiento de la tecnología de virtualización. Por supuesto, recomendamos comenzar por estudiar su documentación en la página oficial de Proxmox, pero vamos a dar algunas pistas para que sepas por dónde empezar y cuál sería el proceso a grandes rasgos.

1. Verificación de requisitos de hardware y soporte para virtualización (VT-x/AMD-V)

El primer paso sería comprobar si cumplimos los requisitos necesarios de hardware para instalar Proxmox VE. Básicamente necesitaremos un ordenador compatible, con CPU de 64 bits (ya sea con chip Intel 64 o AMD64) y 1 GB de RAM para el propio sistema de virtualización, más la memoria adicional que queramos destinar a las máquinas guest.

Una cosa esencial es disponer de una placa madre con soporte para virtualización activado. Tenemos que tener además de 10 GB de disco para instalar Proxmox (más el espacio que queramos destinar a las máquinas virtuales) y una tarjeta de red.

2. Descarga y creación de medios de instalación de la ISO oficial de Proxmox

Luego tendremos que descargar la ISO oficial de Proxmox y una vez obtenida crear el medio de instalación que generalmente construirás en una llave de memoria USB con herramientas como dd o Etcher (más aconsejable por ser multiplataforma y basado en UI gráfica).

Luego tendrás que arrancar desde el medio que hayas creado, generalmente un USB, y entrarás en el menú de instalación de Proxmox.

Una vez has arrancado desde el USB la instalación se realiza mediante un asistente. Es un proceso parecido a instalar un sistema operativo desde cero, como harías con una máquina nueva comprada sin sistema operativo o para instalar un Linux de escritorio. En el que el propio asistente te irá solicitando datos para configurar el sistema.

3. Configuración de los parámetros de red estática y nombre de host (FQDN)

Durante el proceso de instalación tendrás que configurar la IP estática y otros aspectos de la red como el gateway o el servidor de DNS. Además tendrás que proporcionar el nombre de host completo (FQDN).

Con todo esto conseguirás que la interfaz web sea accesible de forma estable y que el cluster funcione de la manera esperada.

4. Particionado de discos y elección del sistema de archivos de arranque

Otro de los detalles importantes que tendrás que definir durante la instalación son las particiones del disco y los sistemas de archivos que vas a usar. Entre ellos tienes varias opciones como ext4 o XFS, aunque se recomienda seleccionar ZFS que es un sistema de archivos más avanzado que ofrece integridad de datos, snapshots y RAID integrado.

5. Acceso inicial a la consola web y actualización de los repositorios de software

Una vez acabada la instalación, que no tardará demasiado, podrás acceder a la consola de administración web, desde donde podrás gestionar Proxmox. Te informarán de la URL de acceso, que será algo como https://1.2.3.4:8006 (siendo 1.2.3.4 la IP estática que has elegido al instalar). A la consola se accede con las credenciales definidas durante el proceso de instalación.

Otra primera recomendación para hacer en la consola es actualizar los repositorios. También lo puedes hacer en terminal con el típico comando apt upgrade o similares.

6. Configuración de los pools de almacenamiento local y compartido

Antes de crear tu primera máquina virtual necesitarás configurar los pools de almacenamiento local y compartido. Esto lo haces desde la consola.

Para el almacenamiento local Proxmox permite usar dir, «directory» que es una carpeta simple de nuestro disco, donde las máquinas virtuales se almacenarán como un archivo. Sin embargo, dir no ofrece muchas ventajas por lo que se recomienda usar LVM (Logical Volume Manager) que permite snapshots y mejora el rendimiento general.

Para el almacenamiento compartido tenemos disponibles varios tipos de tecnologías como Ceph, NFS, CIFS o iSCSI. El almacenamiento compartido replica datos entre nodos y sería el modo más adecuado si necesitas alta disponibilidad. Además ofrece una serie de mejoras importantes para el escalado de los servicios.

7. Creación de la primera máquina virtual e instalación de los Guest Agents

Una vez que hemos realizado todos los pasos anteriores ya podemos crear nuestra primera máquina virtual. También lo haremos desde la consola, definiendo parámetros como CPU RAM y espacio en disco.

Las imágenes USO de los sistemas operativos que queremos instalar las tendremos que agregar nosotros mismos haciendo el upload a través de la consola web.

Adicionalmente tendremos que instalar los «Guest Agent» en las máquinas virtuales (proxmox-guest-agent), lo que nos permitirá mejorar la integración de las máquinas virtuales con el sistema de administración y vía consola, además de el acceso a herramientas como la monitorización o la creación de snapshots.

Casos de uso ideales para Proxmox VE

Ya para acabar vamos a repasar algunos de los casos de uso más típicos de Proxmox VE.

Sustitución de infraestructuras VMware en entornos de PYMES

Gracias al carácter gratuito de Proxmox VE se ha convertido en una excelente opción para reducir costes derivados del uso de otras soluciones más tradicionales como VMware. Con Proxmox no tendremos que pagar licencias y obtendremos un conjunto de funcionalidades equivalente a VMware.

Creación de entornos de Home Lab para pruebas y aprendizaje de IT

Podemos utilizar Proxmox en nuestro ordenador de casa, ya que realmente no necesita un hardware certificado ni nada por el estilo. Prácticamente cualquier PC normalito sería capaz de ejecutar este sistema de virtualización.

Obviamente, depende de lo que necesitemos hacer con el sistema, ese PC estándar puede no ser viable, pero al menos sí seremos capaces de comenzar a trabajar, aprender y experimentar con una plataforma avanzada para la creación de sistemas de virtualización con máquinas virtuales, contenedores y clústeres.

Despliegue de nubes privadas y servicios de alojamiento compartido

Podemos perfectamente hacer el despliegue de aplicaciones profesionales en nubes privadas, con un coste muy controlado ya que solo tenemos que pagar la infraestructura física, el hardware, aparte de la conectividad. Sus posibilidades son enormes, ya sea con VMs o contenedores LXC. El grado de prestaciones que te ofrece es ideal incluso para sistemas críticos.

Implementación de clústeres de alta disponibilidad para aplicaciones críticas

Para sistemas críticos Proxmox VE incluye de manera nativa un sistema de clustering que nos permite trabajar en entornos donde resulta fundamental la alta disponibilidad. Además también permite mover VMs entre nodos automáticamente, algo que es fundamental por si un servidor falla, garantizando continuidad para servicios críticos.

Virtualización de escritorios remotos (VDI) de bajo coste

Otra cosa que puedes hacer es virtualizar escritorios remotos, con una solución de bajo coste. Los escritorios pueden estar en Linux pero también en otros sistemas operativos como Windows, por lo que resulta una solución muy versátil y con coste controlado.

Entornos de desarrollo y pruebas aislados mediante contenedores LXC

También puedes utilizar Proxmox como plataforma de desarrollo, pero sobre todo brilla como plataforma de pruebas. Por ejemplo, puedes utilizar sistemas de contenedores LXC que permiten crear entornos aislados y con bajo consumo. Esto hace que sea una solución ideal para implementar pipelines de integración continua y despliegue continuo CI/CD.

Infraestructura para servicios de Backup y recuperación ante desastres

Otra idea interesante es utilizar Proxmox como sistema para servicios de backup. Para ello te recomendamos explorar las posibilidades de Proxmox Backup Server que es un sofisticado sistema de copias de seguridad que se integra de manera perfecta máquinas virtuales creadas bajo la plataforma Proxmox.

Fernando Fuentes

Productos relacionados: