Bir VHD dosyasını Azure'a yükleme veya yönetilen diski başka bir bölgeye kopyalama - Azure PowerShell

uygulama hedefi: : heavy_check_mark: Windows vm 'ler

Bu makalede, bir VHD 'YI yerel makinenizden Azure yönetilen diskine yükleme veya AzCopy kullanarak yönetilen bir diski başka bir bölgeye kopyalama işlemleri açıklanmaktadır. Bu işlem, doğrudan karşıya yükleme, bir VHD 'yi doğrudan yönetilen diske boyutundaki 32 TiB 'ye kadar karşıya yüklemenizi de sağlar. Şu anda, standart HDD, standart SSD ve Premium SSD tarafından yönetilen diskler için doğrudan karşıya yükleme desteklenir. Henüz Ultra diskler için desteklenmez.

Azure 'da IaaS sanal makineleri için bir yedekleme çözümü sağlıyorsanız, müşteri yedeklemelerini yönetilen disklere geri yüklemek için doğrudan karşıya yüklemeyi kullanmanızı öneririz. Bir VHD 'den Azure 'a bir VHD 'yi karşıya yüklerken, hızlarınızın yerel bant genişliğine bağlı olması gerekir. Bir Azure VM 'sinden karşıya yükleme veya kopyalama yaparken, bant genişliğiniz standart HDD 'Ler ile aynı olacaktır.

Önkoşullar

Başlarken

bir guı aracılığıyla disk yüklemeyi tercih ediyorsanız, Azure Depolama Gezgini kullanarak bunu yapabilirsiniz. ayrıntılar için bkz. Azure yönetilen diskleri yönetmek için Azure Depolama Gezgini kullanma

VHD 'nizi Azure 'a yüklemek için, bu karşıya yükleme işlemi için yapılandırılmış boş bir yönetilen disk oluşturmanız gerekir. Bir tane oluşturmadan önce, bu diskler hakkında bilmeniz gereken bazı ek bilgiler vardır.

Bu tür yönetilen disklerin iki benzersiz durumu vardır:

  • ReadyToUpload, diskin karşıya yükleme almaya hazır olduğu ancak güvenli erişim imzası (SAS) üretilmediği anlamına gelir.
  • ActiveUpload, bu, diskin karşıya yükleme almaya ve SAS üretilmeye hazırlanmasıdır.

Not

Bu durumlardan birinde, yönetilen disk, gerçek disk türünden bağımsız olarak Standart HDD fiyatlandırmasınagöre faturalandırılır. Örneğin, bir P10 S10 olarak faturalandırılacaktır. Bu, revoke-access diski BIR VM 'ye eklemek için gerekli olan yönetilen diskte çağrılana kadar doğru olacaktır.

Boş bir yönetilen disk oluşturma

Karşıya yüklemek üzere boş bir standart HDD oluşturabilmeniz için önce, yüklemek istediğiniz VHD 'nin bayt cinsinden dosya boyutu gerekir. Örnek kod, sizin tarafınızdan sizin için bunu sizin için kullanabilirsiniz $vhdSizeBytes = (Get-Item "<fullFilePathHere>").length . Bu değer -uploadsizeınbytes parametresini belirtirken kullanılır.

şimdi, yerel kabuğıza, -createoption parametresindeki Upload ayarını ve New-azdiskconfig cmdlet 'inde -uploadsizeınbytes parametresini belirterek karşıya yüklemek üzere boş bir standart HDD oluşturun. Ardından, diski oluşturmak için New-AzDisk ' i çağırın.

<yourdiskname>, <yourresourcegroupname> Ve <yourregion> ardından aşağıdaki komutları çalıştırın:

İpucu

Bir işletim sistemi diski oluşturuyorsanız, -HyperVGeneration '<yourGeneration>' öğesine ekleyin New-AzDiskConfig .

$vhdSizeBytes = (Get-Item "<fullFilePathHere>").length

$diskconfig = New-AzDiskConfig -SkuName 'Standard_LRS' -OsType 'Windows' -UploadSizeInBytes $vhdSizeBytes -Location '<yourregion>' -CreateOption 'Upload'

New-AzDisk -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>' -Disk $diskconfig

Premium SSD veya standart SSD yüklemek isterseniz, Standard_LRS Premium_LRS veya StandardSSD_LRS ile değiştirin. Ultra diskler henüz desteklenmiyor.

Karşıya yükleme işlemi için yapılandırılmış boş bir yönetilen disk oluşturduğunuza göre, buna bir VHD yükleyebilirsiniz. Bir VHD 'yi diske yüklemek için, bir yazılabilir SAS gerekir, bu sayede karşıya yüklemenizin hedefi olarak başvurabilirsiniz.

Boş yönetilen diskinizin yazılabilir bir SAS oluşturmak için, <yourdiskname> ve <yourresourcegroupname> ' ı değiştirin ve ardından aşağıdaki komutları kullanın:

