Start


Como copiar o VHD de uma Subscription para outra Subscription no Microsoft Azure. Esse visa demostrar linha por linha, o processo para mover o VHD de uma bem simples.

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

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

Import-Module Azure

Em seguida verifique as Contas associadas, execute o seguinte comando;

GetAzureAccount

1

Execute o seguinte comando, para pegar as informações das Subcription;

Get-AzureSubscription

2

Esse comando vai apresentar as Subscription, selecione a subscription onde está o VHD

Select-AzureSubscription “Subscription_1”

3

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

$blobName = “vmtestelab-vmtestelab-2015-03-04.vhd”

Precisamos 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+94VKUi74QFW72QpskRAXRTjbEKg38xD0TI6V3iQR/jb0uCIzg==”
$sourceContext = New-AzureStorageContext –StorageAccountName $sourceStorageAccountName -StorageAccountKey $sourceKey
$sourceContainer = “vhds”

4

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

$destinationStorageAccountName = “storage_2”
$destinationKey = “Q/bV6D30mql7aEteJdyFopZ1LgekxsrmXOxfY25EqW+/fqteWeDr/CYYt/OcVCierqdhjYB67Z7vZQ5haozTYQ==”
$destinationContext = New-AzureStorageContext –StorageAccountName $destinationStorageAccountName -StorageAccountKey $destinationKey

Iremos 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 $destinationContext

5

Com o Contêiner criado, 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 verificar 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 copiado com sucesso

8

Segue 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+94VKUi74QFW72QpskRAXRTjbEKg38xD0TI6V3iQR/jb0uCIzg==”
$sourceContext = New-AzureStorageContext –StorageAccountName $sourceStorageAccountName -StorageAccountKey $sourceKey
$sourceContainer = “vhds”
$destinationStorageAccountName = “Storage-2”
$destinationKey = “Q/bV6D30mql7aEteJdyFopZ1LgekxsrmXOxfY25EqW+/fqteWeDr/CYYt/OcVCierqdhjYB67Z7vZQ5haozTYQ==”
$destinationContext = New-AzureStorageContext –StorageAccountName $destinationStorageAccountName -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 até o próximo post.