Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cree una máquina virtual mediante la conexión de un disco no administrado especializado como disco del sistema operativo mediante PowerShell. Un disco especializado es una copia de un VHD de una máquina virtual existente que mantiene las cuentas de usuario, las aplicaciones y otros datos de estado de la máquina virtual original.
Tiene dos opciones:
Opción 1: Cargar un VHD especializado
Puede cargar el VHD desde una máquina virtual especializada creada con una herramienta de virtualización local, como Hyper-V, o una máquina virtual exportada desde otra nube pública.
Preparación de la máquina virtual
Puede cargar un VHD especializado que se creó mediante una máquina virtual local o un disco duro virtual exportado desde otra nube. Un disco duro virtual especializado mantiene las cuentas de usuario, las aplicaciones y otros datos de estado de la máquina virtual original. Si piensa usar el disco duro virtual as-is para crear una máquina virtual, asegúrese de que se han completado los pasos siguientes.
- Prepare un disco duro virtual de Windows para cargarlo en Azure. No generalice la máquina virtual mediante Sysprep.
- Quite las herramientas y agentes de virtualización de invitado que estén instalados en la máquina virtual (es decir, las herramientas de VMware).
- Asegúrese de que la máquina virtual está configurada para extraer su dirección IP y la configuración de DNS a través de DHCP. Esto garantiza que el servidor obtiene una dirección IP dentro de la red virtual cuando se inicia.
Obtención de la cuenta de almacenamiento
Necesita una cuenta de almacenamiento en Azure para almacenar la imagen de máquina virtual cargada. Puede usar una cuenta de almacenamiento existente o crear una nueva.
Para mostrar las cuentas de almacenamiento disponibles, escriba:
Get-AzStorageAccount
Si desea usar una cuenta de almacenamiento existente, vaya a la sección Cargar la imagen de máquina virtual.
Si necesita crear una cuenta de almacenamiento, siga estos pasos:
Necesita el nombre del grupo de recursos donde se debe crear la cuenta de almacenamiento. Para averiguar todos los grupos de recursos que se encuentran en la suscripción, escriba:
Get-AzResourceGroupPara crear un grupo de recursos denominado myResourceGroup en la región Oeste de EE. UU ., escriba:
New-AzResourceGroup -Name myResourceGroup -Location "West US"Cree una cuenta de almacenamiento denominada mystorageaccount en este grupo de recursos mediante el cmdlet New-AzStorageAccount :
New-AzStorageAccount -ResourceGroupName myResourceGroup -Name mystorageaccount -Location "West US" ` -SkuName "Standard_LRS" -Kind "Storage"
Sube el VHD a tu cuenta de almacenamiento
Use el cmdlet Add-AzVhd para cargar la imagen en un contenedor de la cuenta de almacenamiento. En este ejemplo se carga el archivo myVHD.vhd desde "C:\Users\Public\Documents\Virtual hard disks\" a una cuenta de almacenamiento denominada mystorageaccount en el grupo de recursos myResourceGroup . El archivo se colocará en el contenedor denominado mycontainer y el nuevo nombre de archivo será myUploadedVHD.vhd.
$rgName = "myResourceGroup"
$urlOfUploadedImageVhd = "https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd"
Add-AzVhd -ResourceGroupName $rgName -Destination $urlOfUploadedImageVhd `
-LocalFilePath "C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd"
Si se ejecuta correctamente, obtendrá una respuesta similar a la siguiente:
MD5 hash is being calculated for the file C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd.
MD5 hash calculation is completed.
Elapsed time for the operation: 00:03:35
Creating new page blob of size 53687091712...
Elapsed time for upload: 01:12:49
LocalFilePath DestinationUri
------------- --------------
C:\Users\Public\Doc... https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd
En función de la conexión de red y del tamaño del archivo VHD, este comando puede tardar un tiempo en completarse.
Opción 2: Copiar el disco duro virtual de una máquina virtual de Azure existente
Puede copiar un VHD a otra cuenta de almacenamiento para utilizar al crear una nueva máquina virtual duplicada.
Antes de empezar
Asegúrese de que:
- Tenga información sobre las cuentas de almacenamiento de origen y destino. Para la máquina virtual de origen, necesita tener la cuenta de almacenamiento y los nombres de los contenedores. Normalmente, el nombre del contenedor será vhds. También debe tener una cuenta de almacenamiento de destino. Si aún no tiene uno, puede crear uno mediante el portal (Agregar todas las cuentas > de almacenamiento de servicios>) o mediante el cmdlet New-AzStorageAccount.
- Ha descargado e instalado la herramienta AzCopy.
Desasignación de la máquina virtual
Libere los recursos de la máquina virtual, lo que libera el disco duro virtual para que se pueda copiar.
- Portal: haga clic en Máquinas virtuales>myVM> Stop
- Powershell: use Stop-AzVM para detener (desasignar) la máquina virtual denominada myVM en el grupo de recursos myResourceGroup.
Stop-AzVM -ResourceGroupName myResourceGroup -Name myVM
El estado de la máquina virtual en Azure Portal cambia de Detenido a Detenido (desasignado).
Obtención de las direcciones URL de la cuenta de almacenamiento
Necesita las direcciones URL de las cuentas de almacenamiento de origen y destino. Las direcciones URL tienen el siguiente aspecto: https://<storageaccount>.blob.core.windows.net/<containerName>/. Si ya conoce la cuenta de almacenamiento y el nombre del contenedor, simplemente puede reemplazar la información entre los corchetes para crear la dirección URL.
Puede usar Azure Portal o Azure Powershell para obtener la dirección URL:
- Portal: haga clic en > para Todos los servicios>Cuentas de almacenamiento>cuenta de almacenamiento>Blobs, y su archivo VHD de origen probablemente esté en el contenedor vhds. Haga clic en Propiedades para el contenedor y copie la dirección URL etiquetada. Necesitará las direcciones URL de los contenedores de origen y destino.
- Powershell: use Get-AzVM para obtener la información de la máquina virtual denominada myVM en el grupo de recursos myResourceGroup. En los resultados, busque en la sección Perfil de almacenamiento para el Vhd Uri. La primera parte del URI es la dirección URL del contenedor y la última parte es el nombre del disco duro virtual del sistema operativo para la máquina virtual.
Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
Obtención de las claves de acceso de almacenamiento
Busque las claves de acceso de las cuentas de almacenamiento de origen y destino. Para más información sobre las claves de acceso, consulte Acerca de las cuentas de almacenamiento de Azure.
- Portal: haga clic en Todos los servicios>Cuentas de almacenamiento>cuenta de almacenamiento>Claves de acceso. Copie la clave etiquetada como key1.
- Powershell: use Get-AzStorageAccountKey para obtener la clave de almacenamiento de la cuenta de almacenamiento mystorageaccount en el grupo de recursos myResourceGroup. Copie la clave etiquetada como key1.
Get-AzStorageAccountKey -Name mystorageaccount -ResourceGroupName myResourceGroup
Copia el VHD
Puede copiar archivos entre cuentas de almacenamiento mediante AzCopy. Para el contenedor de destino, si el contenedor especificado no existe, se creará automáticamente.
Para usar AzCopy, abra una línea de comandos en el equipo local y vaya a la carpeta donde está instalado AzCopy. Será similar a C:\Archivos de programa (x86)\Microsoft SDKs\Azure\AzCopy.
Para copiar todos los archivos de un contenedor, debes utilizar el conmutador /S. Se puede utilizar esto para copiar el VHD del sistema operativo y todos los discos de datos, si están en el mismo contenedor. En este ejemplo se muestra cómo copiar todos los archivos del contenedor mysourcecontainer en la cuenta de almacenamiento mysourcestorageaccount en el contenedor mydestinationcontainer en la cuenta de almacenamiento mydestinationstorageaccount . Reemplace los nombres de las cuentas de almacenamiento y los contenedores por los suyos propios. Reemplace <sourceStorageAccountKey1> y <destinationStorageAccountKey1> por sus propias claves.
AzCopy /Source:https://mysourcestorageaccount.blob.core.windows.net/mysourcecontainer `
/Dest:https://mydestinationatorageaccount.blob.core.windows.net/mydestinationcontainer `
/SourceKey:<sourceStorageAccountKey1> /DestKey:<destinationStorageAccountKey1> /S
Si solo desea copiar un VHD específico en un contenedor que contiene varios archivos, también puede especificar el nombre de archivo mediante la opción /Pattern. En este ejemplo, solo se copiará el archivo denominado myFileName.vhd .
AzCopy /Source:https://mysourcestorageaccount.blob.core.windows.net/mysourcecontainer `
/Dest:https://mydestinationatorageaccount.blob.core.windows.net/mydestinationcontainer `
/SourceKey:<sourceStorageAccountKey1> /DestKey:<destinationStorageAccountKey1> `
/Pattern:myFileName.vhd
Cuando haya terminado, recibirá un mensaje similar al siguiente:
Finished 2 of total 2 file(s).
[2016/10/07 17:37:41] Transfer summary:
-----------------
Total files transferred: 2
Transfer successfully: 2
Transfer skipped: 0
Transfer failed: 0
Elapsed time: 00.00:13:07
Solución de problemas
- Al usar AZCopy, si ve el error "El servidor no pudo autenticar la solicitud", asegúrese de que el valor del encabezado Authorization se forma correctamente, incluida la firma. Si usa la clave 2 o la clave de almacenamiento secundaria, pruebe a usar la clave de almacenamiento principal o 1.
Creación de la nueva máquina virtual
Debe crear redes y otros recursos de máquina virtual que va a usar la nueva máquina virtual.
Creación de la subred y la red virtual
Cree la red virtual y la subred de la red virtual.
Cree la subred. En este ejemplo se crea una subred denominada mySubNet, en el grupo de recursos myResourceGroup y se establece el prefijo de dirección de subred en 10.0.0.0/24.
$rgName = "myResourceGroup" $subnetName = "mySubNet" $singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24Cree la red virtual. En este ejemplo se establece el nombre de la red virtual como myVnetName, la ubicación en Oeste de EE. UU. y el prefijo de dirección de la red virtual en 10.0.0.0/16.
$location = "West US" $vnetName = "myVnetName" $vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location ` -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnetCreación del grupo de seguridad de red y una regla RDP
Para poder iniciar sesión en la máquina virtual mediante RDP, debe tener una regla de seguridad que permita el acceso RDP en el puerto 3389. Dado que el disco duro virtual de la nueva máquina virtual se creó a partir de una máquina virtual especializada existente, una vez creada la máquina virtual, puede usar una cuenta existente de la máquina virtual de origen que tenía permiso para iniciar sesión con RDP. Esto debe completarse antes de crear la interfaz de red con la que se asociará.
En este ejemplo se establece el nombre del grupo de seguridad de red en myNsg y el nombre de la regla RDP en myRdpRule.
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
-Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
-SourceAddressPrefix Internet -SourcePortRange * `
-DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
-Name $nsgName -SecurityRules $rdpRule
Para más información sobre los puntos de conexión y las reglas de NSG, consulte Apertura de puertos a una máquina virtual en Azure mediante PowerShell.
Creación de una dirección IP pública y una NIC
Para habilitar la comunicación con la máquina virtual de la red virtual, necesita una dirección IP pública y una interfaz de red.
Cree la dirección IP pública. En este ejemplo, el nombre de la dirección IP pública se establece en myIP.
$ipName = "myIP" $pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location ` -AllocationMethod DynamicCree la NIC. En este ejemplo, el nombre de la NIC se establece en myNicName. Este paso también asocia el grupo de seguridad de red creado anteriormente con esta NIC.
$nicName = "myNicName" $nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName ` -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
Establecimiento del nombre y el tamaño de la máquina virtual
En este ejemplo se establece el nombre de la máquina virtual en "myVM" y el tamaño de la máquina virtual en "Standard_A2".
$vmName = "myVM"
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize "Standard_A2"
Adición de la NIC
$vm = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
Configuración del disco del sistema operativo
Establezca el URI para el disco duro virtual (VHD) que cargó o copió. En este ejemplo, el archivo VHD denominado myOsDisk.vhd se mantiene en una cuenta de almacenamiento denominada myStorageAccount en un contenedor denominado myContainer.
$osDiskUri = "https://myStorageAccount.blob.core.windows.net/myContainer/myOsDisk.vhd"Agregue el disco del sistema operativo. En este ejemplo, cuando se crea el disco del sistema operativo, el término "osDisk" se anexa al nombre de la máquina virtual para crear el nombre del disco del sistema operativo. En este ejemplo también se especifica que este VHD basado en Windows debe estar conectado a la máquina virtual como disco del sistema operativo.
$osDiskName = $vmName + "osDisk" $vm = Set-AzVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption attach -Windows
Opcional: si tiene discos de datos que deben estar conectados a la máquina virtual, agregue los discos de datos mediante las direcciones URL de los VHD de datos y el número de unidad lógica (Lun) adecuado.
$dataDiskName = $vmName + "dataDisk"
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -VhdUri $dataDiskUri -Lun 1 -CreateOption attach
Cuando se usa una cuenta de almacenamiento, las direcciones URL de disco del sistema operativo y datos tienen un aspecto similar al siguiente: https://StorageAccountName.blob.core.windows.net/BlobContainerName/DiskName.vhd. Para encontrar esto en el portal, vaya al contenedor de almacenamiento de destino, haga clic en el sistema operativo o el disco duro virtual de datos que se copió y, a continuación, copie el contenido de la dirección URL.
Completar la máquina virtual
Cree la máquina virtual con las configuraciones que acabamos de crear.
#Create the new VM
New-AzVM -ResourceGroupName $rgName -Location $location -VM $vm
Si este comando se realizó correctamente, verá un resultado similar al siguiente:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
Comprobación de que se creó la máquina virtual
Debería ver la máquina virtual recién creada en Azure Portal, en Todos los servicios>Máquinas virtuales o mediante los siguientes comandos de PowerShell:
$vmList = Get-AzVM -ResourceGroupName $rgName
$vmList.Name
Pasos siguientes
Inicie sesión en la nueva máquina virtual. Para obtener más información, consulte Conexión e inicio de sesión en una máquina virtual de Azure que ejecuta Windows.