$diskSas = Grant-AzDiskAccess -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>' -DurationInSecond 86400 -Access 'Write'

$disk = Get-AzDisk -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>'

VHD’yi karşıya yükleme

Boş yönetilen diskiniz için bir SAS olduğuna göre, bunu kullanarak, yükleme Komutunuz için yönetilen diskinizi hedef olarak ayarlayabilirsiniz.

Yerel VHD dosyanızı oluşturduğunuz SAS URI 'sini belirterek yönetilen bir diske yüklemek için AzCopy ile v10 arasındaki kullanın.

Bu karşıya yükleme, eşdeğer Standart HDDile aynı aktarım hızına sahiptir. Örneğin, S4 'e karşılık gelen bir boyutunuz varsa, 60 MIB/sn 'ye kadar bir aktarım hızına sahip olursunuz. Ancak, S70 'e karşılık gelen bir boyutunuz varsa, 500 MIB/sn 'ye kadar bir aktarım hızına sahip olursunuz.

AzCopy.exe copy "c:\somewhere\mydisk.vhd" $diskSas.AccessSAS --blob-type PageBlob

Karşıya yükleme tamamlandıktan sonra ve diske daha fazla veri yazmanıza gerek kalmadığında, SAS 'yi iptal edin. SAS iptal edildiğinde, yönetilen diskin durumu değişir ve diski bir VM 'ye eklemenize olanak tanır.

<yourdiskname>Ve öğesini değiştirin ve <yourresourcegroupname> ardından aşağıdaki komutu çalıştırın:

Revoke-AzDiskAccess -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>'

Yönetilen diski çoğaltma

Doğrudan karşıya yükleme, yönetilen bir disk kopyalama işlemini de basitleştirir. Aynı bölge içinde kopyalayabilir veya yönetilen diskinizi başka bir bölgeye kopyalayabilirsiniz.

İzleme betiği bunu sizin için yapacaktır, bu işlem, mevcut bir diskle çalıştığınızdan, bazı farklılıklarla daha önce açıklanan adımlara benzerdir.

Önemli

Azure 'dan yönetilen bir diskin bayt cinsinden disk boyutunu sağlarken 512 sapmasını eklemeniz gerekir. Bunun nedeni, Azure 'un disk boyutunu döndürürken alt bilgiyi atatmesinden kaynaklanır. Bunu yapmazsanız kopya başarısız olur. Aşağıdaki komut dosyası sizin için zaten bunu yapar.

,, <sourceResourceGroupHere> , <sourceDiskNameHere> <targetDiskNameHere> <targetResourceGroupHere> , <yourOSTypeHere> Ve (bir <yourTargetLocationHere> konum değeri örneği uswest2) değerlerini değerleriyle değiştirin, ardından yönetilen bir diski kopyalamak için aşağıdaki betiği çalıştırın.

İpucu

Bir işletim sistemi diski oluşturuyorsanız, -HyperVGeneration '<yourGeneration>' öğesine ekleyin New-AzDiskConfig .


$sourceRG = <sourceResourceGroupHere>
$sourceDiskName = <sourceDiskNameHere>
$targetDiskName = <targetDiskNameHere>
$targetRG = <targetResourceGroupHere>
$targetLocate = <yourTargetLocationHere>
#Expected value for OS is either "Windows" or "Linux"
$targetOS = <yourOSTypeHere>

$sourceDisk = Get-AzDisk -ResourceGroupName $sourceRG -DiskName $sourceDiskName

# Adding the sizeInBytes with the 512 offset, and the -Upload flag
$targetDiskconfig = New-AzDiskConfig -SkuName 'Standard_LRS' -osType $targetOS -UploadSizeInBytes $($sourceDisk.DiskSizeBytes+512) -Location $targetLocate -CreateOption 'Upload'

$targetDisk = New-AzDisk -ResourceGroupName $targetRG -DiskName $targetDiskName -Disk $targetDiskconfig

$sourceDiskSas = Grant-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName -DurationInSecond 86400 -Access 'Read'

$targetDiskSas = Grant-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName -DurationInSecond 86400 -Access 'Write'

azcopy copy $sourceDiskSas.AccessSAS $targetDiskSas.AccessSAS --blob-type PageBlob

Revoke-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName

Revoke-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName 

Sonraki adımlar

Bir VHD 'yi yönetilen diske başarıyla yüklediğinize göre, diski bir sanal makineye iliştirebilir ve kullanmaya başlayabilirsiniz.

bir sanal makineye bir veri diski eklemeyi öğrenmek için, konusunda makalemize bakın: PowerShell ile bir Windows sanal makinesine veri diski iliştirme. diski işletim sistemi diski olarak kullanmak için bkz. özel bir diskten Windows VM oluşturma.