Cabecera PRINCIPAL

Claves: técnico, redes, networks, microsoft, open source, gnu, programador, software, hardware, desarrolladores

Juan Enrique Gómez Péérez

lunes, 23 de agosto de 2010

Monitorización de Hosts Hyper-V Server con Nagios

Desde hace bastante tiempo he estado usando Nagios para la monitorización de mis propias máquinas así como la de algunos clientes para los que trabajo. Todo ha ido perfectamente hasta que hace unos meses comenzamos a desplegar en algunos de ellos Hyper-V Server o Hyper-V Server R2.

Esto hizo que los monitores habituales de uso de procesador así como de memoria dejaran de funcionar, despues de bastante investigación vimos que la falta de roles en estos sistemas también ha acabado con los contadores (performance counter logs) sobre todo los que dependen de las instancias "Processor" y "Memory".

El cliente NSClient++ por defecto monitoriza el contador "\Processor(_Total)\%Processor Time" el cual como he comentado en las versiones de Hyper-V Server ha desaparecido, para darnos una visión mucho más granular sobre la monitorización del procesador (podemos ver, a nivel logico de procesador, de core, el uso por máquina virtual, etc.). En este caso deberemos monitorizar la siguiente instancia que nos dará la información que estamos buscando:

"\Hyper-V Hypervisor Virtual Processor(_Total)\% Total Run Time"

Con esta entrada tendremos la visibilidad que estamos buscando sobre el consumo global del procesador a nivel de Host. Para hacer que el cliente NSClient++ monitorize esa entrada WMI simplemente editaremos el fichero NSC.ini que se encuentra en el directorio donde hemos instalado el cliente. En el encontraremos una sección denominada [Check System] (y si no estuviera la añadimos) e incluiremos esta linea:

SystemTotalProcessorTime="\Hyper-V Hypervisor Virtual Processor(_Total)\%Total Run Time"

Reinicia el servicio, y ¡voila!. Queda la linea de la memoria pero esa la dejo para ti.

Saludos.

domingo, 15 de agosto de 2010

Ampliación de discos VHD con Instantáneas (parte 1)

Nuevamente vamos a intentar retomar la disciplina de al menos semanalmente incluir un nuevo artículo en este blog. El principal motivo de la demora se debe a que el objetivo final era plasmar en este blog las incidencias atípicas o complejas que como técnico me surgían día a día y como las habíamos resuelto. Desgraciadamente en los últimos tiempos mi vida está en otros lares más que solucionar incidentes en la gestión y organización del equipo de técnicos que tengo en la empresa para la que trabajo. Bueno al lio.

Esta vez el problema que teníamos era el siguiente, servidor virtual sobre Hyper-V (corriendo en un Windows 2008 R2) con varias máquinas virtuales, una de ellas en su volumen E: se había quedado sin espacio suficiente y teníamos que ampliarlo. Utilizando el asistente de la consola de Hyper-V acometieron la ampliación del fichero VHD con éxito, todo funcionó a la perfección.

El problema vino cuando los usuarios nos reportaron que les faltaba información entre dos fechas concretas (más o menos unos 15 días), es decir el último dato que tenían era de hace 15 días, y volvían a tener información desde el mismo día de la ampliación pero en medio no había ni un solo byte.

Tras una pequeña investigación nos dimos cuenta que habíamos cometido un grave error de novato, vamos con la parte técnica. En Hyper-V al igual que en otros sistemas de virtualización permiten obtener instantáneas de la máquina virtual, esto implica básicamente que el sistema congela el fichero que contiene el volumen del que obtenemos la máquina virtual (.VHD en el caso de Hyper-V) y crea un nuevo disco diferencial en el que va guardando los cambios a partir de ese momento (en Hyper-V son ficheros .AVHD), si creáramos una nueva instantánea el sistema congelaría el anterior fichero diferencial y crearía un nuevo fichero diferencial (nuevo fichero .AVHD).

El problema en las soluciones Hyper-V es que cuando ampliamos el disco hay que tener en cuenta previamente que NO TENGAS INSTANTANEAS CREADAS. Es condición imprescindible que los ficheros de disco del volumen que vas a realizar la ampliación están ya consolidados (recuerda que para consolidar los discos debes eliminar las instantáneas que existan, y apagar la máquina para que el sistema comience la consolidación de los discos).

Nuestro problema empieza a verse claro, se realizó la ampliación del volumen sin haber eliminado si quiera las instantáneas que existían, y mucho menos haber consolidado los discos avhd con el vhd original. El sistema amplio el fichero vhd y lo puso en la máquina virtual como el nuevo disco valido, descartando de esta manera los ficheros diferenciales que existían y por tanto perdiendo los datos desde ese momento hasta la fecha en que se hizo la primera instantánea (15 días en nuestro caso).

Ahora si te ha ocurrido algo como esto tienes un problema, si tienes un backup reciente, no es tal problema, pero si resulta que no hay backup de ese volumen y además te das cuenta varios días después del problema (aquí había un fin de semana por en medio), tienes que recuperar la información que has perdido de alguna manera, ya que en la ampliación del volumen VHD el sistema no borra los ficheros AVHD pero los desune del vhd original. Así que tu información está pero no es accesible. Dos soluciones:

- Solución 1: Deshacer los cambios y dejar el volumen como estaba incluyendo los ficheros AVHD.

- Solución 2: Obtener la información que necesitamos extrayéndola de los ficheros AVHD.


fin [fin parte 1]