www.radians.com.ar Hola, hoy quería publicar este contenido que es muy interesante que publico en su momento Keith Mayer en su blog en ingles (Blogs TechNet Microsoft). Windows Azure Infrastructure Services proporciona la capacidad de migrar fácilmente a disposición o almacenamiento, máquinas virtuales y redes virtuales de la plataforma global de nube de Windows Azure mediante el uso de una solución rentable con el modelo: Pay-As-You-Go.

La parte 1 la pueden encontrar en: Azure: como crear copias de seguridad de maquinas virtuales con PowerShell

Antes de que empieces

Para tener éxito en el seguimiento de los pasos de este artículo, usted necesita tener primero realizado las siguientes tareas:

  • Activar una suscripción de prueba GRATIS Azure de Windows.
    Inscribite de forma rápida para una prueba gratuita de Windows Azure Trial Subscription http://aka.ms/WindowsAzureFreeTrial.
  • Provisión al menos una máquina virtual en Windows Azure.
    Puede caminar a través de las etapas implicadas en la construcción de un entorno de laboratorio bajo demanda basado en la nube de Windows Azure en http://aka.ms/SP13CloudLab.
  • Crear una copia de seguridad de al menos una máquina virtual en Windows Azure.
    Puede crear rápidamente una copia de seguridad de máquina virtual en Windows Azure utilizando los pasos en el artículo que se encuentre en http://aka.ms/BackupWindowsAzureVM.

image

Empecemos!

Windows PowerShell y su Windows Azure PowerShell Module se pueden utilizar para automatizar la copia de seguridad basada en la nube y restaurar procesos con el cmdlet Start-AzureStorageBlobCopy

Este cmdlet realiza copias "blob-to-blob" en la nube, que le da el poder para copiar rápidamente grandes cantidades de datos sin empujar estos datos hacia atrás y hacia adelante sobre su conexión a Internet. El uso de este cmdlet, podrás hacer copias de seguridad y restaurar discos duros enteros de la máquina virtual en unos pocos minutos o menos!

Para restaurar las máquinas virtuales de Windows Azure, vamos a paso en los siguientes tareas en este artículo:

  • Seleccione la máquina virtual para restaurar
  • Identificar cada disco duro virtual para ser restaurado
  • Dar de baja Virtual Machine para restaurar
  • Restaurar Windows Azure VM OS Disk
  • Restore Windows Azure VM Data Disks
  • Reabastecimiento de máquinas virtuales

Consejo! Para obtener más información sobre los conceptos básicos de Windows Azure servicios de infraestructura, también podría estar interesado en el “Early Experts” Cloud Quest y en nuestro scenario-based “Cloud Labs” step-by-step guides.

Seleccione la máquina virtual para restaurar

La máquina virtual que desea restaurar desde una copia de seguridad previa se puede seleccionar mediante el cmdlet Get-AzureVM . Al ejecutar Get-AzureVM solo devuelve una lista de máquinas virtuales actualmente provisionada en Windows Azure.

Get-AzureVM

www.radians.com.ar

Para seleccionar una determinada máquina virtual, puede pasar el ServiceName y valores de nombre como parámetros y ajustar la salida a una nueva variable PowerShell.

$vm = Get-AzureVM –ServiceName kemlabad –Name kemlabad01

Ahora, nuestra máquina virtual de Windows Azure seleccionado puede ser referenciado mediante el uso de los $ vm variable en el resto de nuestro script.

Con el fin de restaurar una copia de seguridad de cada disco duro de la máquina virtual, también es necesario para apagar temporalmente la máquina virtual en un estado en el que la máquina virtual no se está ejecutando, pero su configuración se mantiene en un estado aprovisionado. Podemos lograr esto con el cmdlet Stop-AzureVM

$vm | Stop-AzureVM –StayProvisioned

www.radians.com.ar

Nuestra máquina virtual está seleccionado y en el estado de derecho, y que podemos proceder a la siguiente etapa de la búsqueda de cada disco duro virtual que desea restaurar.

Identificar cada disco duro virtual para ser restaurado

Las máquinas virtuales de Windows Azure se pueden aprovisionar con dos tipos generales de discos duros virtuales: Discos del sistema operativo y discos de datos. Cada máquina virtual tendrá un sistema operativo de disco desde el que se arranca y se ejecuta el sistema operativo. Además, cada máquina virtual también puede tener uno o más discos de los datos sobre los que se pueden almacenar código de programa y archivos de datos. Para llevar a cabo una completa restauración de VM, tendremos que identificar todos los discos duros virtuales que nuestra máquina virtual se está usando en ese momento.

Para almacenar la ubicación para el disco del sistema operativo, podemos utilizar el cmdlet Get-AzureOSDisk

$vmOSDisk = $vm | Get-AzureOSDisk

Para cualquier disco duro virtual que se desea hacer copias de seguridad o restaurar, los dos valores de la propiedad en la que vamos a estar más interesados ​​son los diskname y los valores MediaLink se muestra a continuación. Estos valores proporcionan la información que necesitaremos hacer copias de seguridad y restaurar adecuadamente cada disco duro virtual que está asociado con una máquina virtual.

www.radians.com.ar

Los valores de propiedad común para un disco duro virtual de Windows Azure

Para almacenar la ubicación de todos los discos de los datos, podemos utilizar el cmdlet Get-AzureDataDisk. Desde VM se pueden aprovisionar con múltiples discos de los datos, devuelve este cmdlet de una colección de DataVirtualHardDisks.

$vmDataDisks = $vm | Get-AzureDataDisk

Dar de baja Virtual Machine para restaurar

Cuando una máquina virtual se aprovisiona en Windows Azure, la plataforma coloca un contrato de arrendamiento en cada disco duro virtual para asegurar que los discos no se eliminan de forma inadvertida. Esto significa que tendremos que exportar la configuración de la máquina virtual y quitar la primera máquina virtual antes de que el proceso de restauración puede tener éxito. Por suerte, podemos llevar a cabo estas tareas fácilmente con sólo un código de PowerShell poco más.

En primer lugar, vamos a crear una carpeta local en la que se almacenará nuestra configuración de máquina virtual exportada.

$exportFolder = "C:\ExportVMs"
if (!(Test-Path -Path $exportFolder)) {
            New-Item -Path $exportFolder –ItemType Directory
        } www.radians.com.ar

A continuación, vamos a exportar nuestra configuración de la máquina virtual a un archivo XML local. Vamos a utilizar este archivo exportado al final del proceso de restauración para aprovisionar nuestra máquina virtual una vez que las copias de seguridad de discos duros virtuales han sido restaurados.

$exportPath = $exportFolder + "\" + $vm.Name + ".xml"
$vm | Export-AzureVM -Path $exportPath

www.radians.com.ar

Una vez que nuestra configuración de máquina virtual se exporta de forma segura a un archivo XML, ahora podemos utilizar la cmdlet Remove-AzureVM para quitar la máquina virtual en la preparación de la restauración de cada disco duro de la máquina virtual a partir de la ubicación de copia de seguridad blob.

Remove-AzureVM -ServiceName $vm.ServiceName -Name $vm.Name

Restore Windows Azure VM OS Disk

Para restaurar el sistema operativo de disco duro virtual relevante de copia de seguridad, vamos primero necesitamos definir algunas variables de las cuentas de nombre de disco, blob, contenedores de almacenamiento y duros virtuales. Vamos a utilizar estos valores de las variables durante el proceso de restauración.

$vmOSDiskName = $vmOSDisk.DiskName
$vmOSDiskuris = $vmOSDisk.MediaLink
$StorageAccountName = $vmOSDiskuris.Host.Split(‘.’)[0]
$vmOSBlobName = $vmOSDiskuris.Segments[-1]
$vmOSOrigContainerName = $vmOSDiskuris.Segments[-2].Split(‘/’)[0]
$backupContainerName = “backups”

www.radians.com.ar

Después de la eliminación de una máquina virtual de Windows Azure, a veces hay un corto período de tiempo en el que el disco virtual sigue apareciendo como ser conectado a la máquina virtual. Antes de continuar, vamos a querer que esperar hasta que el disco virtual se separa mediante el cmdlet Get-AzureDisk dentro de un bucle while.

While ( (Get-AzureDisk -DiskName $vmOSDiskName).AttachedTo ) { Start-Sleep 5 }

Una vez que el disco se separa OS, podrás extraer el disco en preparación para la restauración de la copia de seguridad mediante el uso de la cmdlet Remove-AzureDisk con el parámetro -DeleteVHD.

Remove-AzureDisk -DiskName $vmOSDiskName -DeleteVHD

Después de retirar el disco del sistema operativo y VHD asociado, puede restaurar el disco duro virtual de copia de seguridad mediante el cmdlet Start-AzureStorageBlobCopy y el cmdlet Get-AzureStorageBlobCopyState de la siguiente manera:

