Copiando .VHDs ou BLOBs entre assinaturas e contas de armazenamento do Windows Azure por linha de comando - PowerShell

Copiando .VHDs ou BLOBs entre assinaturas e contas de armazenamento do Windows Azure por linha de comando - PowerShell


O Windows Azure permite copiar um .VHD (que é um BLOB) de uma conta de armazenamento para outra conta de armazenamento, mesmo quando estas contas pertencem a assinaturas diferentes.

1) Pré-requisito

2) Informações necessárias

As informações listadas a seguir são fictícias e são apenas para exemplificar os valores das informações necessárias para realizar a cópia do .VHD.

Informações da ORIGEM do .VHD

  • Nome da assinatura: Assinatura_de_origem
  • Conta de armazenamento: Storage_de_origem
  • Chave de acesso primária: GPaHt------------------------------------------------------------------1Gg==
  • Contêiner: contêiner_de_origem
  • Blob: nome_do_arquivo_de_origem.vhd

Informações da DESTINO do .VHD

  • Nome da assinatura: Assinatura_de_destino
  • Conta de armazenamento: Storage_de_destino
  • Chave de acesso primária: RUNs------------------------------------------------------------------uf4d==
  • Contêiner: contêiner_de_destino
  • Blob: nome_do_arquivo_de_detino.vhd

As informações de origem e destino também podem ser coletadas através do portal web de gerenciamento do Windows Azure ou através de comandos PowerShell. Com as informações em mãos basta então executar os passos 3 e 4 para realizar a cópia do .VHD.

3) Preparando as informações para uso

O comando de cópia de .VHD ou blob precisará de algumas informações para realizar a cópia, por exemplo, a origem e destino do .VHD e as credenciais de acesso. Para isso, iremos criar duas variáveis com estas informações, que posteriormente serão repassadas ao comando de cópia do .VHD.

Variável de contexto de ORIGEM

Comando:
$contextoDeOrigem = New-AzureStorageContext -StorageAccountName "NOME DA CONTA DE ARMAZENAMENTO DE ORIGEM" –StorageAccountKey “CHAVE DE ACESSO PRIMARIO”

 

Variável de contexto de DESTINO

Comando:
$contextoDeDestino = New-AzureStorageContext -StorageAccountName "NOME DA CONTA DE ARMAZENAMENTO DE DESTINO" –StorageAccountKey “CHAVE DE ACESSO PRIMARIO”


 

4) Copiando o .VHD

Executar a cópia

Comando:
$status = Start-AzureStorageBlobCopy -SrcContext $contextoDeOrigem -SrcContainer vhds -SrcBlob “nome do vhd de origem” -DestContext $contextoDeDestino -DestContainer vhds -DestBlob “nome do vhd de destino”
Este comando irá executar diretamente entre os servidores do Azure, ou seja, nada é copiado para a máquina local.
Além disto, o processo é assíncrono e ao executar o comando você recebe um identificador para consultar o status da cópia do .VHD.


 

Consultar o andamento da cópia

Comando:
$status | Get-AzureStorageBlobCopyState –WaitForComplete


 

(Opcional) Cancelar a cópia

Caso você desista de copiar o .VHD, é possível solicitar o seu cancelamento enquanto a cópia não é concluída.
Comando:
Stop-AzureStorageBlobCopy -Blob “nome do vhd de destino” -Container “nome do contêiner de destino” -Context $contextoDeDestino


 
Rafael Leonhardt
Blog: http://www.rafaelleonhardt.com.br | Twitter: @MumHaBR
Líder da comunidade BluDotNet
Classificar por: Data da Publicação | Mais Recente | Mais Úteis
Comentários
  • Parabéns pelo artigo,

    Não temos muitos sobre o Windows Azure em português, Muito boa a iniciativa

Página 1 de 1 (1 itens)