Configurar una infraestructura hiperconvergente (HCI) con servidores Supermicro y Proxmox VE (Virtual Environment)

Description

Configurar una infraestructura hiperconvergente (HCI) con servidores Supermicro y Proxmox VE (Virtual Environment) es una excelente opción para muchas empresas y entusiastas, ya que combina la flexibilidad de Proxmox con el hardware robusto de Supermicro.

Aquí te presento una guía paso a paso para configurar tu HCI, incluyendo consideraciones importantes y mejores prácticas:

1. Planificación y Hardware (Supermicro)

La elección del hardware Supermicro es crucial para el rendimiento y la fiabilidad de tu HCI.

  • Número de Nodos:
  • Mínimo 3 nodos: Para Proxmox con Ceph (el almacenamiento distribuido recomendado para HCI), se recomienda un mínimo de 3 nodos para asegurar la redundancia y la capacidad de recuperación. Con 3 nodos, puedes tolerar la falla de 1 nodo y aún mantener el quorum y la disponibilidad de datos.
  • 5 o más nodos: Para entornos de producción críticos y mayor tolerancia a fallos (por ejemplo, tolerar la falla de 2 nodos), se recomiendan 5 o más nodos. Un número impar de nodos es preferible para el quorum en un clúster.
    • CPU: Procesadores Intel Xeon (Scalable) o AMD EPYC son ideales. Asegúrate de tener suficientes núcleos y velocidad de reloj para tus cargas de trabajo esperadas.
    • RAM: La RAM es crítica para Proxmox y Ceph.
    • Proxmox VE: Necesita RAM para el sistema operativo y las VMs/LXC.
    • Ceph: Ceph consume una cantidad significativa de RAM (aproximadamente 1-2 GB por TB de almacenamiento OSD, aunque esto varía). Planifica con al menos 64GB por nodo, y preferiblemente 128GB, 256GB o más, dependiendo de la capacidad de almacenamiento y las VMs. Utiliza RAM ECC.
      • Disco para Proxmox OS: Un SSD pequeño (128GB-256GB) para la instalación de Proxmox. Se puede usar un RAID 1 (hardware o ZFS mirror) para el disco del SO para mayor fiabilidad.
      • Discos para Ceph OSDs:
      • NVMe SSDs: Son la mejor opción para OSDs de Ceph debido a su alto rendimiento y baja latencia, ideales para cargas de trabajo intensivas en IOPS.
      • SATA SSDs Enterprise: Una buena opción para un equilibrio entre rendimiento y costo.
      • SAS HDDs con SSDs para WAL/DB: Si necesitas mucha capacidad de almacenamiento a menor costo, puedes usar HDDs SAS para los OSDs y SSDs dedicados para el Write-Ahead Log (WAL) y la Base de Datos (DB) de Ceph, lo que mejora significativamente el rendimiento de escritura. Sin embargo, para HCI, las soluciones All-Flash (NVMe/SSD) son generalmente preferibles.
      • Cantidades: Se recomiendan al menos 4 OSDs por nodo, distribuidos uniformemente. Utiliza discos de grado empresarial con protección contra pérdida de energía (PLP) para Ceph.
      • Evitar RAID de hardware para OSDs: Ceph gestiona la redundancia a nivel de software. Es mejor que los discos para Ceph se presenten directamente al sistema operativo (modo "IT mode" en las controladoras RAID/HBA, o directamente si son NVMe).
        • 10GbE o superior: Absolutamente esencial para el tráfico de Ceph (público y privado) y la migración de VMs. Considera 25GbE o incluso 40/100GbE para entornos de alta demanda.
        • Múltiples NICs: Se recomienda tener NICs dedicadas para:
        • Red de Ceph (pública y privada): Un par de puertos 10GbE+ para esto, idealmente en una VLAN separada.
        • Red de VMs/Clientes: Otro par de puertos 10GbE+ para el tráfico de las máquinas virtuales.
        • Red de Gestión/Corosync: Puede ser 1GbE, pero también se puede combinar con la red de VMs si el tráfico no es excesivo. Corosync necesita baja latencia.

            2. Instalación de Proxmox VE en cada Nodo

            • Descarga la ISO: Descarga la última ISO de Proxmox VE desde el sitio oficial.
            • Crear medio de instalación: Utiliza una herramienta como Rufus o Balena Etcher para crear un USB booteable, o monta la ISO a través de IPMI en tus servidores Supermicro.
            • Instalación:
            • Inicia desde el medio de instalación en cada servidor Supermicro.
            • Sigue las instrucciones en pantalla.
            • Asegúrate de instalar Proxmox en el disco/RAID dedicado al sistema operativo.
            • Configura la dirección IP, máscara de subred, gateway y DNS para cada nodo. Utiliza direcciones IP fijas.

            3. Configuración del Clúster Proxmox

            Una vez que Proxmox VE está instalado en todos los nodos:

            • Crear el Clúster (desde el primer nodo):
            1. Accede a la interfaz web de Proxmox (https://<IP_del_nodo>:8006).
            1. Ve a Datacenter -> Cluster.
            1. Haz clic en Create Cluster.
            1. Asigna un nombre al clúster y haz clic en Create.
            1. Copia la información de unión (Join Information) que se muestra.
              1. Accede a la interfaz web de Proxmox en cada nodo restante.
              1. Ve a Datacenter -> Cluster.
              1. Haz clic en Join Cluster.
              1. Pega la información de unión copiada del primer nodo.
              1. Introduce la contraseña del usuario root del primer nodo.
              1. Selecciona la interfaz de red para el tráfico del clúster (Corosync). Idealmente, usa una interfaz de red dedicada o una de tus interfaces de 10GbE.
              1. 7. Haz clic en Join. Repite para todos los nodos.

              4. Configuración del Almacenamiento (Ceph)

              Ceph es el componente clave para el almacenamiento hiperconvergente en Proxmox.

              • Verificar Discos: En cada nodo, ve a Storage y asegúrate de que todos los discos que deseas usar para Ceph OSDs sean visibles y no estén en uso.
              • Inicializar Ceph (en un nodo del clúster):
              1. Ve a Datacenter -> Ceph.
              1. Si es la primera vez, haz clic en Install Ceph. Sigue los pasos para instalar los paquetes necesarios.
                1. En el mismo nodo (o en cualquier nodo del clúster), ve a Datacenter -> Ceph -> OSDs.
                1. Haz clic en Create OSD.
                1. Selecciona los discos que quieres agregar como OSDs en ese nodo.
                1. Marca SSD/NVMe si estás usando esos tipos de discos para optimizar el rendimiento.
                1. Haz clic en Create. Repite este proceso en cada nodo para agregar sus respectivos discos como OSDs. Ceph distribuirá automáticamente los Placement Groups (PGs) y los datos entre todos los OSDs del clúster.
                  1. Ve a Datacenter -> Ceph -> Pools.
                  1. Haz clic en Create.
                  1. Define un nombre para tu pool (ej. rbd-storage).
                  1. Tamaño de Réplica (Replication Factor): Para alta disponibilidad, un size de 3 (triplicación de datos) es estándar, lo que significa que cada pieza de datos tendrá 3 copias en diferentes OSDs. Esto te permite perder hasta 2 OSDs (o 1 nodo si los OSDs están en diferentes nodos) sin perder datos.
                  1. Min Size: El número mínimo de réplicas requeridas para que las operaciones de escritura/lectura sean posibles. Generalmente se establece en 2 para un size de 3.
                  1. Crush Rule: Selecciona la regla CRUSH adecuada. Por defecto, replicated_ruleset es común.
                  1. Haz clic en Create.
                    1. Ve a Datacenter -> Storage.
                    1. Haz clic en Add -> RBD (Ceph Block Device).
                    1. Asigna un ID para el almacenamiento (ej. ceph-rbd).
                    1. Selecciona el pool Ceph que creaste.
                    1. Marca los tipos de contenido que deseas almacenar (Imágenes de disco, Contenedores, etc.).
                    1. 6. Haz clic en Add. Ahora tendrás un almacenamiento compartido disponible en todos los nodos del clúster.

                    5. Configuración de Redes (Bridging)

                    Proxmox utiliza puentes de red (Linux bridges) para conectar las VMs y contenedores a la red física.

                    • Configuración en cada nodo:
                    1. Ve a System -> Network en cada nodo.
                    1. Identifica tus interfaces de red físicas (ej. enp1s0, enp2s0).
                    1. Crea un nuevo Linux Bridge (vmbr0, vmbr1, etc.).
                    1. Asigna una de tus interfaces físicas al puente (ej. Bridge ports: enp1s0).
                    1. Configura la dirección IP y gateway en el puente si es para la red de gestión o de VMs.
                    1. Repite para las interfaces de red dedicadas a Ceph, si las tienes, creando puentes separados o configurando VLANs.
                    1. Aplica la configuración.

                    6. Alta Disponibilidad (HA)

                    Proxmox permite configurar la alta disponibilidad para VMs y contenedores, lo que significa que se reiniciarán automáticamente en otro nodo si el nodo principal falla.

                    • Configurar Recursos HA:
                    1. Ve a Datacenter -> HA -> Resources.
                    1. Haz clic en Add.
                    1. Selecciona la VM o contenedor que deseas proteger con HA.
                    1. Asegúrate de que la VM/Contenedor esté almacenado en el almacenamiento Ceph (RBD), ya que esto permite que sea accesible desde cualquier nodo.
                    1. 5. Configura las opciones de "Restart on boot" y "Max Restarts".

                    7. Monitoreo y Mantenimiento

                    • Monitoreo de Ceph: La interfaz web de Proxmox proporciona una vista general del estado de Ceph, incluyendo la salud del clúster, los OSDs, los PGs y el rendimiento.
                    • Actualizaciones: Mantén Proxmox VE y el firmware de tus servidores Supermicro actualizados.
                    • Copias de Seguridad: Implementa una solución de respaldo robusta, como Proxmox Backup Server (PBS), para proteger tus VMs y datos.
                    • Pruebas de Recuperación: Realiza pruebas de falla controladas para asegurarte de que tu clúster se recupera como se espera.

                    Consideraciones Adicionales y Mejores Prácticas

                    • BIOS/Firmware de Supermicro: Asegúrate de que los BIOS y firmwares de tus servidores Supermicro estén actualizados a la última versión para garantizar la compatibilidad y el rendimiento óptimo con Proxmox.
                    • Controladores (Drivers): Proxmox se basa en Debian, por lo que generalmente los controladores están bien soportados. Sin embargo, en hardware muy nuevo o específico, podría ser necesario verificar la disponibilidad de controladores.
                    • Rendimiento de Discos: Utiliza herramientas como fio para probar el rendimiento de tus discos antes de configurar Ceph y asegurarte de que cumples con los requisitos.
                    • Separación de Redes: Para un rendimiento y seguridad óptimos, es muy recomendable separar el tráfico de Ceph (red privada de Ceph), el tráfico de gestión de Proxmox (Corosync) y el tráfico de las VMs/clientes en VLANs o incluso interfaces físicas separadas.
                    • Quorum: Con un número par de nodos, la pérdida de la mitad de los nodos puede llevar a la pérdida de quorum. Un número impar de nodos es más resiliente a este problema. Para clústeres de 2 nodos, se necesita un "Quorum Device" (QDevice) externo para mantener el quorum en caso de falla de un nodo.
                    • Documentación: Documenta tu configuración, incluyendo direcciones IP, nombres de host, configuraciones de red y cualquier personalización.

                    Siguiendo estos pasos y consideraciones, podrás configurar una infraestructura HCI robusta y eficiente con Supermicro y Proxmox VE.

                    SKU: