Share via


Windows PowerShell: Creación de máquinas virtuales con Hyper-V

Puede utilizar Hyper-V y Windows PowerShell 3.0 para crear, configurar y administrar tu maquina virtual fácilmente.

Neil Tucker

Una de las mejores nuevas características de Windows 8 y Windows Server 2012 es Hyper-V versión 3.0. No se limite a Virtual PC (con no hay soporte para sistemas operativos de 64-bit) abrirá muchas nuevas posibilidades, especialmente para aquellos que trabajan en el cliente de Windows 8. Si usted necesita trabajar con máquinas virtuales de Hyper-V (VMs) sobre una base regular, siendo capaces de funcionar en el mismo escritorio donde haces todo lo demás es una gran razón para actualizar a Windows 8. También te beneficiarás de poder utilizar imágenes de 64 bits en un escritorio de cliente.

Ahora puede utilizar un módulo nativo de Windows PowerShell 3.0 para configurar y administrar sus VMs. Esto es nuevo para Hyper-V 3.0. Para hacer esto para Hyper-V 2.0 en Windows Server 2008, tienes que descargar el módulo de Windows PowerShell desde CodePlex. Usted puede encontrar instrucciones detalladas sobre cómo hacer esto en uno de mi pasado TechNet Magazine artículos, "crear las máquinas virtuales Hyper-V con Windows PowerShell," que le mostrará cómo crear máquinas virtuales utilizando el módulo de Windows PowerShell 3.0 Hyper-V en Windows 8 o Windows Server 2012.

En el desarrollo de un curso de Microsoft Learning sobre este tema, he creado una secuencia de comandos de Windows PowerShell diseñado para ayudarle a crear máquinas virtuales. Usaré una versión simplificada de script para mostrar cómo puede crear rápidamente su propio. Miraré también formas de obtener el mejor rendimiento de las VMs correctamente utilizando algunas de las opciones de configuración disponibles. En primer lugar, usted necesita instalar la función Hyper-V en el sistema.

Configurar Hyper-V

Siga estos pasos para instalar la función Hyper-V en Windows 8 o Windows Server 2012. El sistema debe utilizar un procesador de 64 bits, soporte de virtualización asistida por hardware y prevención impuestas por el hardware de ejecución de datos (DEP). Tendrás que realizar estos pasos desde una consola Windows PowerShell abrió con credenciales de administrador completo:

  1. Ejecute el comando Enable-WindowsOptionalFeature –Online –FeatureName Microsoft-Hyper-V (o Dism /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V /All).
  2. Verificar que no había ningún error.
  3. Apague y reinicie el ordenador.
  4. Sesión nuevamente en el sistema con una cuenta de administrador.

El módulo de Hyper-V Windows PowerShell está instalado cuando se configura el papel. Para usar los cmdlets, añadir el módulo a una consola Windows PowerShell (módulo de importación Hyper-V). Entonces usted tendrá que verificar que los cmdlets disponibles (Get-Command –Module Hyper-V). Antes de usar cualquier cmdlets, compruebe que está ejecutando el servicio de "Administración de máquinas virtuales Hyper-V" (tipos de Get-Service). Debe ejecutar todos los cmdlets de Windows PowerShell de Hyper-V con privilegios de administrador.

Configurar sus VMs

El script que se muestra en la figura 1 crea y configura dos VMs. Uso de variables resulta más fácil personalizar y estandarizar el proceso. Para instalar automáticamente el sistema operativo, crear un archivo autounattend.xml en el disco que la imagen ISO OS utilizará. Si usted no va a utilizar este método de instalación, retire los cmdlets Set-VMDvdDrive y Set-FloppyDiskDrive. Nueva-VM se puede utilizar para crear cada VM. Este script también creará un DVD y disquetera, aunque no señalaron.

Figura 1 este script le ayudará a crear y configurar dos VMs.

# This script configures the Hyper-V machines used for the 50331 Course. # PowerShell 3.0 and Windows Server 2012 or Windows 8 Pro are required to perform this setup. # The C:\ Drive should have at least 200GB of free space available. # All the files on the 50331 Student CD should be copied to C:\Labfiles before performing this setup. # Variables $CLI1 = "50331-CUSTOM-CLI" # Name of VM running Client Operating System $SRV1 = "50331-CUSTOM-SRV" # Name of VM running Server Operating System $CRAM = 2GB # RAM assigned to Client Operating System $SRAM = 1GB # RAM assigned to Server Operating System $CLI1VHD = 80GB # Size of Hard-Drive for Client Operating System $SRV1VHD = 40GB # Size of Hard-Drive for Server Operating System $VMLOC = "C:\HyperV" # Location of the VM and VHDX files $NetworkSwitch1 = "PrivateSwitch1" # Name of the Network Switch $W7ISO = "C:\Labfiles\Windows7.iso" # Windows 7 ISO $W7VFD = "C:\Labfiles\Windows7.vfd" # Windows 7 Virtual Floppy Disk with autounattend.xml file $WSISO = "C:\Labfiles\W2K8R2.iso" # Windows Server 2008 ISO $WSVFD = "C:\Labfiles\W2K8R2.vfd" # Windows Server 2008 Virtual Floppy Disk with autounattend.xml file # Create VM Folder and Network Switch MD $VMLOC -ErrorAction SilentlyContinue $TestSwitch = Get-VMSwitch -Name $NetworkSwitch1 -ErrorAction SilentlyContinue; if ($TestSwitch.Count -EQ 0){New-VMSwitch -Name $NetworkSwitch1 -SwitchType Private} # Create Virtual Machines New-VM -Name $CLI1 -Path $VMLOC -MemoryStartupBytes $CRAM -NewVHDPath $VMLOC\$CLI1.vhdx -NewVHDSizeBytes $CLI1VHD -SwitchName $NetworkSwitch1 New-VM -Name $SRV1 -Path $VMLOC -MemoryStartupBytes $SRAM -NewVHDPath $VMLOC\$SRV1.vhdx -NewVHDSizeBytes $SRV1VHD -SwitchName $NetworkSwitch1 # Configure Virtual Machines Set-VMDvdDrive -VMName $CLI1 -Path $W7ISO Set-VMDvdDrive -VMName $SRV1 -Path $WSISO Set-VMFloppyDiskDrive -VMName $CLI1 -Path $W7VFD Set-VMFloppyDiskDrive -VMName $SRV1 -Path $WSVFD Start-VM $SRV1 Start-VM $CLI1

Utilizando los parámetros para nueva-VM, puede dar cada imagen un nombre, ubicación, asignación de memoria, disco duro y conexión de red. Es necesario definir el interruptor de red virtual (New-VMSwitch) antes de crear una conexión de red en la máquina virtual. El ambiente de Hyper-V puede apoyar varios conmutadores de red virtual con el mismo nombre, así que verifique que el interruptor de red solicitadas ya no existe mediante la variable $ de TestSwitch antes de crear una nueva.

Además puede configurar de su sistema memoria y disco duro para mejorar el rendimiento. Use Set-VMMemory para configurar las opciones de memoria dinámica (por ejemplo, puede asignar opciones arranque mínimo y máximo de la memoria). Esto es muy útil en sistemas que soportan múltiples imágenes.

Use el cmdlet New-VHD para crear un disco fijo o dinámico, con base y comparación de opciones de disco, o para gestionar tamaños de bloque y sector. Los discos dinámicos son predeterminadas. Puede crear estos rápidamente, pero los discos fijos proporcionan mejor rendimiento.

Independientemente de las opciones que se utiliza para configurar el disco duro, debes aprovechar el nuevo formato de VHDX. Puede que no necesite un disco duro de 64 TB (el formato de disco duro Virtual, o VHD, está limitado a 2 TB), pero las nuevas capacidades de registro significan menos errores, si hay una falla de sistema o poder.

Documentación de Microsoft indica que VHDX unidades pueden correr más rápido que el VHD. (Yo esto confirmado en pruebas que funcionó en dos ordenadores). También puede convertir discos duros virtuales existentes en VHDX o viceversa usando Convert-VHD o el administrador de Hyper-V.

Como puede ver, con este script para crear máquinas virtuales con Windows PowerShell es relativamente fácil y requiere solamente algunos cmdlets. Para cualquier persona que trabaja con imágenes en una plataforma de cliente o servidor, esto abre nuevas posibilidades al administrar una prueba virtual, seguridad y medio ambiente de implementación.

Neil R. Tucker

Neil R. Tucker es un MCT con años de experiencia impartiendo clases de Windows PowerShell, SQL Server y sistema operativo Windows. Es el autor del curso de Microsoft Learning 50331, escrito para técnicos de soporte de escritorio de Windows 7. Puede ser contactado a través de su sitio Web en neiltucker.com.

Contenido relacionado