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
Önkoşullar
- Azure CLI'yi yükleyin.
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.
Kullanmaya başlayın
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
Önkoşullar
- AzCopy v10'un en son sürümünü indirin.
- Azure CLI'yi yükleyin.
- Şirket içinden bir VHD'yi karşıya yüklemeyi planlıyorsanız: Azure için hazırlanmış ve yerel olarak depolanan sabit boyutlu bir VHD.
- Kopyalama eylemi gerçekleştirmek istiyorsanız Azure'da yönetilen disk de kullanabilirsiniz.
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.
Not
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>.vhd
kullanabilirsinizwc -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 34359738880
iç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, karşıya yükleme hedefi olarak başvurabilmeniz için yazılabilir bir SAS'ye ihtiyacınız vardır.
Önemli
15 Şubat 2025'te, diskler ve anlık görüntüler için Paylaşılan Erişim İmzası (SAS) erişim süresi en fazla 60 gün ile sınırlandırılacaktır. Süresi 60 günden uzun olan bir SAS oluşturmaya çalışmak hatayla sonuçlanır. Süresi 60 günden uzun olan bir süre sonuyla oluşturulan tüm mevcut diskler veya anlık görüntü SAS'leri, oluşturma tarihinden 60 gün sonra çalışmayı durdurabilir ve yetkilendirme sırasında 403 hatasıyla sonuçlanır.
Yönetilen disk veya anlık görüntü SAS'lerinin süre sonu 60 günden uzunsa, erişimini iptal edin ve 60 gün (5.184.000 saniye) veya daha kısa süreyle erişim isteyen yeni bir SAS oluşturun. Daha kısa süre sonu tarihleriyle SAS kullanarak genel güvenliğinizi geliştirin. Hizmet kesintisini önlemek için bu değişiklikleri 15 Şubat 2025'den önce yapın. Aşağıdaki bağlantılar yeni bir SAS bulmak, iptal etmek ve istemek için kullanılabilir.
- Diskin etkin bir SAS'si olup olmadığını denetlemek için REST API, Azure CLI veya Azure PowerShell modülünü kullanabilir ve DiskState özelliğini inceleyebilirsiniz.
- SAS'yi iptal etmek için REST API, Azure CLI veya Azure PowerShell modülünü kullanabilirsiniz.
- SAS oluşturmak için REST API, Azure CLI veya Azure PowerShell modülünü kullanabilir ve erişim süresini 5.184.000 saniye veya daha kısa olarak ayarlayabilirsiniz.
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 iptali 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. İş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.
İpucu
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.
Daha fazla sorunuz varsa SSS bölümündeki Yönetilen diski karşıya yükleme bölümüne bakın.