Upload a VHD to Azure or copy a managed disk to another region - Azure PowerShell

A következőkre vonatkozik: ✔️ Windows rendszerű virtuális gépek

Ez a cikk bemutatja, hogyan tölthet fel virtuális merevlemezt a helyi gépről egy Azure-beli felügyelt lemezre, vagy hogyan másolhat egy felügyelt lemezt egy másik régióba az Azure PowerShell-modul használatával. A felügyelt lemezek feltöltésének folyamata( más néven közvetlen feltöltés) lehetővé teszi, hogy akár 32 TiB méretű VHD-t közvetlenül egy felügyelt lemezre töltsön fel. Jelenleg a közvetlen feltöltés támogatott az Ultra Disks, a Premium SSD v2, a Premium SSD, a Standard SSD és a Standard HDD esetében.

Ha biztonsági mentési megoldást biztosít az Azure-beli IaaS virtuális gépekhez, a közvetlen feltöltéssel visszaállíthatja az ügyfelek biztonsági mentéseit a felügyelt lemezekre. Ha egy VHD-t külső forrásból tölt fel az Azure-ba, a sebesség a helyi sávszélességtől függ. Azure-beli virtuális gépről való feltöltéskor vagy másoláskor a sávszélesség megegyezik a standard HDD-kkel.

Biztonságos feltöltések a Microsoft Entra-azonosítóval

Ha a Microsoft Entra ID-t használja az erőforrás-hozzáférés szabályozásához, mostantól korlátozhatja az Azure-beli felügyelt lemezek feltöltését. Ez a funkció ga-ajánlatként érhető el minden régióban. Amikor egy felhasználó megpróbál feltölteni egy lemezt, az Azure ellenőrzi a kérelmező felhasználó identitását a Microsoft Entra-azonosítóban, és megerősíti, hogy a felhasználó rendelkezik a szükséges engedélyekkel. Magasabb szinten a rendszergazda beállíthat egy szabályzatot az Azure-fiók vagy az előfizetés szintjén annak biztosítása érdekében, hogy a Microsoft Entra-identitás rendelkezzen a feltöltéshez szükséges engedélyekkel, mielőtt lehetővé tenné a lemez vagy a lemez pillanatképének feltöltését. Ha kérdése van a Feltöltések Microsoft Entra-azonosítóval való biztonságossá tételével kapcsolatban, lépjen kapcsolatba a következő e-mail-címen: azuredisks@microsoft .com

Előfeltételek

Restrictions

  • A virtuális merevlemezek nem tölthetők fel üres pillanatképekbe.
  • Az Azure Backup jelenleg nem támogatja a Microsoft Entra-azonosítóval védett lemezeket.
  • Az Azure Site Recovery jelenleg nem támogatja a Microsoft Entra-azonosítóval védett lemezeket.

RBAC-szerepkör hozzárendelése

A Microsoft Entra-azonosítóval védett felügyelt lemezek eléréséhez a kérelmező felhasználónak rendelkeznie kell a felügyelt lemezek adatszolgáltatói szerepkörével, vagy egy egyéni szerepkörrel, amely a következő engedélyekkel rendelkezik:

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

A szerepkörök hozzárendelésének részletes lépéseit az Azure-szerepkörök hozzárendelése az Azure PowerShell használatával című témakörben találja. Egyéni szerepkörök létrehozásához vagy frissítéséhez lásd : Egyéni Azure-szerepkörök létrehozása vagy frissítése az Azure PowerShell használatával.

Első lépések

A VHD-t kétféleképpen töltheti fel az Azure PowerShell-modullal: használhatja az Add-AzVHD parancsot, amely automatizálja a folyamat nagy részét, vagy manuálisan is végrehajthatja a feltöltést az AzCopy használatával.

Prémium SSD-k, Standard SSD-k és Standard HDD-k esetén általában az Add-AzVHD-t kell használnia. Ha azonban ultralemezre vagy Prémium SSD v2-re tölt fel, vagy 50 GiB-nél nagyobb VHD-t kell feltöltenie, manuálisan kell feltöltenie a VHD-t vagy a VHDX-et az AzCopyval. Az 50 GiB-es és nagyobb méretű VHD-k az AzCopy és az Add-AzVhd használatával jelenleg nem támogatják az Ultra Disk-be vagy prémium SSD-2-be való feltöltést.

