Movendo VHDs entre Subscription no Microsoft Azure

Olá Pessoal!!!

Hoje vou demostrar a vocês como mover o VHD de uma Subscription para outra Subscription no Microsoft Azure. Vou especificar linha por linha, o processo para mover o VHD é bem simples.

Para mover os VHDs você precisa logar com seu usuário do Microsoft Azure Powershell, caso não tenha instalado segue o link //goo.gl/Q6EX31, com o passo a passo da configuração e instalação.

Vamos lá!

Vamos importar o Modulo Azure, esse comando vai fazer o download de todos os comandos do Azure;

Import-Module Azure

Em seguida vamos verificar as Contas associadas , execute o seguinte comando;

Get-AzureAccount

1

Agora vamos pegar as informações das Subscription para  preparar a migração, execute o seguinte comando;

Get-AzureSubscription

2

Esse comando vai apresentar as Subscription, no meu caso estou pegando uma Subscription onde meu VHD está e a outra que vou migrar.

Selecione a subscription onde está o VHD

Select-AzureSubscription "Subscription_1"

3

Escolha o VHD blob que vai ser copiado, vamos atribuir uma variável ao “blobName” o comado vai ficar assim

$blobName = "vmtestelab-vmtestelab-2015-03-04.vhd"

Agora vamos precisar das seguintes informações, nome do Storage, chave do Storage e o nome do Container. As variáveis serão atribuídas da seguinte maneira;

$sourceStorageAccountName = "storage_1"
$sourceKey = "09Agn4fVjULAghRV0YWaR2crBlDNIOO/KJ5k+94VKUi74QFW72QpskRAXRTjbEKg38xD0
TI6V3iQR/jb0uCIzg=="
$sourceContext = New-AzureStorageContext –StorageAccountName $sourceStorageAccount
Name -StorageAccountKey $sourceKey 
$sourceContainer = "vhds"

4

Agora vamos atribuir as variáveis para o Storage de destino, execute o seguinte comando;

$destinationStorageAccountName = "storage_2"
$destinationKey = "Q/bV6D30mql7aEteJdyFopZ1LgekxsrmXOxfY25EqW+/fqteWeDr/CYYt/OcVCie
rqdhjYB67Z7vZQ5haozTYQ=="
$destinationContext = New-AzureStorageContext –StorageAccountName $destination
StorageAccountName -StorageAccountKey $destinationKey

Agora vamos criar o contêiner de destino, caso tenha o contêiner criado não precisa dessa etapa. Execute o seguinte comando;

$destinationContainerName = "vhsmovido"
New-AzureStorageContainer -Name $destinationContainerName -Context $destination
Context

5

Pronto com o Contêiner, agora vamos fazer a copia do VHD para a Subscription_2, execute  seguinte comando;

$blobCopy = Start-AzureStorageBlobCopy -DestContainer $destinationContainerName 
-DestContext $destinationContext -SrcBlob $blobName -Context $sourceContext 
-SrcContainer $sourceContainer

6

Para ver como está a copia do VHD execute o seguinte comando;

while(($blobCopy | Get-AzureStorageBlobCopyState).Status -eq "Pending")
{
 Start-Sleep -s 30
 $blobCopy | Get-AzureStorageBlobCopyState
 }

$blobCopy | Get-AzureStorageBlobCopyState

7

Para acompanhar o Status execute apenas o seguinte comando;

$blobCopy | Get-AzureStorageBlobCopyState

Pronto após alguns minutos ele vai trazer a mensagem que foi movido com sucesso

8

Vou deixar o Script montado abaixo, basta alterar os parâmetros e executar.

Select-AzureSubscription "Demo"
$blobName = "vmtestelab-vmtestelab-2015-03-04.vhd"
$sourceStorageAccountName = "Storage-1"
$sourceKey = "09Agn4fVjULAghRV0YWaR2crBlDNIOO/KJ5k+94VKUi74QFW72QpskRAXRTjbEKg38xD
0TI6V3iQR/jb0uCIzg=="
$sourceContext = New-AzureStorageContext –StorageAccountName $sourceStorage
AccountName -StorageAccountKey $sourceKey 
$sourceContainer = "vhds"
$destinationStorageAccountName = "Storage-2"
$destinationKey = "Q/bV6D30mql7aEteJdyFopZ1LgekxsrmXOxfY25EqW+/fqteWeDr/CYYt/OcVCie
rqdhjYB67Z7vZQ5haozTYQ=="
$destinationContext = New-AzureStorageContext –StorageAccountName $destination
StorageAccountName -StorageAccountKey $destinationKey
$destinationContainerName = "vhsmovido"
New-AzureStorageContainer -Name $destinationContainerName -Context $destinationContext
$blobCopy = Start-AzureStorageBlobCopy -DestContainer $destinationContainerName 
-DestContext $destinationContext -SrcBlob $blobName -Context $sourceContext -SrcContainer $sourceContainer

 

while(($blobCopy | Get-AzureStorageBlobCopyState).Status -eq "Pending")
{
 Start-Sleep -s 30
 $blobCopy | Get-AzureStorageBlobCopyState
 }

 

$blobCopy | Get-AzureStorageBlobCopyState

Valeu Galera e até o próximo post.

Sobre Michel Jatoba

Veja Também...

Microsoft Azure – Criando Network Security Group via Powershell

Olá pessoal, tudo bem com vocês? Dando continuidade a criação do ultimo recurso, vamos criar …

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

XPTO-WPC-MONITOR-TAG