Importando Máquina Virtual con PowerShell Hyper-v

#Nombre del Servidor hyper-v
$HyperVHostOrigen="hyperv-01"
#Carpeta donde reside el Export Anterior
$dirMaquina = "D:BackupBackup_2009_7_62008"
#Instanciamos el Servicio de VMM
$VM_Service = get-wmiobject -computer $HyperVHostOrigen -namespace rootvirtualization -class Msvm_VirtualSystemManagementService
#Importamos la maquina
$Status = $VM_Service.ImportVirtualSystem("$dirmaquina", $True) 
If ($status.ReturnValue -eq 4096)
{
   
$Job = [WMI]$Status.Job
   
$JobStatus = $Job.JobState
   
while ($JobStatus -ne 7)
   
{
       
sleep(1)
       
$Job = [WMI]$Status.Job
       
$JobStatus = $Job.JobState
       
echo $job.PercentComplete
   
}
}
 

Exportar Maquinas Virtuales con PowerShell +WMI

Hola a todos, les dejo este scripts que les puede servir para automatizar el respaldo de sus maquinas virtuales con hyper-v, solamente queda meterlo en el programador de tareas y lanzarlo las veces que quieran.
Recuerden que para exportar una maquina esta debe estar apagada o en estado guardado, asiq mientras se realiza la exportación la maquina queda sin conectividad
#Selecciono el hyper-v de Origen puede ser hyper-v en modo core o GUI
$HyperVHostOrigen=«hyperv-01»
#Nombre de la maquina virtual a respaldar
$MasterVM=«2008»
#Carpeta de destino del respaldo
$fecha = get-date
$dirMaquina = «D:Backup» + «Backup_» + $fecha.year + «_» + $fecha.month + «_» + $fecha.day 

$VM_Service = get-wmiobject -computer $HyperVHostOrigen -namespace rootvirtualization -class Msvm_VirtualSystemManagementService
$SourceVm = Get-WmiObject -Namespace rootvirtualization -Query «Select * From Msvm_ComputerSystem Where ElementName=’$MasterVM'» -ComputerName $HyperVHostOrigen
#Nos aseguramos que la maquina quede en estado Guardado
$SourceVm.RequestStateChange(32769)
#Le damos unos 15 segundos para que se pueda gurdar la maquina 
sleep(15)
#Exportamos la maquina virtual
$Status = $VM_Service.ExportVirtualSystem($SourceVm.__PATH, $True, $dirMaquina) 

#Generamos un par de validaciones para ver cuando se termine el trabajo
If ($status.ReturnValue -eq 4096)
{
   
$Job = [WMI]$Status.Job
   
$JobStatus = $Job.JobState
   
while ($JobStatus -ne 7)
   
{
       
sleep(1)
       
$Job = [WMI]$Status.Job
       
$JobStatus = $Job.JobState
       
echo $job.PercentComplete
   
}
}
#Iniciamos la amquina virtual
$SourceVm.RequestStateChange(2)

 

image

PD: Los valores de los RequestStateChange los saque del sitio de MSDN http://msdn.microsoft.com/en-us/library/cc723874%28VS.85%29.aspx

Administrando SnapShots con PowerShell + Wmi

Estos Script los saque de
http://blogs.msdn.com/taylorb/archive/2008/06/16/hyper-v-wmi-creating-applying-deleting-virtual-machine-snapshots.aspx

Modifique algunas cosas, ya que en la infraestructura de prueba tenemos 2 Hyper-v Server que no tienen powershell y otro hyper-v full que si la tiene, estos scripts se ejecutan desde un servidor remoto a los hyper-v Server que no tienen PS

Tomando SnapShots

#Servidor de Hyper-v
$SERVER_HOST = "hyperv-01"
#Nombre de la VM
$MasterVM = "2008"
 
$VM_Service = get-wmiobject -computer $SERVER_HOST -namespace rootvirtualization -class Msvm_VirtualSystemManagementService
$SourceVm = Get-WmiObject -Namespace rootvirtualization -Query "Select * From Msvm_ComputerSystem Where ElementName=’$MasterVM’" -ComputerName $SERVER_HOST
$result = $VM_Service.CreateVirtualSystemSnapshot($SourceVm)

Eliminando Snpashot de mas de 7 días de antigüedad

#Servidor de Hyper-v
$SERVER_HOST = "hyperv-01"
#Nombre de la VM
$MasterVM = "2008"
$VM_Service = get-wmiobject -computer $SERVER_HOST -namespace rootvirtualization -class Msvm_VirtualSystemManagementService
$SourceVm = Get-WmiObject -Namespace rootvirtualization -Query "Select * From Msvm_ComputerSystem Where ElementName=’$MasterVM’" -ComputerName $SERVER_HOST
$Snapshots = Get-WmiObject -Namespace rootvirtualization -Query "Associators Of {$SourceVm} Where AssocClass=Msvm_ElementSettingData ResultClass=Msvm_VirtualSystemSettingData" -ComputerName $SERVER_HOST
foreach ($Snapshot in $Snapshots)
{
   
$NombreFecha=$Snapshot.ElementName
   
$Fecha=$NombreFecha.Substring($MasterVM.Length+4,10)
   
if ((Get-date).AddDays(-1) -gt ([datetime]::ParseExact($Fecha, "dd-MM-yyyy", $null))) 
   
{
       
$result = $VM_Service.RemoveVirtualSystemSnapshot($Snapshot) 
   
} 
}

[Evento] CHILE – Conferencia Técnica Grupo Usuarios en Concepción: Sácale el jugo a la Virtualización

Hola a todos
Este 27 de Octubre desde las 19:00 hrs a las 22:00 en la sede San Andrés de DuocUC en Concepción estaremos presentando la conferencia “Sácale el jugo a la Virtualización ”
Mitad desde Santiago desde el auditorio de Sonda y Mitad desde Concepción desde DuocUC

Asiq los esperamos a todos… prometemos FULL demos junto a Gonzalo Balladares

Toda la información y registro ACA

hyper-v-drink[1]                        sedeconcepcion[1]

hyper-v Acceso denegado al montar un Iso por la red

Como Solucionar este típico problema ?????

image
Tengo 2 maquinas, una llamada hyper-v-001, la cual tiene Hyper-v, otra llamada Server2003, la cual es n FileServer y tiene una carpeta isos l acual esta compartida en la red

\Server2003isoswindows_server_2008_r2x64_dvd_x15-59754.iso

image

En la carpeta isos del Server2003 le doy permisos de carpeta compartida y NTFS al Server Hyper-v-001… pero la cosa sigue sin funcionar.

Ahora me voy a active directory y le doy doble click a la cuenta de la maquina Hyper-v-001 y voy a la pestaña de delegación y selecciono:

a) Confiar en este equipo para la delegación ……..
b) Agregar
c) Selecciono el botón “Usuario o equipos” y busco el equipo Server2003

imageimage

d) Busco el tipo se servicio cifs

 image image

 

 

 

 

e) Aceptar
f) Aplicar

Listo …. ahora podemos montar isos y discos duros VHDs desde nuestro FileServer

Linux Suse 10 Hyper-v Integration Components + mouse en acción

En suse linux con el DVD puesto .. ejecutamos el yast

Vamos a gestión de software y buscamos por kernel e instalamos el Kernel-source y después el gcc

image image
image image
image

Ahora vamos a la pagina https://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ab7f4983-93c5-4a70-8c79-0642f0d59ec2 y descargamos los Integration components para Linux

Insertamos el Iso de Linux_IC y lo copiamos a una carpeta local

mkdir LIC
cp –r /media/cdrom/* LIC/

Ejecutamos el instalador con el parámetro drivers

./setup.pl drivers

 

image

Después vamos al proyecto satori de XEN para bajar el driver del Mouse

http://www.xen.org/download/satori.html

Insertamos el Iso de satori y lo copiamos a una carpeta local

mkdir satori
cp –r /media/cdrom/* satori/

Ejecutamos el instalador sin parámetros y listo

./setup.pl

image

 

Reiniciamos

Probamos si todo esta ok con el comando

lsmod|grep vm

image

Y vemos que el modulo vmbus esta listo en el kernel

Ahora nuestro HW paso de Emulado a Sintético