Jump to content
  • entries
    59
  • comments
    2
  • views
    25818

Αντιγράψτε VHDs (blobs) μεταξύ των Storage Accounts του Windows Azure


kavag

579 views

 Share

Η μεταφορά ή η αντιγραφή των Virtual Machines μεταξύ συνδρομών (Subscriptions) ή Storage Accounts είναι εφικτή μέσω της αντιγραφής των VHDs. Η αντιγραφή των VHDs, ή οποιουδήποτε άλλου blob, είναι μία εγγενής δυνατότητα του Windows Azure που γίνεται μέσω του blob copy API. Για λεπτομέρειες σχετικά με το Windows Azure Storage πατήστε εδώ

 

Στο άρθρο αυτό θα δούμε πως μπορούμε να αντιγράψουμε VHDs με την χρήση του PowerShell. Πριν ξεκινήσουμε, σκόπιμο είναι να αναφέρουμε πως υπάρχει η δυνατότητα αντιγραφής μεταξύ των:

  • Containers του ίδιου Storage Account
  • Διαφορετικών Storage Accounts της ίδια συνδρομής (Subscription)
  • Διαφορετικών συνδρομών στο ίδιο Data Center
  • Διαφορετικών Data Centers

Όπως είναι αναμενόμενο, ο χρόνος διάρκειας της αντιγραφής σε κάθε μία από τις παραπάνω περιπτώσεις είναι διαφορετικός πράγμα που οφείλεται στην αρχιτεκτονική του Windows Azure. To Windows Azure κατανέμει τους πόρους του Windows Azure Storage σε storage stamps που στην ουσία είναι συστοιχίες από Servers και δίσκους. Έτσι η αντιγραφή μέσα στο ίδιο storage stamp είναι ταχύτατη ενώ μεταξύ διαφορετικών storage stamps διαρκεί λίγο περισσότερο.

Ας δούμε όμως πως μπορούμε να πραγματοποιήσουμε την αντιγραφή των VHDs με την χρήση του PowerShell.

# Select Default SubscriptionSelect-AzureSubscription -SubscriptionName "MSDN-Kappas"# Define Source VHD: This is the system disk of an ADFS server$SourceFileURI = "https://support22stor.blob.core.windows.net/vhds/vnetadfs-07-10.vhd"# Define Source Storage Account $SourceStorageAccount = "support22stor"$SourceStorageAccountKey = "tDSNGyuDHWkrrA2vF/7pFiA=="# Define Destination Storage Account, in this demo we use the same as the source$DestStorageAccount = "support22stor"$DestStorageAccountKey = "tDSNGyuDfG/dLfPsvFiA=="# Source Storage Context creation$SrcContext = New-AzureStorageContext -StorageAccountName $SourceStorageAccount `                                      -StorageAccountKey $SourceStorageAccountKey# Destination Storage Context creation$DestContext = New-AzureStorageContext -StorageAccountName $DestStorageAccount `                                      -StorageAccountKey $DestStorageAccountKey    # Create a container in destination storage account$NewContainer = "copiedvhds"New-AzureStorageContainer -Name $NewContainer -Context $DestContext# Starting the blob copy. Copy is asynchronous$cpblob = Start-AzureStorageBlobCopy -SrcUri $SourceFileURI -srcContext $SrcContext `                             -DestContainer $NewContainer -DestContext $DestContext `                             -DestBlob "vnetadfs-vnetadfs-copied.vhd"

Η αντιγραφή γίνεται με την εντολή Start-AzureStorageBlobCopy αφού όμως έχουμε ορίσει το αρχείο προέλευσης και προορισμού και έχουμε δώσει στοιχεία για την πρόσβαση στα Storage Accounts μέσω των Contexts.

Η διαδικασία της αντιγραφής είναι ασύγχρονη και μπορούμε να ξεκινήσουμε πολλές αντιγραφές παράλληλα.

Για να δούμε την πρόοδο της αντιγραφής χρησιμοποιούμε την εντολή Get-AzureStorageBlobCopyState και εάν προσθέσουμε ένα While Loop μπορούμε να έχουμε συνεχή ενημέρωση για την πρόοδο της αντιγραφής.

# Retrieve the progress of the Copy$status = $cpblob | Get-AzureStorageBlobCopyState# Show the progress$status# If you like you can print the status until the copy is completedwhile ($status.Status -eq "Pending"){ $status = $cpblob | Get-AzureStorageBlobCopyState Start-Sleep 10 $status }

The post Αντιγράψτε VHDs (blobs) μεταξύ των Storage Accounts του Windows Azure appeared first on Vaggelis Kappas.

 

Source

 Share

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...