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

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri

Bu makalede, AzCopy kullanarak yerel makinenizden Azure yönetilen diskine VHD yükleme veya yönetilen diski başka bir bölgeye kopyalama işlemi açıklanır. Bu işlem, doğrudan karşıya yükleme, boyutu 32 TiB'ye kadar olan bir VHD'yi doğrudan yönetilen diske yüklemenize olanak tanır. Şu anda Ultra Diskler, Premium SSD v2, Premium SSD, Standart SSD ve Standart HDD için doğrudan karşıya yükleme desteklenmektedir.

Azure'daki IaaS VM'leri 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 gerekir. Azure dışındaki bir kaynaktan VHD'yi karşıya yüklerken hızlar yerel bant genişliğinize bağlıdır. Azure VM'sinden karşıya yükleme veya kopyalama sırasında bant genişliğiniz standart HDD'lerle aynı olacaktır.

Microsoft Entra Id ile güvenli karşıya yüklemeler

Kaynak erişimini denetlemek için Microsoft Entra Id kullanıyorsanız artık azure tarafından yönetilen disklerin karşıya yüklenmesini kısıtlamak için kullanabilirsiniz. Bu özellik tüm bölgelerde ga teklifi olarak kullanılabilir. Kullanıcı bir diski karşıya yüklemeyi denediğinde Azure, microsoft Entra ID'de istekte bulunan kullanıcının kimliğini doğrular ve kullanıcının gerekli izinlere sahip olduğunu onaylar. Bir sistem yöneticisi, bir diskin veya disk anlık görüntüsünün karşıya yüklenmesine izin vermeden önce Microsoft Entra kimliğinin karşıya yükleme için gerekli izinlere sahip olduğundan emin olmak için Azure hesabı veya abonelik düzeyinde bir ilke ayarlayabilir. Microsoft Entra Id ile karşıya yüklemelerin güvenliğini sağlama hakkında sorularınız varsa şu e-postaya ulaşın: azuredisks@microsoft .com

Ön koşullar

Kısıtlamalar

  • VHD'ler boş anlık görüntülere yüklenemez.
  • Azure Backup şu anda Microsoft Entra ID ile güvenliği sağlanan diskleri desteklememektedir.
  • Azure Site Recovery şu anda Microsoft Entra ID ile güvenliği sağlanan diskleri desteklememektedir.

RBAC rolü atama

Microsoft Entra Id ile güvenliği sağlanan yönetilen disklere erişmek için, istekte bulunan kullanıcının Yönetilen Diskler rolü için Veri İşleci'ne veya aşağıdaki izinlere sahip özel bir role sahip olması gerekir:

  • Microsoft.Compute/disks/download/action
  • Microsoft.Compute/disks/upload/action
  • Microsoft.Compute/snapshots/download/action
  • Microsoft.Compute/snapshots/upload/action

Rol atamayla ilgili ayrıntılı adımlar için bkz . Azure CLI kullanarak Azure rolleri atama. Özel rol oluşturmak veya güncelleştirmek için bkz . Azure CLI kullanarak Azure özel rolleri oluşturma veya güncelleştirme.

Başlarken

Diskleri GUI aracılığıyla karşıya yüklemeyi tercih ederseniz, Azure Depolama Gezgini kullanarak bunu yapabilirsiniz. Ayrıntılar için bkz. Azure yönetilen disklerini yönetmek için Azure Depolama Gezgini kullanma

Ön koşullar

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 bir yönetilen diskin iki benzersiz durumu vardır:

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

Dekont

Bu durumlardan herhangi birinde yönetilen disk, gerçek disk türü ne olursa olsun standart HDD fiyatlandırması ile faturalandırılır. Örneğin, bir P10 S10 olarak faturalandırılır. Bu, yönetilen diskte çağrılana kadar revoke-access geçerlidir ve bu, diski vm'ye eklemek için gereklidir.

Boş yönetilen disk oluşturma

Karşıya yükleme için boş bir standart HDD oluşturabilmeniz için önce karşıya yüklemek istediğiniz VHD'nin dosya boyutunun bayt cinsinden olması gerekir. Bunu almak için veya ls -al <yourFileName>.vhdkullanabilirsinizwc -c <yourFileName>.vhd. Bu değer --upload-size-bytes parametresi belirtilirken 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:

