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

Uygulama: ✔️ Linux VM'leri ✔️ Windows VM'ler ✔️ Esnek ölçek kümeleri

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

Diskleri GUI üzerinden karşıya yüklemek isterseniz, bunu otomatik olarak Azure Depolama Gezgini. Ayrıntılar için bkz. Azure Azure Depolama Gezgini diskleri yönetmek için depolamayı 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 disk oluşturmadan önce bu diskler hakkında bazı ek bilgiler edinebilirsiniz.

Bu tür bir yönetilen diskin iki benzersiz durum vardır:

  • ReadToUpload, diskin karşıya yükleme almaya hazır olduğu ancak güvenli erişim imzası (SAS) oluşturulmadan olduğu anlamına gelir.
  • ActiveUpload, diskin karşıya yükleme almaya hazır olduğu ve SAS'nin oluşturulmuş olduğu anlamına gelir.

Not

Bu iki durumun herhangi biri söz konusuyken, yönetilen disk gerçek disk türüne bakılmaksızın standart HDDfiyatlandırması ile faturalandır. Örneğin, bir P10 S10 olarak faturalandır. Bu, yönetilen diskte çağrılana kadar true olur. Bu, diski bir revoke-access VM'ye eklemek için gereklidir.

Boş bir yönetilen disk oluşturma

Karşıya yüklemek için boş bir standart HDD oluşturamadan önce, karşıya yüklemek istediğiniz VHD'nin dosya boyutu bayt cinsinden gerekir. Bunu almak için veya wc -c <yourFileName>.vhd ls -al <yourFileName>.vhd kullanabilirsiniz. Bu değer --upload-size-bytes parametresini belirtirken kullanılır.

Disk oluşturma cmdlet'inde hem -–for-upload parametresini hem de --upload-size-bytes parametresini belirterek karşıya yüklemek için boş bir standart HDD oluşturun:

<yourdiskname>, , yerine kendi seçtiğiniz değerleri <yourresourcegroupname> <yourregion> kullanın. parametresi, --upload-size-bytes örnek bir değeri içerir ve bunu sizin için uygun bir 34359738880 değerle değiştirin.

İpucu

Bir işletim sistemi diski oluşturuyorsanız, 'a --hyper-v-generation <yourGeneration> az disk create ekleyin.

az disk create -n <yourdiskname> -g <yourresourcegroupname> -l <yourregion> --os-type Linux --for-upload --upload-size-bytes 34359738880 --sku standard_lrs

Premium SSD veya standart SSD'yi karşıya yüklemek için, standard_lrs yerine premium_LRS veya standardssd_lrs. Ultra diskler şimdilik desteklenmiyor.

Artık 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. VhD'yi diske yüklemek için yazılabilir bir SAS gerekir, böylece karşıya yükleme hedefi olarak başvurabilirsiniz.

Boş yönetilen diskiniz için yazılabilir bir SAS oluşturmak için ve yerine <yourdiskname> <yourresourcegroupname> aşağıdaki komutu kullanın:

az disk grant-access -n <yourdiskname> -g <yourresourcegroupname> --access-level Write --duration-in-seconds 86400

Örnek döndürülen değer:

{
  "accessSas": "https://md-impexp-t0rdsfgsdfg4.blob.core.windows.net/w2c3mj0ksfgl/abcd?sv=2017-04-17&sr=b&si=600a9281-d39e-4cc3-91d2-923c4a696537&sig=xXaT6mFgf139ycT87CADyFxb%2BnPXBElYirYRlbnJZbs%3D"
}

VHD’yi karşıya yükleme

Artık boş yönetilen diskiniz için bir SAS'ye sahip olduğunuza göre, yönetilen diskini karşıya yükleme komutunun hedefi olarak ayarlamak için bunu kullanabilirsiniz.

AzCopy v10 kullanarak yerel VHD dosyanızı, oluşturulan SAS URI'sini belirterek yönetilen diske yükleyin.

Bu karşıya yükleme, eşdeğer standart HDD ile aynı aktarım hızına sahiptir. Örneğin, S4'e eşit bir boyutunuz varsa, en fazla 60 MiB/sn aktarım hızına sahip oluruz. Ancak, S70'e eşit bir boyutunuz varsa, 500 MiB/sn'ye kadar aktarım hızına sahip oluruz.

AzCopy.exe copy "c:\somewhere\mydisk.vhd" "sas-URI" --blob-type PageBlob

Karşıya yükleme tamamlandıktan ve artık diske başka veri yazmanız gerekmeyecekse SAS'yi iptal etme. SAS'nin iptali yönetilen diskin durumunu değiştirir ve diski vm'ye bağlamaya olanak sağlar.

ve <yourdiskname> yerine aşağıdaki komutu kullanarak diski kullanılabilir hale <yourresourcegroupname> yerleştirin:

az disk revoke-access -n <yourdiskname> -g <yourresourcegroupname>

Yönetilen diski çoğaltma

Doğrudan karşıya yükleme, yönetilen disk kopyalama işlemini de kolaylaştırır. Aynı bölge veya çapraz bölge (başka bir bölgeye) içinde kopyalayıp kopyalaysınız.

Aşağıdaki betik bunu sizin için yapar; işlem daha önce açıklanan adımlara benzer ve var olan bir diskle çalıştığınız için bazı farklar vardır.

Önemli

Azure'dan yönetilen diskin bayt cinsinden disk boyutunu sağlarken 512 uzaklığı eklemeniz gerekir. Bunun nedeni Azure'ın disk boyutunu döndüren alt bilgiyi atlar. Bunu yapmasanız kopyalama başarısız olur. Aşağıdaki betik bunu sizin için zaten yapar.

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

İpucu

Bir işletim sistemi diski oluşturuyorsanız, 'a --hyper-v-generation <yourGeneration> az disk create ekleyin.

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

sourceDiskSizeBytes=$(az disk show -g $sourceRG -n $sourceDiskName --query '[diskSizeBytes]' -o tsv)

az disk create -g $targetRG -n $targetDiskName -l $targetLocation --os-type $targetOS --for-upload --upload-size-bytes $(($sourceDiskSizeBytes+512)) --sku standard_lrs

targetSASURI=$(az disk grant-access -n $targetDiskName -g $targetRG  --access-level Write --duration-in-seconds 86400 -o tsv)

sourceSASURI=$(az disk grant-access -n $sourceDiskName -g $sourceRG --duration-in-seconds 86400 --query [accessSas] -o tsv)

azcopy copy $sourceSASURI $targetSASURI --blob-type PageBlob

az disk revoke-access -n $sourceDiskName -g $sourceRG

az disk revoke-access -n $targetDiskName -g $targetRG

Sonraki adımlar

Bir VHD'yi yönetilen diske başarıyla yüklediğinize göre, diski var olan bir VM'ye veri diski olarak iliştirebilirsiniz veya diski işletim sistemi diskiolarak vm'ye iliştirebilirsiniz.