A felügyelt lemezek egyik régióból a másikba történő másolásáról a Felügyelt lemez másolása című témakörben talál útmutatást.

Az Add-AzVHD használata

Előfeltételek

  • Telepítse az Azure PowerShell-modult.
  • A VHD-t előkészítették az Azure-hoz, helyileg tárolva.
    • Windows rendszeren: Nem kell VHD-t VHDx-gé konvertálnia, rögzített méretűre konvertálnia, vagy átméreteznie, hogy belefoglalja az 512 bájtos eltolást. Add-AZVHD végrehajtja ezeket a függvényeket.
      • A Hyper-V-t engedélyezni kell ahhoz, hogy az Add-AzVHD végrehajtsa ezeket a függvényeket.
    • Linuxon: Ezeket a műveleteket manuálisan kell végrehajtania. Részletekért tekintse meg a virtuális merevlemezek átméretezését ismertető cikket.

VHD feltöltése

(Nem kötelező) Hozzáférés biztosítása a lemezhez

Ha a Microsoft Entra-azonosítót egy előfizetés vagy a fiók szintjén történő feltöltési korlátozások kényszerítésére használják, az Add-AzVHD csak akkor sikeres, ha egy megfelelő RBAC-szerepkörrel vagy szükséges engedélyekkel rendelkező felhasználó próbálkozik. RBAC-engedélyeket kell hozzárendelnie a lemezhez való hozzáférés biztosításához és egy írható SAS létrehozásához.