, değerini <yourresourcegroupname><yourregion> seçtiğiniz değerlerle değiştirin<yourdiskname>. --upload-size-bytes parametresi örnek değerini 34359738880içerir ve değerini sizin için uygun bir değerle değiştirin.

Önemli

İşletim sistemi diski oluşturuyorsanız öğesine ekleyin --hyper-v-generation <yourGeneration>az disk create.

Disk yüklemelerinin güvenliğini sağlamak için Microsoft Entra Id kullanıyorsanız ekleyin -dataAccessAuthmode 'AzureActiveDirectory'. Ultra Disk veya Premium SSD v2'ye yüklerken hedef diskin doğru kesim boyutunu seçmeniz gerekir. 4k mantıksal kesim boyutuna sahip bir VHDX dosyası kullanıyorsanız hedef diskin 4k olarak ayarlanması gerekir. 512 mantıksal kesim boyutuna sahip bir VHD dosyası kullanıyorsanız hedef diskin 512 olarak ayarlanması gerekir.

Mantıksal kesim boyutu 512k olan VHDX dosyaları desteklenmez.

##For Ultra Disk or Premium SSD v2, add --logical-sector-size and specify either 512 or 4096, depending on if you're using a VHD or VHDX

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

Farklı bir disk türünü karşıya yüklemek istiyorsanız standard_lrs premium_lrs, premium_zrs, standardssd_lrs, standardssd_zrs, premiumv2_lrs veya ultrassd_lrs ile değiştirin.

(İsteğe bağlı) Diske erişim izni verme

Karşıya yüklemelerin güvenliğini sağlamak için Microsoft Entra Id kullanıyorsanız diske erişim vermek ve yazılabilir bir SAS oluşturmak için RBAC izinleri atamanız gerekir.

az role assignment create --assignee "{assignee}" \
--role "{Data Operator for Managed Disks}" \
--scope "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceSubType}/{diskName}"

Yazılabilir SAS oluşturma

Artık karşıya yükleme işlemi için yapılandırılmış boş bir yönetilen disk oluşturduğunuza göre, bu diske bir VHD yükleyebilirsiniz. Bir 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 diskinizin yazılabilir SAS'sini oluşturmak için ve <yourresourcegroupname>değerini değiştirin <yourdiskname>ve ardından 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 veya VHDX yükleme

Artık boş yönetilen diskiniz için bir SAS'niz olduğuna göre, bunu kullanarak yönetilen diskinizi karşıya yükleme komutunun hedefi olarak ayarlayabilirsiniz.

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

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 60 MiB/sn'ye kadar aktarım hızına sahip olursunuz. Ancak S70'e eşit bir boyutunuz varsa 500 MiB/sn'ye kadar aktarım hızına sahip olursunuz.

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

Karşıya yükleme tamamlandıktan ve diske daha fazla veri yazmanıza gerek kalmadıktan sonra SAS'yi iptal edin. SAS'yi iptal etmek yönetilen diskin durumunu değiştirir ve diski bir VM'ye eklemenize olanak sağlar.

ve <yourresourcegroupname>değerini değiştirip <yourdiskname>aşağıdaki komutu kullanarak diski kullanılabilir hale getirin:

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

Yönetilen diski çoğaltma

Doğrudan karşıya yükleme, yönetilen diski kopyalama işlemini de basitleştirir. Aynı bölge içinde veya bölgeler arası (başka bir bölgeye) kopyalayabilirsiniz.

Aşağıdaki betik bunu sizin için yapar; işlem daha önce açıklanan adımlara benzer ve mevcut bir diskle çalıştığınız için bazı farklılıklar 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ürürken alt bilgiyi atladığıdır. Bunu yapmazsanız kopya başarısız olur. Aşağıdaki betik bunu sizin için zaten yapar.

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

Bahşiş

bir işletim sistemi diski oluşturuyorsanız öğesine ekleyin --hyper-v-generation <yourGeneration>az disk create.

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 --query [accessSas] -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, yeni bir VM oluşturmak için diski mevcut bir VM'ye veri diski olarak ekleyebilir veya diski işletim sistemi diski olarak vm'ye ekleyebilirsiniz.

Başka sorularınız varsa SSS bölümündeki Yönetilen diski karşıya yükleme bölümüne bakın.