msgbartop
Aquí huele a Clint
msgbarbottom

24 ene 25 Nuevo servidor de virtualización – Instalación de ProxMox

Esta entrada es la parte 6 de 6 de la serie Nuevo servidor de virtualización

Llegamos a la parte final de esta serie de artículos sobre el nuevo servidor de virtualización, que es precisamente, la parte de virtualización. Tenía claro desde el principio que iba a hacer uso de ProxMox para implementar el servicio. Al fin y al cabo, es lo que venía usando desde hace años, en un mero PC convencional, para contener mis máquinas virtuales. ProxMox proporciona una interfaz de administración amigable a la virtualización KVM de Linux, y permite una operación profesional del entorno. Como es habitual en proyectos software libre, es posible desplegar una versión completamente funcional del entorno de manera gratuita, y contratar un servicio de suscripción para tener soporte especializado por parte de la empresa que manteniene la solución.

En cuanto al mecanismo de despliegue, como adelanté en los capítulos anteriores, opté por realizar una instalación de Debian 12, para a continuación desplegar sobre ella la configuración específica de ProxMox. Para los pasos concretos de cómo hacerlo, existe una guía bien detallada oficial de ProxMox que muestra cómo realizar dichos pasos: Install Proxmox VE on Debian 12 Bookworm.

Un detalle importante a tener en cuenta, en caso de que se desee que las máquinas virtuales tengan direccionamiento de la red donde está instalado el servidor de ProxMox (lo que es mi caso), es que es necesario crear un Bridge Linux. Existe una guía detallada al respecto: Default Configuration using a Bridge que vale la pena consultar. En este caso, puedo indicar que es más sencillo configurar el bridge desde la interfaz gráfica (aunque sea contraintuitivo), ya que la instalación de Debian 12 hace que una interfaz física ya tenga asignada la configuración de red. Desde la interfaz gráfica simplemente es eliminar la configuración de la tarjeta, crear el Bridge Linux, asignar esa configuración de IP y máscara, y vincular la interfaz física a la tarjeta. Una vez hecho esto, se aplican los cambios, y el sistema sale andando solo sin mayores dolores de cabeza.

El siguiente paso a dar para mí fue migrar las máquinas virtuales de mi antiguo entorno al nuevo. Hubiera sido una idea interesante el configurar un cluster HA con las dos máquinas, pero por desgracia no fue posible, ya que el entorno antiguo está en la versión 6.x de ProxMox y el nuevo en la 8.x, y no hay compatibilidad directa. Hubiera sido preciso escalar la instalación antigua a 7, y posteriormente a 8, y prefería dejar la antigua como estaba, para tener una máquina de respaldo en caso de desastre.

En lugar de esto, y dado que tengo un servidor NAS donde hago las copias de seguridad de mi entorno ProxMox, opté por generar copias nuevas, y posteriormente añadir este servidor como un volumen NAS externo al servidor y, una vez añadido, simplemente restaurar las copias. La adición del servidor NAS se hace desde Datacenter->Storage->Add->NFS, e indicar los datos del servidor y el cometido que se le quiere dar a ese volumen (en mi caso, VZDump backup).

Configuración de un servidor NFS

Configuración de un servidor NFS

El proceso funcionó sin problemas, y una vez importadas las máquinas desde el backup en el nuevo servidor, hice algunos cambios menores, como asignar mayor cantidad de RAM por máquina (4 GB a cada una), más procesadores (8 a cada una), y mapear a la máquina de la domótica dos dispositivos USB externos que tengo configurados, que funcionaron también sin mayor problema. Paré el servidor antiguo, arranqué máquinas, y todo funcionó perfectamente.

Estado del servidor ProxMox

Estado del servidor ProxMox

Como se puede ver, incluso con las máquinas a pleno rendimiento, el servidor está más que sobrado para atenderlas, y con unos niveles de sonoridad incluso más reducidos que con el servidor original. He notado además, como era de esperar, que las máquinas virtuales responden de manera mucho más ágil que en el entorno antiguo, por lo que todo son ventajas. Espero que este servidor dure muchos, muchos años.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: , ,

23 ene 25 Nuevo servidor de virtualización – Configuración de red

Esta entrada es la parte 5 de 6 de la serie Nuevo servidor de virtualización

Una vez realizados los ajustes de configuración del servidor era el momento para pensar en la definición de la red. En principio esta parte tendría que haber sido bastante sencilla: el servidor venía con una interfaz de red de 4 bocas 10/100/1000, además de la iLO. Simplemente tendría que escoger una boca, asignarle direccionamiento IP fijo, y configurar además la iLO para acceder de manera remota en caso de fallo. Simple, ¿verdad? Pues… no. Y es que la tarjeta HP Ethernet 1Gb 4-port 331FLR Adapter, con chipset Broadcom NetXtreme BCM5719 no iba a hacer más que dar dolores de cabeza.

Con la idea anterior en mente, preparé una memoria USB con la última versión de Proxmox VE lista para instalar. El proceso de instalación en sí iba bien, en el aspecto específico de la tarjeta de red la detectaba y dejaba configurarla, pero con la instalación ya completa y usando el kernel específico de ProxMox la tarjeta dejaba de aparecer. Y sin enlace de red un servidor es poco menos que inusable. Probé con versiones algo más antiguas de ProxMox, con resultados incluso peores: ni siquera durante la fase de instalación se detectaba la tarjeta de red.

Por ello, me decidí a dar un paso intermedio: realizar el despliegue de ProxMox no directamente con el instalador, sino instalando una Debian 12 primero, y después realizar la actualización a ProxMox. De nuevo, grabé una memoria USB con una ISO DVD de Debian 12, y realicé la instalación. Como esperaba, con una Debian limpia ésta reconocía correctamente la tarjeta de red 331FLR. Fue en este punto cuando aproveché para realizar la modificación de la iLO mencionada anteriormente. Pero en cuanto realicé el despliegue de la ProxMox (eso quedará para un artículo posterior), la tarjeta de red sencillamente desaparecía.

Tras investigar un poco, pude averiguar que determinadas distribuciones de linux modificadas para propósitos específcos (pfsense, unraid, ProxMox…) presentan problemas con esta tarjeta debido a que tiene determinado firmware propietario que es necesario cargar, y que no está presente fuera de las ramas non-free de Debian. En mi caso, como había instalado indicando de manera específica que quería hacer uso de fuentes non-free, era por lo que había podido hacer uso de la tarjeta con el kernel convencional. Pero en cuanto desplegué el kernel específico de ProxMox, ésta dejó de funcionar.

Así que no me quedó otra que hacerme con otra tarjeta de red PCI Express para instalar en el servidor. Conseguí una tarjeta de red con chipset Intel, igualmente de 4 bocas a giga y, en cuento se la instalé, el sistema la reconoció, pude configurar la red, y acceder de manera remota al servidor. Lo curioso del asunto es que la tarjeta 331FLR también pasó a ser mostrada correctamente por el sistema, y de manera completamente funcional:

Configuración de red en mi servidor ProxMox

Configuración de red en mi servidor ProxMox

…pero en cuanto retiraba la nueva tarjeta, la 331FLR también desaparecía. Así que no me ha quedado otra que dejar ambas tarjetas, con lo que dispongo de 8 bocas de red giga en mi nuevo servidor.

En cuanto a la configuración de red en sí, la opción de configuración más adecuada para mis propósitos era definir un bridge linux, que contendrá la configuración de red, de tipo estático, de la red a la que esté conectado el servidor, de tal manera que las máquinas virtuales también tengan direccionamiento de red en la red de datos de casa, sin tener que aplicar NAT. Esto fue lo que hice, configurando como puerto del bridge la boca de red donde tengo conectado el cable que va al switch físico.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: , , , , , , ,

22 ene 25 Nuevo servidor de virtualización – Reducción de los niveles de ruido

Esta entrada es la parte 4 de 6 de la serie Nuevo servidor de virtualización

Una vez el servidor estaba completamente operativo, el siguiente paso a dar era el plantearse que el mismo se pudiera usar de una manera razonable en un entorno doméstico, y no en un CPD, que es para lo que están planteados estos servidores. Y el punto principal para poder realizar esto era el reducir los niveles de ruido del servidor, específicamente el proveniente de los ventiladores. Y es que un servidor como el DL360p Gen8 viene con ocho módulos de ventiladores para refrigerar adecuadamente el servidor (y eso sin contar los ventiladores de las fuentes de alimentación), lo que hace que el nivel de rumorosidad que puede alcanzar sea el equivalente al de un Concorde despegando, lo que no es exactamente compatible con la placidez que se espera en una casa.

