Configuración de logs en máquinas virtuales

Imagen destacada

¡Buenos días!

En el post de hoy vengo a hablaros sobre los logs que generan nuestras VMs y como se pueden volver en tu contra en un momento dado.

Nos ponemos en situación…

Como sabéis, cada una de nuestras máquinas tiene su propio fichero de log «vmware.log»  en donde se registran los eventos propios de la VM. Los valores por defecto de estos logs en vSphere 5 son los siguientes:

– Se almacenan en un volumen VMFS en la misma carpeta que el restro de archivos de la VM (Carpeta con el nombre de máquina virtual)

– El ESXi rota los logs durante el ciclo de arranque de la VM (PowerON)

– Se guardan hasta 6 rotados del log + el que se está usando


[embeber alt=»Image.png» embedtype=»image» format=»fullwidth» id=»1732″]

Y aquí viene mi anécdota…

Por defecto profesional o no se porque será, uno tiende a monitorizar el uso de los datastores basándose en las VM que tiene ahí alojadas y el tamaño de sus discos. Siempre voy con cuidado a la hora de sobre-aprovisionar y en caso de tener que hacerlo, procuro tenerlo muy acotado y controlado.

Hasta ahí, todo bien, pero un buen día, mi sistema de motorización me alerta de que tengo un datastore por debajo del 5% de espacio disponible. Bien, me pongo a revisar el datastore, las VM, las reservas, etc, etc… Me doy cuenta de que en un datastore de 500Gb y sin tener sobre-aprovisionamiento, ya me estaba quedando sin espacio.

Empiezo a tirar del hilo y me encuentro que algunas de mis VMs tenían unos logs enormes, incluso algunas con logs de Gb. Una vez descubierto el «pastel» me pongo a darle vueltas al tema y claro, en un entorno estable de producción donde los servidores tardan meses o incluso años en reiniciarse, no es Best Practice dejar los valores por defecto, ya que estos tienden a crecer debido a los escasos reinicios de nuestros servidores, pudiendo llegar a llenar el datastore con el consiguiente apagado de las VMs.

Configurando el tamaño y rotado de logs…

Desde vSphere Client o Web Client, con la VM apagada, editamos las propiedades de la misma.

Pestaña Options > General > Configuration Parameters…

[embeber alt=»Image2.png» embedtype=»image» format=»fullwidth» id=»1733″]

Añadimos una nueva fila con los valores que queramos configurar.

En nuestro caso, dejaremos un tamaño de 500KB que es el recomendado por VMWare según la documentación oficial de vSphere 5 y un rotado de 4 logs

log.rotateSize = 500000

log.keepOld  = 4

[embeber alt=»Image3.png» embedtype=»image» format=»fullwidth» id=»1734″]

Arrancamos la VM para que los cambios surjan efecto, y listo!!!!

Bonus track…

Para los amantes de PowerCLI como yo, os paso un par de comandos muy útiles para automatizar un poco esta tarea y no tener que ir máquina por máquina:

Ver el valor de ambos parametros:

Get-VM <nombre_de_nuestra_VM> | get-AdvancedSetting -Name «log.keepOld» , «log.rotateSize»

[embeber alt=»Image4.png» embedtype=»image» format=»fullwidth» id=»1735″]

Configurar el valor en una VM de manera individual:

Get-VM <nombre_de_nuestra_VM> | New-AdvancedSetting -Name «log.keepOld» -value «10» -Confirm:$false -forceGet-VM <nombre_de_nuestra_VM> | New-AdvancedSetting -Name «log.rotateSize» -value «2000000» -Confirm:$false -force

[embeber alt=»Image5.png» embedtype=»image» format=»fullwidth» id=»1736″]

Ya por último, si queremos configurar todas nuestras VM de nuestro clúster:

ForEach ($VM in $VMs) { Get-VM $VM | New-AdvancedSetting -Name «log.keepOld» -value «10» -Confirm:$false -forceGet-VM $VM | New-AdvancedSetting -Name «log.rotateSize» -value «2000000» -Confirm:$false -force }Hasta aquí mi aportación de hoy…

Y vosotros, ¿tenéis alguna anécdota relacionada con el crecimiento incontrolado de logs?

Un saludo y gracias por leer nuestro blog
@miquelMariano

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *