Olá Pessoal!!!
Hoje vou demostrar a vocês como fazer o Backup do VHD no Microsoft Azure, lembrando que esse backup não é recomendado para ambiente de produção. Ele desliga o Servidor e provisiona ele temporariamente para efetuar a copiar do VHD.
Primeiro tem que configurar sua conta de e-mail no Powershell, segue o link com o passo a passo da configuração do Azure Powershell.
http://azure.microsoft.com/en-us/documentation/articles/install-configure-powershell/?fb=pt-br
Após a instalação do Azure Powershell execute o seguinte comando
Esse comando irá listar todos os Servidores e Serviços
Get-AzureVM
Agora vou explicar como funciona o Script passo a passo
MAQUINA DE TESTE = SRV-01 / Nome do Servidor
Get-AzureVM = Esse comando mostra todas as VMs e Serviços da conta do Azure.
$vm = Get-AzureVM -ServiceName SRV-01 -Name SRV-01 = Seta a variável "$vm" para a máquina SRV-01
$vm | Stop-AzureVM -StayProvisioned = Para a VM mas a mantem provisionada
Get-AzureOSDisk = Mostra o disco do OS da VM selecionada
$vmOSDisk = $vm | Get-AzureOSDisk = Seto a variável "$vmOSDisk" para pegar o Disco o disco do OS da variável "$vm"
Get-AzureDataDisk = Mostra todos os discos da VM selecionada
$vmDataDisks = $vm | Get-AzureDataDisk = Seta a variável "$vmDataDisks" para pegar todos os discos da varíavel "$vm"
$StorageAccountName = $vmOSDisk.MediaLink.Host.Split('.')[0] = Seto a variável "$StorageAccountName" para achar o nome do meu Storage Container
Get-AzureSubscription | Set-AzureSubscription -CurrentStorageAccount $StorageAccountName = Defino que o storage container da minha conta vai ser o mesmo onde estava minha máquina
$backupContainerName = "backups" = Seto que a variável "$backupContainerName" vai se chamar "backups"
if (!(Get-AzureStorageContainer -Name $backupContainerName -ErrorAction SilentlyContinue)) {New-AzureStorageContainer -Name $backupContainerName -Permission Off} = Crio um storage container com o nome definido na variável "$backupContainerName"
$vmOSBlobName = $vmOSDisk.MediaLink.Segments[-1] = Seto a variável "$vmOSBlobName" para pegar o Blob Name da variável "$vmOSDisk"
$vmOSContainerName = $vmOSDisk.MediaLink.Segments[-2].Split('/')[0] = Seta a variável "$vmOSContainerName" Para pegar o container onde está o VHD da variável "$vmOSDisk"
Start-AzureStorageBlobCopy -SrcContainer $vmOSContainerName -SrcBlob $vmOSBlobName -DestContainer $backupContainerName = Comando que executa a cópia dos aquivos VHD.
Ele vai ficar assim
1 -$vm = Get-AzureVM -ServiceName SRV-01 -Name SRV-01
2 - $vm | Stop-AzureVM -StayProvisioned
3 - $vmOSDisk = $vm | Get-AzureOSDisk
4 - $vmDataDisks = $vm | Get-AzureDataDisk
5 - $StorageAccountName = $vmOSDisk.MediaLink.Host.Split('.')[0]
6 - Get-AzureSubscription | Set-AzureSubscription -CurrentStorageAccount $StorageAccountName
7 - $backupContainerName = "backups"
8 - if (!(Get-AzureStorageContainer -Name $backupContainerName -ErrorAction SilentlyContinue)) {New-AzureStorageContainer -Name $backupContainerName -Permission Off}
9 - $vmOSBlobName = $vmOSDisk.MediaLink.Segments[-1]
10 - $vmOSContainerName = $vmOSDisk.MediaLink.Segments[-2].Split('/')[0]
11-Start-AzureStorageBlobCopy -SrcContainer $vmOSContainerName -SrcBlob $vmOSBlobName -DestContainer $backupContainerName -Force
12 - Get-AzureStorageBlobCopyState -Container $backupContainerName -Blob $vmOSBlobName -WaitForComplete
13 - $vm | Start-AzureVM
Normalmente esse Script demora alguns minutos para ser executado em média de uns 5 a 10 minutos.Caso queria configurar para deixar ele automatizado pode utilizar o serviço de Task do Windows.
Dica = Caso tenha bastante Servidores, utiliza o Windows PowerShell ISE nele você consegue criar e salvar Script com a extensão ".ps1" ficando mais fácil de deixar o Task do Windows executando ele diariamente.
No próximo post vou demostrar a vocês como efetuar o Restore do VHD.
Obrigado e até mais.
Deixe seu Comentário
No comments