>Eleminar snapshot de Hyper-V

>

Esta vez he tenido un problema muy grave por no hacer caso a las recomendaciones….
¡ No utilizar las 
SnapShots para maquinas en producción !
Pero al final pues las utilice «hago una copia por si acaso» …. no nos engañemos: No son copias de seguridad ni muchísimo menos. En mi caso me encontré con mas de 100Gb de maquina virtual cuando en realidad no llegaba a 5Gb. Y es que las SnapShot funcionan así:
Funcionamiento de las instantáneas.
El fichero .vhd original no se modifica, se añade un nuevo archivo .avhd que contiene las modificaciones respecto al original, una especie de disco incremental similar al de Virtual PC. estos discos se van acumulando con cada nueva instantánea llegando a ser inmanejable.
Teoricamente si borras un snapshot y apagas la máquina, este desaparece, el .avhd se elimina o se junta con el .vhd. Yo intente borrar todas las instantáneas con el administrador de Hyper V, pero aun eliminando todas, me seguían quedando ficheros…y gordos.
Juntar instantáneas con la utilidad de edición de discos.
Encontré una solución: Juntar el disco incremental con el original a mano. La teoría fácil, editamos el disco,
buscamos el ultimo disco incremental, que se suele encontrar por la fecha…… a no ser que tengamos un autentico árbol de instantáneas. (como yo). Entonces un paso mas, buscarlo en el .xml
Ya lo he encontrado, pues nada, a darle al merge 
Elegimos con el disco «padre» que el asistente es muy listo y lo encuentra solito.
… y ya te ilusionas, porque lo hace solito.
Pero la verdad es que funciona! y funciona bien cuando solo tienes una instantánea….. pero cuando tienes muchas y en árbol &nbs
p;(instantáneas de instantáneas) es un método que no nos funcionará.
Así que la providencia me ilumino y probé una idea peregrina que al final funciono. Lo descrivo en la siguiente entrada:

>Eliminar servicios de integración de las maquinas virtuales

>He tenido problemas (y grandes) por el tema de los servicios de integración.

Los servicios de integración son los servicios que instalamos en una máquina virtual para poder realizar ciertas tareas desde el host.
Los problemas que he tenido han sido al tratar de importar VM de por ejemplo Virtual PC o Virtual server a Hyper V o al transformar una máquina fisica en una virtual para Hyper V.
El primer problema es que los servicios de integración de cada modo de VM son diferentes y Hyper V solo funciona con los sullos.

identificar el proceso de una Maquina Virtual, VM Hyper-V

 

Problema:

Necesitamos saber con precisión cual es el proceso que “ejecuta” cada máquina virtual

Nos apoyaremos en las siguientes herramientas:

  • Administrador de Hyper v
  • Process Explorer
  • Administrador de Tareas

El proceso seria el identificar la maquina y luego identificar el proceso:

 

Mirar cual es la maquina

Para mirar cual es la maquina de la que queremos saber el proceso necesitamos un nombre que identifica a la máquina y al proceso, el Virtual Machine DIM.
Hay dos formas.
  • Entrando al directorio de las Maquinas virtuales.
Para ello vamos al directorio donde tenemos la VM y miramos el nombre de la carteta que le ha puesto Windows; ese es el nombre que buscamos.
  • Consultando las propiedades de la Maquina Virtual:
Si le damos a “Examinar” nos lleva a la ruta donde esta uvicada la VM.

Mirar Cual es el proceso que “coincide” con ese nombre, 2formas.

Para mirar Cual es el proceso que “coincide” con ese nombre, 2formas:
Mirando el Administrador de tareas o el Process Explorer (de Sysinternals).
  • Con el Administrador de tareas

deberemos agregar una columna que no la trae por defecto: Línea de comandos

En esta nueva columna vamos a tener la ruta que ejecuta el VMWP.exe
En esta columna viene un identificador que coincide con el nombre de la carpeta de la VM.
  • Con el Process Explorer es Similar:
    
o

Acciones.

      Ya podemos realizar diferente acciones sin temor a confundirnos.
Si lo que queremos es “tirar” la MV porque tiene algún comportamiento anómalo, es tan sencillo como matar el proceso que ya sabemos exactamente cual es.

Enlaces interesantes: Virtual Machine DIM 

>Bus de máquina virtual e integration services

>

Problemas con el bus de máquina virtual e integration services.


El siguiente problema me ha surjido al actualizar un 2008 virtual con todas las actualizaciones, parches y de todo. Microsof tiene que tener sus fallos.

Al reiniciar, pierdo la posibilidad de hacelo por escritorio remoto, asi que lo untento desde el administrador de Hyper-V. Compruevo que no es ni el firewall ni el RDP: es que ni siquiera tiene RED.
Reviso la administracion de dispositivos y descubro que en Dispositivos de sistema hay una entrada que esta con admiración amarilla: Bus de máquina virtual



En las propiedades aparece lo siguiente:

El controlador ‘Bus de máquina virtual’ que el servicio Administración de máquinas virtuales necesita no está instalado o está deshabilitado




Solución

Como veis el problema es por tratarse de una maquina virtual.

Ejecutamos msconfig


  • Seleccionamos la pestaña Arranque (boot)
  • Entramos en el las Opciones Avanzadas
  • Activamos la casilla que dice «Detect HAL«
  • Reiniciar la maquina virtual

Es posible que no se arregle con este procedimiento y necesitemos instalar de nuevo las integration Services. Para lo cual dependiendo del sistema operativo que poseamos, sera diferente. Si es 2003, tendremos que des instalarlas y volver a instalarlas.
Si tenemos 2008, las integration Srvices vienen dentro del SSOO, asi que no deberían de hacer falta. No obstante si estas fallasen deberíamos reparar el 2008 con el disco de instalación.


Epero que os funcione.



Hacer BackUp de maquinas virtuales

Backup de una sola Maquina Virtual de Hyper-V

 

Problema:

Necesito respaldar una sola maquina virtual, pero, en caliente.

Windows Server Backup puede hacer un backup de «todo» el volumen, pero eso no nos interesa. 

En mi caso:

  • Las maquinas las tengo el el volumen E:\VM
  • La maquina a respaldar se llama Siete
  • Los script y los tengo (los tendré) en C:\BackUpVM

Solución:

Utilizaremos el programa Diskshadow para generar un “snapshot” del Volumen donde residen nuestras maquinas virtuales. Una vez hecho el snapshot, las copiaremos a nuestro servidor mediante robocopy

Requisitos

Primero que todo tenemos que ver si nuestro Hyper-V host tiene bien configurado el Volumen Shadow Copy Service, si no así instalar el siguiente parche

Para comprobarlo, ejecutamos en una consola con privilegios elevados

vssadmin list writers

 Deberíamos encontrar algo así

——————————————————————

 Nombre de editor: ‘Microsoft Hyper-V VSS Writer’

Id. de editor: {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}
Id. de instancia de editor: {0e0b1c16-02f9-45c5-b51d-1d711c5e88ea}
Estado: [5] Esperando finalización
Último error: Sin errores

————————————————————-


Procedimiento

  • Creamos un snapshot
  • Crearemos un unidad Q: temporal como unidad de paso, el alias del volumen D: será Shadow_VM
  • Copiaremos la Maquina virtual entera a una carpeta. (con robocopy)
  • borramos los snapshot
  • borramos la unidad temporal.

Como es una tarea que automatizaremos, iremos guardando los comandos en un .bat:

diskshadow -s D:\BackUpVMshadow.txt

 

———-BackUpVMshadow.txt————
unexpose Q:
delete shadows all
set context persistent
set verbose on
add volume E: alias Shadow_VM
create
expose %Shadow_VM% Q:
exec D:\HypervBK.bat
delete shadows all
unexpose Q:
exit

————————————————-

———————–HypervBK.bat——————————————————————–

robocopy «Q:\VM\Siete» \\servidordearchivos\RespaldosVM\RespaldoSeven *.* /E verify >nul

————————————————————————————————————–

Por último podemos automatizarlo con una tarea programada (ejemplo RespaldaHyperv.bat) que contenga el comando Diskshadow -s

——————RespaldaHyperv.bat———————-

rem Ejecutamos el script para el diskshadow
rem Esto puede tardar bastante tiempo……
diskshadow -s 
BackUpVMshadow.txt

———————————————————————

Ejecución:

Cuando tenemos varias VM modificando unicamente el HypervBK.bat podemos elegir que maquina respaldar y en que ubicación.
SL2

>Problemas en Hyper-V al instalar Antivirus

>

Este problema me vino después de tener una máquina con varias maquinas virtuales. Todo iba bien hasta que decidí poner Antivirus. Mi elección fue Trend Micro, ya que lo tenia ya implantado. Al instalarlo, ningún problema, pero al poco y después de parar maquinas, arrancarlas e incluso reiniciar el servidor por otras causas, ¡me desaparecieron las VM!
En internet ya lei, que a otros les havia pasado lo mismo. El problema es que el antivirus, al escanear en tiempo real, también escanea los *.vhd y esto no le sienta nada bien al hyper-v.
Solución, deshabitar el antivirus, para que no examine ciertas rutas y ciertos archivos.
Esto es lo que he deshabitado:

  • La ruta por defecto de configuración de las VM (C:\ProgramData\Microsoft\Windows\Hyper-V)
  • La ruta de configuración personalizada (en mi caso D:\VM)
  • La ruta de los VHD por defecto: (C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks)
  • La ruta de mis VHD: (en mi caso, tambien D:\VM)
  • Las rutas de los Snapshot (no haria falta porque cuelgan de las anteriores, pero por si acaso)
  • Y los archivos: Vmms.exe y Vmwp.exe
  • Y finalmente (para preveer) el «C:\Clusterstorage» y subdirectorios. Esta ruta se crea en Windows Server 2008 R2 cuando usas Live Migration junto con Cluster Shared Volumes (característica nueva)
Una vez echo esto, reinicie y tuve que rehacer mis maquinas con los vhd de ellas todo fue bien, aunque en internet hay gente que le ha salido el error «0x0800704c8» y ha tenido que recuperarlas de una copia de seguridad.

>Administrar un Hyper-V Server

>

Introducción:

Un Hiper-V server es 2008 CORE, pero solo para Hyper-V (no se pueden añadir mas complementos). Te lo puedes bajar de Microsoft, es gratuito*.

El problema:

Una ves que esta instalado es muy complicado crear las máquinas por línea de comandos (o somos muy vagos). Lo ideal es administrarlo remotamente desde otro ordenador. Si lo ponemos en una red nos damos cuenta enseguida de que tiene el FIREWAL activado ¡no podemos hacerle ni PING!. No nos preocupemos que mucha gente ya se ha topado con este problema.

Solución:

He visto blogs en los que ofrecen soluciones muy buenas con un Script que abre solamente lo necesario. Pero yo voy a dar una solución muy facil, entendible y que pensando podremos recordarla:

Lo primero es configurar brevemente el servidor

Lo haremos desde esta ventanita que nos ofrece en el inicio y pondremos nuestra configuración sin olvidar habilitar la septima opción (RDP).

Despues desde la otra ventanita ejecutaremos unas líneas con el  comando netsh

  • > netsh advfirewall firewall set rule group=»Windows Management Instrumentation (WMI)» new enable=yes 
  • > netsh firewall set service type = remoteadmin mode = enable

De esta forma ya podremos hacer por ejemplo un MSTSC e introducir comandos….o desde otro ordenador (Vista o 2008) administrar con la MMC de Hiper-V. A partir de aquí ya se puede trabajar mínimamente. Si despues decidis a hilar mas fino, volveremos a habilitar el firewal y trataremos de dejarlo lo más cerrado posible.

Script:

  • echo off
  • REM ###############################################
  • REM ###       Habilitar administración          ###
  • REM ###   Configuración para un 2008 Core       ###
  • REM ###              for Hyper-V                ###
  • REM ###############################################

  • REM Habilitar la ad. remota a traves del firewall.(para poder usar las MMC)
  • netsh advfirewall set allprofiles settings remotemanagement enable

  • REM Permitir al grupo administradores remotos
  • netsh advfirewall firewall set rule group=»Remote Administration» new enable=yes

  • REM Permitir RDP a traves del firewall
  • netsh advfirewall firewall set rule group=»Remote Desktop» new enable=yes

  • REM Habilitar RDP para Administrar (todos los tipos)
  • cscript %windir%\system32\scregedit.wsf /AR 0
  • cscript %windir%\system32\scregedit.wsf /CS 0

  • REM Ejecutamos WinRM, interface cliente de WS-MGMT (-q para quiet).
  • winrm quickconfig -q


No puedo abrir una segunda maquina con hyper-V

>Seguro que a todo el mundo le ha pasado, a mi también.

«an error occurred while attempting to change the state of virtual machine XXXXXXXX failed to start
Microsft Emulated IDE Controller (Instance ID xxxxxxxxxxxxxxxx) IDE/ATAPI:Failed to attach media
xxxxxxxxxxxxxxxxxxxx»
Y es que sale un mensaje muy raro de microsoft, pero el problema es muy simple:
No se puede tener dos maquinas «encendidas» las cuales tengan algún recurso en común.
Por ejemplo, lo que me pasaba es que tenia asignado la misma unidad de CD a distintas maquinas. Así que cuando arrancaba individualmente cada máquina si me dejaba. Pero al arrancar dos, pues eso, no se puede.

>IBM x3650 problemas con la virtualización

>Este problema no tiene que ver con el soft, pero me he roto la cabeza y no hay casi nada en la web.

El problema es el mensajito de Windows que dice:
No puede ejecutarse el Hyper-V (en ingles)
– An error ocurred while attempting to change the state of virtual machine XXXX
– XXXX failed to initialize.
– The virtual machine could not be started because the hypervisor is not running.
La solución es que ademas de activar la virtualización del procesador hay que habilitar la opción del bit. Ambas opciones están en la BIOS, en el apartado de «Procesador».
BIOS ->
– Advanced Setup -> CPU Options -> Intel Virtualization Technology -> Enable
– Advanced Setup -> CPU Options -> Execute Disable Bit -> Enable
Las configuramos y ya tenemos Hyper-v en nuestra x3650

Combinaciones de teclas para usar con Hyper-V


El primer dia que use Hyper-V de Microsoft no savia «moverme» ¿Como salir de una máquina Virtual y volver al host?Bueno, aquí esta la solución (solo hay que leer):Combinaciones de teclas para de Hyper-V Beta
Ahora con Hyper-V tenemos la “Virtual Machine Connection” para usarla cuando interactuamos con la máquina virtual (a diferencia de Virtual Server 2005 SP1 que usábamos “VMRC“). Esta nos muestra una ventana con un cliente Remote Desktop para conectarse y es por eso que tenemos que usar combinaciones de teclas un poco diferentes a las que estábamos acostumbrados. El siguiente cuadro muestra alguna de ellas.
Combinación de teclas Standard de Windows
Equivalencia teclas en Virtual Machine
Resultado
CTRL+ALT+SUPR
CTRL+ALT+FIN
Muestra el Task Manager.
ALT+TAB
ALT+Re.Pag
Permite alternar entre los programas de izquierda a derecha.
ALT+SHIFT+TAB
ALT+Av.Pag
Permite alternar entre los programas de derecha a izquierda.
ALT+ESC
ALT+INSERT
Nos mueve entre los programas.
CRTL+ESC
ALT+Inicio
Muestra el Menú Inicio.
N/D
CTRL+ALT+PAUSA
Permite intercambiar entre el modo Full Screen y el modo ventana.
N/D
CTRL+ALT+Espacio
CTRL + ALT + LEFT ARROW
Libera el teclado y el mouse de la ventana de la máquina virtual.
  • Algunas cosas extras a tener en cuenta acerca de las aciones de teclas:
 Por defecto las combinaciones de teclas Standard de Windows no son enviadas a la máquina virtual a menos que nos encontremos en el modo Full Screen. Se puede cambiar esto para que siempre se envíen a la máquina virtual dirigiéndose al panel derecho del Hyper-V Manager MMC y eligiendo la opción Hyper-V Server Settings ——> Keyboard ——> Use on the virtual machine.
Nota: CRTL + ALT + DEL siempre se va hacia la máquina física, por lo tanto necesitamos usar CRTL + ALT + END sin importar lo que cambiemos aquí.Se puede cambiar la Release Key Combination (CRTL + ALT + LEFT ARROW) en el panel derecho del Hyper-V Manager MMC en Hyper-V Server Settings —–> Release Key. Podemos elegir alguna de las opciones presentes en el panel despegable.
hyper-v 9
Se puede cambiar la Release Key Combination CRTL + ALT + LEFT ARROW en el panel derecho del Hyper-V Manager MMC en Hyper-V Server Settings —–> Release Key. Podemos elegir alguna de las opciones presentes en el panel despegable.
hyper-v 9
Si usamos la Virtual Machine Connection bajo una existente Conexión a Escritorio Remoto (lo cuál no es recomendable) este capturará todas las combinaciones de teclas antes de que la Virtual Machine Connection pueda verlas (incluso la Release Key Combination). Para solucionar esto hay que cambiar la Hyper-V Server Setting para permitir a las combinaciones de teclas de Windows ir a la máquina virtual, cambiar la Release Key Combination a alguna otra que no sea CTRL + ALT + LEFT ARROW y usar la barra de herramientas o el menú Acción para enviar CRTL + ALT + DEL a la máquina virtual.