Servidor DL360p Gen8 abierto, con sus ventiladores

Servidor DL360p Gen8 abierto, con sus ventiladores

Aquí me marqué dos estrategias: reducir al mínimo el nivel de rendimiento del equipo, y reducir la velocidad de los ventiladores. Si bien es cierto que ambas estrategias están interrelacionadas, cada una de ellas tenía que acometerse de manera separada.

En cuanto al primero punto, era el más sencillo, y también el más lógico. Tengo desplegadas tres máquinas virtuales dentro del entorno, que hasta entonces estaban contenidas en un viejo PC con un servidor Intel de doble núcleo, y tras los últimos desastres, apenas con 3 GB de RAM. Había pasado a poseer un servidor con doble procesador Intel Xeon E5-2640 (de 6 Núcleos/12 Hilos) a 3 GHz, lo que totalizaba un total de 24 hilos de procesamiento, además de 96 GB de RAM. Potencia sobrada para lo que buscaba.

El servidor admite la regulación del nivel de potencia que entrega, y la manera más sencilla de realizar dicha regulación es desde la iLO. Basta con entrar a la misma, ir a Power Management -> Power Settings, y seleccionar el modo de “Static Low Power Mode”.

Configuración de la regulación de consumo

Configuración de la regulación de consumo

En lo que se refiere al segundo, éste sí tenía algo más de chicha. Aunque a nivel interno los servidores ProLiant tienen capacidad para regular la velocidad de los ventiladores de manera individual, no es algo que por sistema permitan hacer al usuario, por lo que en condiciones normales no nos quedaría otra que confiar en que la regulación de los mismos se haga de la manera más inteligente posible por parte del servidor. Por desgracia, esta regulación no es lo suficientemente fina como para que el nivel de ruido sea algo que se considere aceptable en un hogar. Sin carga alguna, de acuerdo a la iLO, los ventiladores de mi servidor no bajaban de un régimen de giro del 50% de su potencia. Esto, sin ser una barbaridad, hacía que el servidor fuera más rumoroso de lo deseable.

Por suerte, pude encontrar un proyecto en GitHub (iLO4 unlock – Silence of the fans) que permite hacer uso de algunas características ocultas del sistema de la iLO de los ProLiant, entre ellos el de jugar con la regulación de los ventiladores de manera individual. La idea general es desplegar una versión modificada de la iLO4 en su versión 2.77 con la capacidad de ejecutar comandos específicos para estos ajustes finos. En mi caso, y sin ser demasiado agresivo, he conseguido bajar el régimen de giro de los ventiladores al 19%, lo que hace que el servidor sea incluso más silencioso que el PC al que reemplaza.

Velocidad de giro de los ventiladores en la iLO

Velocidad de giro de los ventiladores en la iLO

