Hyper-V: Tareas básicas con PowerShell
El módulo de Hyper-V para Windows PowerShell en Windows Server 2012 incluye más de 160 cmdlets para automatizar las tareas de administración de Hyper-V.
A continuación se presentan algunas operaciones básicas que realizamos con frecuencia con Hyper-V y como se podrían recrear por medio de PowerShell.
El uso de estos comandos es el punto de partida, sabiendo que se puede construir una serie de secuencias de comandos complejas utilizando varios cmdlets en diferentes escenarios.
Habilitar rol de Hyper-V
Lo primero que podemos verificar es si esta instalado el rol, para ello:
Y habilitamos el rol de la siguiente manera:
Este comando reiniciará el servidor, se recomienda guardar los datos antes de ejecutarlo.
Crear una Maquina Virtual
Lo primero que pensamos cuando hablamos de automatizar tareas en Hyper-V es crear maquinas virtuales.
Vamos a ver que tan fácil es crear uan VM desde PowerShell, con el siguiente comando:
New-VM [[-Name]
\] \[[-MemoryStartupBytes\] ] -NewVHDPath -NewVHDSizeBytes \[-AsJob\] \[-BootDevice \] \[-ComputerName <String[]> \] \[-Path \] \[-SwitchName \] \[ \]
Aca tenemos un ejemplo para crear una VM :
De la misma manera podemos crear un Switch Virtual mediante una sola línea de código, con el siguiente comando:
New-VMSwitch [-Name]
-NetAdapterName [-AllowManagementOS \] \[-ComputerName <String[\]> ] \[-EnableIov \] \[-MinimumBandwidthMode \] \[-Notes \] \[ \]
Este sería un ejemplo para crear un Switch Virtual:
Hyper-V Live Migration:
La migración en vivo con Hyper-V es posible con o sin storage, del mismo modo que si se encuentra en un clúster o no. Se pueden especificar direcciones IP para utilizar exclusivamente en la migración, como también se pueden establecer varias migraciones de maquinas virtuales al mismo tiempo permitiendo una mayor flexibilidad.
Para habilitar Live Migration, simplemente debemos ejecutar:
Para iniciar una migración de una VM, debemos de ejecutar este comando:
Move-VM [-Name]
[-DestinationHost] [-AsJob\] \[-ComputerName <String[\]> ] \[-DestinationStoragePath \] \[-IncludeStorage\] \[-Passthru\] \[-ResourcePoolName \] \[-RetainVhdCopiesOnSource\] \[-SmartPagingFilePath \] \[-SnapshotFilePath \] \[-Vhds <Hashtable[\]> ] \[-VirtualMachinePath \] \[-Confirm\] \[-WhatIf\] \[ \]
Un ejemplo de uso:
Además, dependiendo del ancho de banda, se pueden realizar múltiples migraciones en vivo. Esto puede ser controlado ajustando la cantidad de migraciones utilizando la siguiente linea de PowerShell:
Happy scripting!
Comments