Start-AzureStorageBlobCopy -SrcContainer $backupContainerName -SrcBlob $vmOSBlobName -DestContainer $vmOSOrigContainerName –Force

Get-AzureStorageBlobCopyState -Container $vmOSOrigContainerName -Blob $vmOSBlobName –WaitForComplete

Ya que estamos realizando una gota gota a copiar en la plataforma en la nube de Windows Azure, la operación de copia debe completar muy rápidamente. Cuando la copia se ha completado, se puede agregar el disco azul de nuevo en su suscripción para el disco del sistema operativo de la máquina virtual restaurado.

Add-AzureDisk -DiskName $vmOSDiskName -MediaLocation $vmOSDiskuris.AbsoluteUri -OS Windows

Esto completa el proceso para restaurar el disco del sistema operativo desde una copia de seguridad basada en la nube.

Restore Windows Azure VM Data Disks

Además de un disco de OS, las máquinas virtuales de Windows Azure también pueden estar unidos a uno o más discos de datos persistentes. Podemos utilizar un procedimiento similar para la restauración de estos discos a lo que hemos utilizado anteriormente para el disco del sistema operativo. Sin embargo, ya que los discos de datos se devuelven como una colección, vamos a ejecutar los comandos dentro de un bucle foreach para procesar cada disco de datos a su vez.

ForEach ( $vmDataDisk in $vmDataDisks ) {
        $vmDataDiskName = $vmDataDisk.DiskName
        $vmDataDiskuris = $vmDataDisk.MediaLink
        $vmDataBlobName = $vmDataDiskuris.Segments[-1]
        $vmDataOrigContainerName = $vmDataDiskuris.Segments[-2].Split(‘/’)[0]
        While ( (Get-AzureDisk -DiskName $vmDataDiskName).AttachedTo ) { Start-Sleep 5 }
        Remove-AzureDisk -DiskName $vmDataDiskName –DeleteVHD
        Start-AzureStorageBlobCopy -SrcContainer $backupContainerName -SrcBlob $vmDataBlobName -DestContainer $vmDataOrigContainerName –Force
        Get-AzureStorageBlobCopyState -Container $vmDataOrigContainerName -Blob $vmDataBlobName –WaitForComplete
        Add-AzureDisk -DiskName $vmDataDiskName -MediaLocation $vmDataDiskuris.AbsoluteUri
    }

Después de ejecutar este fragmento, cada uno de los discos de datos que estaban conectados a la máquina virtual será restaurado.

Reabastecimiento de máquinas virtuales

Una vez que todos los discos duros virtuales han sido restaurados, podemos utilizar el cmdlet Import-AzureVM para aprovisionar la máquina virtual. El VM aprovisionar automáticamente apuntará a la copia restaurada de cada disco duro virtual.

Import-AzureVM -Path $exportPath | New-AzureVM -ServiceName $vm.ServiceName

Cuando el proceso de importación se ha completado, la máquina virtual se restaurará y se inició en la suscripción de Windows Azure.

¡Felicitaciones! Pero a seguir aprendiendo!

Hemos completado el proceso de creación de copias de seguridad y restauración de máquinas virtuales en Windows Azure con Windows PowerShell! Puede usar los cmdlets y los fragmentos de esta serie de artículos para construir fácilmente un enfoque automatizado para capturar una copia de seguridad de cada máquina virtual de Windows Azure en su suscripción, tal vez por una noche.

Además, es posible que desee aprovechar estos recursos para continuar su aprendizaje acerca de Windows Azure servicios de infraestructura:

Avatar photo

By Roberto Di Lello

Hola, soy Roberto Di Lello trabajo como Consultor Senior en Infraestructura, especializado en Tecnologias Microsoft con mas de 25 años en la industria. He sido galardonado como MS-MVP en Active Directory-Enterprise Mobility por 10 años, y actualmente soy MVP Windows Insider, ademas de poseer otras certificaciones de Microsoft. He trabajado en distintos projectos que involucran Migraciones, Implementaciones, y soporte de Active Directory y Microsoft Exchange, y en los ultimos años me he desempeñado armando equipos de trabajo para diferentes paises y areas de sistemas, he planificado a distintas migraciones a datacenters (ambiente cloud y mixtos). He tenido la oportunidad de participar como miembro del staff de Microsoft en eventos internacionales como ser TechEd NorteAmerica y MS Ignite (NA) al ser Trainer Certificado por Microsoft (MCT).

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.