Las instrucciones para realizar esta instalación son las siguientes:

  • Conectar ambas fuentes de alimentación, y rogar con que no haya ningún corte de corriente durante la instalación de la iLO modificada.
  • Instalar una distribución linux: En mi caso, una Debian 12. La razón para instalar una Debian en vez de Proxmox VE quedará para otro artículo. Alternativamente, es posible utilizar un LiveCD de una Ubuntu o similar, pero dado que tenía que desplegar una Debian igualmente, no tenía sentido andar con LiveCDs. Además, es preciso instalar la paquetería de Python 2, para que los scripts a utilizar posteriormente funcionen de manera correcta. Después se pueden desinstalar.
  • Descargar iLO4 2.50 CP027911.scexe Desde los sistemas de información de HPE. Usaremos esto para flashear el firmware modificado posteriormente.
  • Descargar la versión 2.77 parcheada de la iLO, en caso de que el enlace falle: https://mega.nz/file/jBlgTB4R#pBrlDteBgmzr9zltSGPEWHPFEKuj2mCXWkyDLjyoPSQ
  • Desactivar la seguridad de iLO mediante el interruptor de mantenimiento del sistema en la placa base: Hay que quitar la tapa del servidor, y localizar el switch de mantenimiento. En mi caso, se encuentra junto a los zócalos de memoria. Habrá un diagrama en la parte interior de la tapa. En ese switch hay diversos interruptores. En mi caso, es el primero, que hay que poner en la posición ON.

    Interruptor maestro

    Interruptor maestro

  • Desde el sistema operativo, desactivar el controlador HP Lights-Out: En el caso de Debian, sudo modprobe -r hpilo
  • Descomprimir el instalador de la iLO descargado, y reemplazar el firmware 2.50 con el 2.77. Instalar el firmware:

    sh ./CP027911.scexe –unpack=ilo_250
    cd ilo_250
    cp /path/to/ilo4_277.bin.fancommands ilo4_250.bin
    sudo ./flash_ilo4 –direct

  • El proceso tarda unos buenos 5 minutos entre la validación del firmware y la instalación del mismo, pasa por un reinicio, y es bastante ruidoso. Hay que reprimir las ganas de reiniciar a lo bruto, ya que se puede corromper la iLO.
  • Una vez listo, se puede acceder a la iLO por SSH para lanzar los comandos de regulación de velocidad de los ventiladores. Para ello, es conveniente crear un usuario específico, sin permisos (desde la iLO, iLO > Administración (pestaña) > Administración de usuarios), que simplemente sirva para abrir una sesión.
  • En cuanto a los comandos, los principales son “fan info” para ver el estado general de los ventiladores, “fan info g”, que muestra la velocidad de cada ventilador (de 0 a 7) junto con los sensores que hacen que giren a un régimen determinado, “fan info a”, que muestra la información asociada a los sensores, y el más importante de todos “fan PID lo 1600″, que hace que la configuración de los sensores se pueda ajustar a un valor mínimo de 16, lo que hace que la configuración sea más flexible que con la configuración por defecto de HP en algunos casos no baje de un valor 100, lo que provoca que los ventiladores no reduzcan su velocidad. Si no quieres complicarte mucho la vida, se trata de configurar todos los sensores a este valor, y listo.
  • Por último, apagamos el servidor, y volvemos a dejar el switch maestro en su configuración original.
  • Hay que tener en cuenta que cada vez que se reinicia el servidor la configuración de velocidad de los ventiladores se resetea, por lo que será necesario volver a cargar los datos.

A continuación dejo un vídeo bastante interesante de cómo jugar un poco con los ventiladores:

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

21 ene 25 Nuevo servidor de virtualización – Uso de discos no OEM con controladora P420i

Esta entrada es la parte 3 de 6 de la serie Nuevo servidor de virtualización

Una vez realizado el conexionado básico, el siguiente punto a tratar era el de la configuración del almacenamiento. Aquí tenía una idea bastante clara de lo que hacer: quería configurar un RAID5 con los 4 discos, de tal manera que tuviera un volumen de 6 TB y un disco de paridad, con lo que dispondría de una razonable protección ante fallos de disco. Hasta ahora llevaba unos pocos años funcionando con un único disco y copias en mi NAS, así que esto iba a ser un salto de calidad. Los discos, además, son discos rotacionales de 7200 RPM. Ninguna maravilla para un entorno de producción empresarial, pero más que de sobra para un uso doméstico. Además, son menos propensos a fallos que discos de 10K o 15K RPM.

Pero me encontré la primera en la frente:

Self-test failure (cmd = 0h, err = 00h, loockup = 013:0h)

Self-test failure (cmd = 0h, err = 00h, loockup = 013:0h)

Error de la controladora de discos P420i Smart Array: Self-test failure (cmd = 0h, err = 00h, loockup = 013:0h). Grandioso. Además, al acceder a la configuración de la controladora, se podía que ver que no reconocía ninguno de los discos. Tras investigar un poco, encontré la causa raíz del problema: la controladora no reconocía los discos como OEM (es decir, propios del fabricante), y se negaba a mostrarlos. Una auténtica maravilla.

Tras seguir investigando, pude llegar a un artículo que explicaba cómo solucionar el problema: HP P410i – P420i Self-test failure lockup. En líneas generales, se trataba de desconectar el módulo de caché de la controladora, volver a encender y… todo correcto, la controladora ya no mostraba error alguno, y pude entrar en su interfaz de configuración para configurar el volumen lógico según lo comentado anteriormente, y listo.

Detalle de configuración de la controladora, desde la iLO

Detalle de configuración de la controladora, desde la iLO

