October 2009 - Artículos
#Nombre del Servidor hyper-v
$HyperVHostOrigen="hyperv-01"
#Carpeta donde reside el Export Anterior
$dirMaquina = "D:\Backup\Backup_2009_7_6\2008"
#Instanciamos el Servicio de VMM
$VM_Service = get-wmiobject -computer $HyperVHostOrigen -namespace root\virtualization -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
}
}
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 root\virtualization -class Msvm_VirtualSystemManagementService
$SourceVm = Get-WmiObject -Namespace root\virtualization -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)

PD: Los valores de los RequestStateChange los saque del sitio de MSDN http://msdn.microsoft.com/en-us/library/cc723874%28VS.85%29.aspx
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 root\virtualization -class Msvm_VirtualSystemManagementService
$SourceVm = Get-WmiObject -Namespace root\virtualization -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 root\virtualization -class Msvm_VirtualSystemManagementService
$SourceVm = Get-WmiObject -Namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='$MasterVM'" -ComputerName $SERVER_HOST
$Snapshots = Get-WmiObject -Namespace root\virtualization -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)
}
}
Hola a todos, subo a pedido del publico las ppts de la conferencia “Sacale el jugo a la Virtualizacion”, espero les guste y nos vemos en un nuevo evento por ahy…..
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
![sedeconcepcion[1] sedeconcepcion[1]](http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pcampos/sedeconcepcion1_5F00_thumb_5F00_44DE1D27.jpg)
Como Solucionar este típico problema ?????
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
\\Server2003\isos\windows_server_2008_r2x64_dvd_x15-59754.iso
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

d) Busco el tipo se servicio cifs
e) Aceptar
f) Aplicar
Listo …. ahora podemos montar isos y discos duros VHDs desde nuestro FileServer
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
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
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
Reiniciamos
Probamos si todo esta ok con el comando
lsmod|grep vm
Y vemos que el modulo vmbus esta listo en el kernel
Ahora nuestro HW paso de Emulado a Sintético