Bir VHD dosyasını Azure'a yükleme veya yönetilen diski başka bir bölgeye kopyalama - Azure PowerShell
Şunlar için geçerlidir: ✔️ Windows VM'leri
Bu makalede, Azure PowerShell modülünü kullanarak yerel makinenizden Azure yönetilen diskine VHD yükleme veya yönetilen diski başka bir bölgeye kopyalama açıklanmaktadır. Doğrudan yükleme olarak da bilinen yönetilen diski karşıya yükleme işlemi, boyutu 32 TiB'a 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
- En son Azure PowerShell modülünü 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 PowerShell kullanarak Azure rolleri atama. Özel rol oluşturmak veya güncelleştirmek için bkz . Azure PowerShell kullanarak Azure özel rolleri oluşturma veya güncelleştirme.
Kullanmaya başlayın
Azure PowerShell modülüyle VHD'yi karşıya yüklemenin iki yolu vardır: İşlemin çoğunu sizin için otomatik hale getirecek Add-AzVHD komutunu kullanabilir veya yüklemeyi AzCopy ile el ile gerçekleştirebilirsiniz.
Premium SSD'ler, Standart SSD'ler ve Standart HDD'ler için genellikle Add-AzVHD kullanmalısınız. Bununla birlikte, Bir Ultra Diske veya Premium SSD v2'ye yükleniyorsanız ya da 50 GiB'den büyük bir VHD yüklemeniz gerekiyorsa, AzCopy ile VHD'yi veya VHDX'i el ile yüklemeniz gerekir. AzCopy ve Add-AzVhd kullanılarak VHD'ler 50 GiB ve daha büyük karşıya yükleme işlemleri şu anda ultra diske veya Premium SSD v2'ye yüklemeyi desteklememektedir.
Yönetilen diski bir bölgeden diğerine kopyalama hakkında yönergeler için bkz . Yönetilen diski kopyalama.
Add-AzVHD kullanma
Önkoşullar
- Azure PowerShell modülünü yükleyin.
- Azure için yerel olarak depolanan bir VHD hazırlanmıştır.
- Windows'da: VHD'nizi VHDx'e dönüştürmeniz, sabit bir boyuta dönüştürmeniz veya 512 baytlık uzaklığı içerecek şekilde yeniden boyutlandırmanız gerekmez.
Add-AZVHD
bu işlevleri sizin için gerçekleştirir.- Add-AzVHD'nin bu işlevleri gerçekleştirmesi için Hyper-V etkinleştirilmelidir.
- Linux'ta: Bu eylemleri el ile gerçekleştirmeniz gerekir. Ayrıntılar için bkz . VHD'leri yeniden boyutlandırma.
- Windows'da: VHD'nizi VHDx'e dönüştürmeniz, sabit bir boyuta dönüştürmeniz veya 512 baytlık uzaklığı içerecek şekilde yeniden boyutlandırmanız gerekmez.
VHD’yi karşıya yükleme
(İsteğe bağlı) Diske erişim izni verme
Microsoft Entra Id, bir abonelikte veya hesap düzeyinde karşıya yükleme kısıtlamalarını zorlamak için kullanılıyorsa, Add-AzVHD yalnızca uygun RBAC rolüne veya gerekli izinlere sahip bir kullanıcı tarafından denenirse başarılı olur. Diske erişim vermek ve yazılabilir bir SAS oluşturmak için RBAC izinleri atamanız gerekir.
New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName "Data Operator for Managed Disks" `
-Scope /subscriptions/<subscriptionId>
Add-AzVHD kullanma
Aşağıdaki örnek, Add-AzVHD kullanarak yerel makinenizden yeni bir Azure yönetilen diskine bir VHD yükler. , <your-resource-group-name>
ve<desired-region>
<desired-managed-disk-name>
değerlerini parametrelerinizle değiştirin<your-filepath-here>
:
Not
Karşıya yükleme kısıtlamalarını zorunlu kılmak için Microsoft Entra Id kullanıyorsanız komutunun Add-AzVhd
sonuna ekleyinDataAccessAuthMode 'AzureActiveDirectory'
.
# Required parameters
$path = <your-filepath-here>.vhd
$resourceGroup = <your-resource-group-name>
$location = <desired-region>
$name = <desired-managed-disk-name>
# Optional parameters
# $Zone = <desired-zone>
# $sku=<desired-SKU>
# -DataAccessAuthMode 'AzureActiveDirectory'
# -DiskHyperVGeneration = V1 or V2. This applies only to OS disks.
# To use $Zone or #sku, add -Zone or -DiskSKU parameters to the command
Add-AzVhd -LocalFilePath $path -ResourceGroupName $resourceGroup -Location $location -DiskName $name
El ile karşıya yükleme
Önkoşullar
- AzCopy v10'un en son sürümünü indirin.
- Azure PowerShell modülünü yükleyin.
- Azure için hazırlanmış, yerel olarak depolanan sabit boyutlu bir VHD.
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:
- ReadyToUpload, 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. Örnek kod bunu sizin için alır, ancak bunu kendiniz yapmak için şunları kullanabilirsiniz: $vhdSizeBytes = (Get-Item "<fullFilePathHere>").length
. Bu değer - UploadSizeInBytes parametresi belirtilirken kullanılır.
Şimdi yerel kabuğunuzda, -CreateOption parametresinde Karşıya Yükle ayarını ve New-AzDiskConfig cmdlet'indeki -UploadSizeInBytes parametresini belirterek karşıya yüklemek için boş bir standart HDD oluşturun. Ardından New-AzDisk'i çağırarak diski oluşturun.
, ve <yourresourcegroupname>
<yourregion>
yerine <yourdiskname>
aşağıdaki komutları çalıştırın:
Önemli
İşletim sistemi diski oluşturuyorsanız öğesine ekleyin -HyperVGeneration '<yourGeneration>'
New-AzDiskConfig
.
Karşıya yüklemelerinizin güvenliğini sağlamak için Microsoft Entra Id kullanıyorsanız öğesine ekleyin -dataAccessAuthMode 'AzureActiveDirectory'
New-AzDiskConfig
.
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.
$vhdSizeBytes = (Get-Item "<fullFilePathHere>").length
## For Ultra Disks or Premium SSD v2, add -LogicalSectorSize and specify either 4096 or 512, depending on if you're using a VHDX or a VHD
$diskconfig = New-AzDiskConfig -SkuName 'Standard_LRS' -OsType 'Windows' -UploadSizeInBytes $vhdSizeBytes -Location '<yourregion>' -CreateOption 'Upload'
New-AzDisk -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>' -Disk $diskconfig
Farklı bir disk türünü karşıya yüklemek istiyorsanız Standard_LRS yerine Premium_LRS, Premium_ZRS, StandardSSD_ZRS, StandardSSD_LRS veya UltraSSD_LRS yazın.
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.
Ö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 komutları kullanın:
$diskSas = Grant-AzDiskAccess -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>' -DurationInSecond 86400 -Access 'Write'
$disk = Get-AzDisk -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>'
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" $diskSas.AccessSAS --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>
öğesini değiştirip <yourdiskname>
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 diski kopyalama işlemini de basitleştirir. Aynı bölge içinde kopyalayabilir veya yönetilen diskinizi başka bir bölgeye kopyalayabilirsiniz.
Aşağıdaki betik bunu sizin için yapar; mevcut bir diskle çalıştığınız için işlem daha önce açıklanan adımlara benzer ve bazı farklılıklar gösterir.
Ö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>
<yourOSTypeHere>
<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 -HyperVGeneration '<yourGeneration>'
New-AzDiskConfig
.
$sourceRG = <sourceResourceGroupHere>
$sourceDiskName = <sourceDiskNameHere>
$targetDiskName = <targetDiskNameHere>
$targetRG = <targetResourceGroupHere>
$targetLocate = <yourTargetLocationHere>
$targetVmGeneration = "V1" # either V1 or V2
#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' -HyperVGeneration $targetVmGeneration
$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
Artık bir VHD'yi yönetilen diske başarıyla yüklediğinize göre, diskinizi bir VM'ye ekleyebilir ve kullanmaya başlayabilirsiniz.
Vm'ye veri diski eklemeyi öğrenmek için, konuyla ilgili makalemize bakın: PowerShell ile Windows VM'sine veri diski ekleme. Diski işletim sistemi diski olarak kullanmak için bkz . Özelleştirilmiş bir diskten Windows VM oluşturma.
Başka sorularınız varsa SSS bölümünde yönetilen diski karşıya yükleme bölümüne bakın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin