msgbartop
Deme diez hombres como Clouseau y podría destruir el mundo
msgbarbottom

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

Esta entrada es la parte 4 de 4 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)
Series NavigationNuevo servidor de virtualización – Uso de discos no OEM con controladora P420i
Comparte este artículo:
  • Twitter
  • Facebook
  • email
  • StumbleUpon
  • Delicious
  • Google Reader
  • LinkedIn
  • BlinkList

Deje un comentario







ocho − = 1