New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName "Data Operator for Managed Disks" `
-Scope /subscriptions/<subscriptionId>

Az Add-AzVHD használata

Az alábbi példa egy VHD-t tölt fel a helyi gépről egy új Azure-beli felügyelt lemezre az Add-AzVHD használatával. Cserélje le <your-filepath-here>a , <your-resource-group-name>,<desired-region>, és <desired-managed-disk-name> a paramétereket:

Megjegyzés:

Ha Microsoft Entra-azonosítót használ a feltöltési korlátozások kényszerítéséhez, adja hozzá DataAccessAuthMode 'AzureActiveDirectory' a parancs végéhez Add-AzVhd .

# 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

Manuális feltöltés

Előfeltételek

A VHD Azure-ba való feltöltéséhez létre kell hoznia egy üres felügyelt lemezt, amely konfigurálva van ehhez a feltöltési folyamathoz. A létrehozás előtt további információkat kell tudnia ezekről a lemezekről.

Az ilyen típusú felügyelt lemeznek két egyedi állapota van:

Megjegyzés:

A felügyelt lemezt a rendszer a lemez tényleges típusától függetlenül standard HDD-díjszabással számlázja. A P10-ek például S10-ként lesznek számlázva. Ez mindaddig igaz lesz, amíg revoke-access a rendszer nem hívja meg a felügyelt lemezt, ami a lemez virtuális géphez való csatlakoztatásához szükséges.

Üres felügyelt lemez létrehozása

Mielőtt létrehozna egy üres standard HDD-t a feltöltéshez, szüksége lesz a feltölteni kívánt virtuális merevlemez fájlméretére bájtban. A példakód ezt fogja megkapni, de saját maga is használhatja: $vhdSizeBytes = (Get-Item "<fullFilePathHere>").length. Ez az érték az -UploadSizeInBytes paraméter megadásakor használatos.

Most a helyi rendszerhéjon hozzon létre egy üres standard HDD-t a feltöltéshez a -CreateOption paraméter feltöltési beállításának, valamint a New-AzDiskConfig parancsmag -UploadSizeInBytes paraméterének megadásával. Ezután hívja meg a New-AzDisket a lemez létrehozásához.

Cserélje le <yourdiskname>, <yourresourcegroupname>majd <yourregion> futtassa a következő parancsokat:

Fontos

Ha operációsrendszer-lemezt hoz létre, adja hozzá a fájlhoz -HyperVGeneration '<yourGeneration>'New-AzDiskConfig.

Ha Microsoft Entra-azonosítót használ a feltöltések biztonságossá tételéhez, adja hozzá -dataAccessAuthMode 'AzureActiveDirectory' a következőhöz New-AzDiskConfig: .
Ultralemezre vagy Prémium SSD v2-be való feltöltéskor ki kell választania a céllemez megfelelő szektorméretét. Ha 4k logikai szektorméretű VHDX-fájlt használ, a céllemezt 4k értékre kell állítani. Ha 512 logikai szektorméretű VHD-fájlt használ, a céllemeznek 512-re kell állítania.

Az 512k logikai szektorméretű VHDX-fájlok nem támogatottak.

$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

Ha másik lemeztípust szeretne feltölteni, cserélje le Standard_LRSPremium_LRS, Premium_ZRS, StandardSSD_ZRS, StandardSSD_LRS vagy UltraSSD_LRS.

Írható SAS létrehozása

Most, hogy létrehozott egy üres felügyelt lemezt, amely konfigurálva van a feltöltési folyamathoz, feltölthet hozzá egy virtuális merevlemezt. A VHD lemezre való feltöltéséhez írható SAS-ra lesz szüksége, hogy hivatkozzon rá a feltöltés céljaként.

Ha írható SAS-t szeretne létrehozni az üres felügyelt lemezről, cserélje le <yourdiskname>és <yourresourcegroupname>használja a következő parancsokat:

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

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

VHD vagy VHDX feltöltése

Most, hogy rendelkezik sassal az üres felügyelt lemezhez, beállíthatja a felügyelt lemezt a feltöltési parancs célhelyeként.

Az AzCopy v10 használatával feltöltheti a helyi VHD- vagy VHDX-fájlt egy felügyelt lemezre a létrehozott SAS URI megadásával.

Ez a feltöltés ugyanolyan átviteli sebességgel rendelkezik, mint az egyenértékű standard HDD. Ha például S4-nek felel meg a mérete, akár 60 MiB/s átviteli sebességgel is rendelkezhet. Ha azonban S70-nek felel meg a mérete, akár 500 MiB/s átviteli sebességgel is rendelkezhet.

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

Miután a feltöltés befejeződött, és már nem kell további adatokat írnia a lemezre, vonja vissza az SAS-t. Az SAS visszavonása megváltoztatja a felügyelt lemez állapotát, és lehetővé teszi, hogy a lemezt egy virtuális géphez csatolja.

Cserélje le <yourdiskname>és <yourresourcegroupname>futtassa a következő parancsot:

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

Felügyelt lemez másolása

A közvetlen feltöltés leegyszerűsíti a felügyelt lemezek másolásának folyamatát is. Másolhat ugyanazon a régión belül, vagy átmásolhatja a felügyelt lemezt egy másik régióba.

Az alábbi szkript ezt teszi ön helyett, a folyamat hasonló a korábban ismertetett lépésekhez, néhány különbséggel, mivel egy meglévő lemezzel dolgozik.

Fontos

512-es eltolást kell hozzáadnia, ha a lemezméretet egy felügyelt lemez bájtjában adja meg az Azure-ból. Ennek az az oka, hogy az Azure kihagyja az élőlábat a lemezméret visszaadásakor. Ha ezt nem teszi meg, a másolat sikertelen lesz. Az alábbi szkript már elvégzi ezt Önnek.

Cserélje le a <sourceResourceGroupHere>, <sourceDiskNameHere>, <targetDiskNameHere>, <yourOSTypeHere><targetResourceGroupHere>és <yourTargetLocationHere> (például egy helyértékre a uswest2) értéket, majd futtassa a következő szkriptet egy felügyelt lemez másolásához.

Tipp.

Ha operációsrendszer-lemezt hoz létre, adja hozzá a következőhöz -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 

Következő lépések

Most, hogy sikeresen feltöltött egy virtuális merevlemezt egy felügyelt lemezre, csatlakoztathatja a lemezt egy virtuális géphez, és megkezdheti a használatát.

Ha tudni szeretné, hogyan csatolhat adatlemezt egy virtuális géphez, tekintse meg a következő témakört: Adatlemez csatolása Windows rendszerű virtuális géphez a PowerShell-lel. A lemez operációsrendszer-lemezként való használatához lásd : Windows rendszerű virtuális gép létrehozása speciális lemezről.

Ha további kérdései merülnek fel, tekintse meg a felügyelt lemezek feltöltéséről szóló szakaszt a gyakori kérdések között.