Posteriormente, volví a conectar el módulo de caché, y comprobé que el volumen lógico se seguía manteniendo sin errores, y sin problemas entre reinicios o apagados del servidor. A continuación dejo un vídeo de cómo identificar y extraer el módulo de caché:

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: , , , ,

20 ene 25 Nuevo servidor de virtualización – Preparación del hardware y encendido básico

Esta entrada es la parte 2 de 6 de la serie Nuevo servidor de virtualización

A la hora de recibir el servidor, lo primero fue realizar el proceso de conexionado hardware básico. Si bien el servidor en sí venía montado, los discos venían aparte. Se trataba de 4 discos de 2 TB cada uno a 7500 RPM. Los discos, que eran genéricos y no específicos de HP, venían junto con 4 caddies, de tal manera que se pudieran conectar en caliente, como es habitual en este tipo de servidores.

Servidor HP ProLiant DL360p Gen8 LFF

Servidor HP ProLiant DL360p Gen8 LFF

Así que el primer paso fue atornillar cada disco a su respectivo caddy, e insertarlo en su correspondiente bahía. El servidor es un HP Proliant DL360p Gen8, con 4 bahías de tipo LFF, por lo que con esos 4 discos quedaban todas las bahías completas. Con ello era posible configurar un volumen RAID5 con 3 discos de datos y 1 de paridad, para un total de 6 GB de espacio en disco, gracias a la controladora de disco P420i integrada.

Resuelto el tema del montaje, tocaba plantearse la conectividad. Los servidores Proliant Gen8 disponen de sistema de control remoto mediante iLO, con su tarjeta de red separada. El servidor, además venía con una tarjeta integrada 331FLR 10/100/1000 de 4 puertos. Mi planteamiento era configurar una de las bocas para la conectividad de red convencional, y la iLO, para poder administrar el servidor de manera remota.

Una vez hecho esto, tocaba arrancar. El servidor disponía de dos fuentes de alimentación, pero para el arrancado básico me bastaba con uno. Enchufé, arranqué, se iluminó el led de estado del servidor, lo pulsé… y se inició un festival de luces. Pero el servidor no arrancaba. O mejor dicho, arrancaba, ponía los ventiladores al tope, y se paraba. Estuve un buen rato como loco hasta que, después de enchufar y arrancar su buena media docena de veces, resultó que… el servidor arrancó solo. Y es que estaba siendo muy, muy impaciente. Este tipo de servidores tienes que dejarlos tranquilos, que hagan su proceso de autodiagnóstico, y ellos se encargan de arrancar por sí solos cuando han terminado de hacer lo que tienen que hacer. Sólo se trata de ser pacientes.

En paralelo, había estado intentando acceder a la iLO, que sí había encendido correctamente. Pero mi gozo en un pozo. Le habían cambiado la contraseña y no coincidía con la etiqueta de acceso a la misma con la que venía el servidor de fábrica. Así que tocaba resetearla. Pero mientras me había fallado el encendido por mi impaciencia, no me había sido posible acceder. Pero una vez encendido, era cuestión de entrar en el menú de la UEFI, y ejecutar el procedimiento para restablecer la iLO 4 desde la Utilidad de Configuración de iLO 4:

  • Reiniciar o encender el servidor. Pulsar F9 en la pantalla POST del servidor. Se inician las Utilidades del Sistema UEFI
  • Desde la pantalla de Utilidades del Sistema, seleccionar Configuración del Sistema > Utilidad de Configuración de iLO 4 > Restablecer iLO. La Utilidad de Configuración de iLO 4 pedirá seleccionar SÍ o NO. Seleccionar SÍ y pulsar Intro.
  • iLO pedirá confirmar la solicitud. Pulsar Intro.
  • La iLO se restablece y todas las conexiones activas finalizan. Si se está gestionando iLO de forma remota, la sesión de consola remota finaliza automáticamente.
  • Cuando se restablece iLO, la Utilidad de Configuración de iLO 4 no estará disponible de nuevo hasta el próximo reinicio. Reanudar el proceso de arranque. Pulsar Esc hasta que se muestre el menú principal. Seleccionar Salir y Reanudar Arranque en el menú principal y pulsar Intro.
  • Cuando se le solicite confirmar la petición, pulsar Intro para salir de la utilidad y reanudar el proceso de arranque normal.

Con ello, quedó restablecida la iLO, y pude continuar con el proceso de configuración básica del servidor.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: , , , ,