Przekazywanie dysku VHD na platformę Azure lub kopiowanie dysku zarządzanego do innego regionu — Interfejs wiersza polecenia platformy Azure
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny wirtualne z systemem Windows — elastyczne zestawy ✔️ ✔️ skalowania
W tym artykule wyjaśniono, jak przekazać dysk VHD z komputera lokalnego do dysku zarządzanego platformy Azure lub skopiować dysk zarządzany do innego regionu przy użyciu narzędzia AzCopy. Ten proces, bezpośredni przekazywanie, umożliwia przekazanie dysku VHD o rozmiarze do 32 TiB bezpośrednio na dysk zarządzany. Obecnie bezpośrednie przekazywanie jest obsługiwane w przypadku dysków Ultra Disk, SSD w warstwie Premium w wersji 2, SSD w warstwie Premium, dysków SSD w warstwie Standardowa i hdd w warstwie Standardowa.
Jeśli udostępniasz rozwiązanie do tworzenia kopii zapasowych dla maszyn wirtualnych IaaS na platformie Azure, należy użyć bezpośredniego przekazywania w celu przywrócenia kopii zapasowych klientów na dyski zarządzane. Podczas przekazywania wirtualnego dysku twardego ze źródła zewnętrznego do platformy Azure szybkość zależy od przepustowości lokalnej. Podczas przekazywania lub kopiowania z maszyny wirtualnej platformy Azure przepustowość będzie taka sama jak dyski HDD w warstwie Standardowa.
Bezpieczne przekazywanie za pomocą identyfikatora Entra firmy Microsoft
Jeśli używasz identyfikatora Entra firmy Microsoft do kontrolowania dostępu do zasobów, możesz teraz użyć go do ograniczenia przekazywania dysków zarządzanych platformy Azure. Ta funkcja jest dostępna jako oferta ogólnie dostępna we wszystkich regionach. Gdy użytkownik próbuje przekazać dysk, platforma Azure weryfikuje tożsamość żądanego użytkownika w identyfikatorze Entra firmy Microsoft i potwierdza, że użytkownik ma wymagane uprawnienia. Na wyższym poziomie administrator systemu może ustawić zasady na poziomie konta platformy Azure lub subskrypcji, aby upewnić się, że tożsamość firmy Microsoft Entra ma niezbędne uprawnienia do przekazywania przed zezwoleniem na przekazanie dysku lub migawki dysku. Jeśli masz pytania dotyczące zabezpieczania przekazywania przy użyciu identyfikatora Microsoft Entra ID, skontaktuj się z tą wiadomością e-mail: azuredisks@microsoft .com
Wymagania wstępne
- Zainstaluj interfejs wiersza polecenia platformy Azure.
Ograniczenia
- Dysków VHD nie można przekazać do pustych migawek.
- Usługa Azure Backup obecnie nie obsługuje dysków zabezpieczonych za pomocą identyfikatora Entra firmy Microsoft.
- Usługa Azure Site Recovery obecnie nie obsługuje dysków zabezpieczonych za pomocą identyfikatora Entra firmy Microsoft.
Przypisywanie roli RBAC
Aby uzyskać dostęp do dysków zarządzanych zabezpieczonych za pomocą identyfikatora Entra firmy Microsoft, użytkownik żądający musi mieć rolę operator danych dla Dyski zarządzane lub rolę niestandardową z następującymi uprawnieniami:
- Microsoft.Compute/disks/download/action
- Microsoft.Compute/disks/upload/action
- Microsoft.Compute/snapshots/download/action
- Microsoft.Compute/snapshots/upload/action
Aby uzyskać szczegółowe instrukcje dotyczące przypisywania roli, zobacz Przypisywanie ról platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure. Aby utworzyć lub zaktualizować rolę niestandardową, zobacz Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Rozpocznij
Jeśli wolisz przekazywać dyski za pomocą graficznego interfejsu użytkownika, możesz to zrobić przy użyciu Eksplorator usługi Azure Storage. Aby uzyskać szczegółowe informacje, zobacz: Zarządzanie dyskami zarządzanymi platformy Azure przy użyciu Eksplorator usługi Azure Storage
Wymagania wstępne
- Pobierz najnowszą wersję narzędzia AzCopy w wersji 10.
- Zainstaluj interfejs wiersza polecenia platformy Azure.
- Jeśli zamierzasz przekazać wirtualny dysk twardy ze środowiska lokalnego: stały rozmiar dysku VHD, który został przygotowany na platformę Azure, przechowywany lokalnie.
- Lub dysk zarządzany na platformie Azure, jeśli zamierzasz wykonać akcję kopiowania.
Aby przekazać dysk VHD na platformę Azure, należy utworzyć pusty dysk zarządzany skonfigurowany na potrzeby tego procesu przekazywania. Przed utworzeniem jednego z nich znajdują się dodatkowe informacje, które należy wiedzieć o tych dyskach.
Ten rodzaj dysku zarządzanego ma dwa unikatowe stany:
- ReadToUpload, co oznacza, że dysk jest gotowy do odbierania przekazywania, ale nie wygenerowano podpisu bezpiecznego dostępu (SAS ).
- ActiveUpload, co oznacza, że dysk jest gotowy do odebrania przekazywania, a sygnatura dostępu współdzielonego została wygenerowana.
Uwaga
Mimo że w jednym z tych stanów dysk zarządzany będzie rozliczany zgodnie ze standardowymi cenami dysków HDD, niezależnie od rzeczywistego typu dysku. Na przykład wartość P10 będzie rozliczana jako S10. Będzie to prawdziwe do momentu revoke-access
wywołania na dysku zarządzanym, który jest wymagany do dołączenia dysku do maszyny wirtualnej.
Tworzenie pustego dysku zarządzanego
Przed utworzeniem pustego standardowego dysku twardego do przekazania potrzebny jest rozmiar pliku dysku VHD, który chcesz przekazać w bajtach. Aby to uzyskać, możesz użyć polecenia wc -c <yourFileName>.vhd
lub ls -al <yourFileName>.vhd
. Ta wartość jest używana podczas określania parametru --upload-size-bytes .
Utwórz pusty standardowy dysk twardy do przekazywania, określając parametr --for-upload i parametr --upload-size-bytes w poleceniu cmdlet create dysku:
Zastąp ciąg <yourdiskname>
, <yourresourcegroupname>
<yourregion>
wybranymi wartościami. Parametr --upload-size-bytes
zawiera przykładową wartość 34359738880
, zastąp ją wartością odpowiednią dla Ciebie.
Ważne
Jeśli tworzysz dysk systemu operacyjnego, dodaj --hyper-v-generation <yourGeneration>
go do pliku az disk create
.
Jeśli używasz identyfikatora Entra firmy Microsoft do zabezpieczania przekazywania dysków, dodaj element -dataAccessAuthmode 'AzureActiveDirectory'
.
Podczas przekazywania do dysku Ultra Disk lub SSD w warstwie Premium w wersji 2 należy wybrać prawidłowy rozmiar sektora dysku docelowego. Jeśli używasz pliku VHDX o rozmiarze sektora logicznego 4k, dysk docelowy musi być ustawiony na 4k. Jeśli używasz pliku VHD o rozmiarze sektora logicznego 512, dysk docelowy musi być ustawiony na 512.
Pliki VHDX o rozmiarze sektora logicznego 512k nie są obsługiwane.
##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
Jeśli chcesz przekazać inny typ dysku, zastąp standard_lrs premium_lrs, premium_zrs, standardssd_lrs, standardssd_zrs, premiumv2_lrs lub ultrassd_lrs.
(Opcjonalnie) Udzielanie dostępu do dysku
Jeśli używasz identyfikatora Entra firmy Microsoft do zabezpieczania przekazywania, musisz przypisać uprawnienia RBAC, aby udzielić dostępu do dysku i wygenerować zapisywalną sygnaturę dostępu współdzielonego.
az role assignment create --assignee "{assignee}" \
--role "{Data Operator for Managed Disks}" \
--scope "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceSubType}/{diskName}"
Generowanie zapisywalnej sygnatury dostępu współdzielonego
Po utworzeniu pustego dysku zarządzanego skonfigurowanego dla procesu przekazywania możesz przekazać do niego dysk VHD. Aby przekazać dysk VHD na dysk, potrzebny jest zapisywalny sygnatura dostępu współdzielonego, aby można było odwoływać się do niego jako miejsce docelowe przekazywania.
Ważne
15 lutego 2025 r. czas dostępu sygnatury dostępu współdzielonego (SAS) dla dysków i migawek będzie ograniczony do maksymalnie 60 dni. Próba wygenerowania sygnatury dostępu współdzielonego z wygaśnięciem dłuższym niż 60 dni powoduje wystąpienie błędu. Każda istniejąca sygnatura dostępu współdzielonego dysku lub migawki utworzona z wygaśnięciem dłuższym niż 60 dni może przestać działać 60 dni po dacie utworzenia i spowoduje wystąpienie błędu 403 podczas autoryzacji.
Jeśli wygaśnięcie dysku zarządzanego lub sygnatury dostępu współdzielonego migawki jest dłuższe niż 60 dni, odwołaj dostęp i wygeneruj nową sygnaturę dostępu współdzielonego żądającą dostępu przez 60 dni (5184 000 sekund) lub mniej. Zwiększ ogólne bezpieczeństwo przy użyciu sygnatury dostępu współdzielonego z krótszymi datami wygaśnięcia. Wprowadź te zmiany przed 15 lutego 2025 r., aby zapobiec przerwom w działaniu usługi. Poniższe linki mogą służyć do znajdowania, odwoływanie i żądanie nowej sygnatury dostępu współdzielonego.
- Aby sprawdzić, czy dysk ma aktywną sygnaturę dostępu współdzielonego, możesz użyć interfejsu API REST, interfejsu wiersza polecenia platformy Azure lub modułu programu Azure PowerShell i zbadać właściwość DiskState.
- Aby odwołać sygnaturę dostępu współdzielonego, możesz użyć interfejsu API REST, interfejsu wiersza polecenia platformy Azure lub modułu Azure PowerShell.
- Aby utworzyć sygnaturę dostępu współdzielonego, możesz użyć interfejsu API REST, interfejsu wiersza polecenia platformy Azure lub modułu programu Azure PowerShell i ustawić czas trwania dostępu na 5184 000 sekund lub mniej.
Aby wygenerować zapisywalną sygnaturę dostępu współdzielonego pustego dysku zarządzanego, zastąp wartości <yourdiskname>
, a <yourresourcegroupname>
następnie użyj następującego polecenia:
az disk grant-access -n <yourdiskname> -g <yourresourcegroupname> --access-level Write --duration-in-seconds 86400
Zwrócona wartość przykładu:
{
"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"
}
Przekazywanie dysku VHD lub VHDX
Teraz, gdy masz sygnaturę dostępu współdzielonego dla pustego dysku zarządzanego, możesz użyć go do ustawienia dysku zarządzanego jako miejsca docelowego dla polecenia przekazywania.
Użyj narzędzia AzCopy w wersji 10, aby przekazać lokalny plik VHD lub VHDX na dysk zarządzany, określając wygenerowany identyfikator URI sygnatury dostępu współdzielonego.
Ten przekazywanie ma taką samą przepływność jak równoważny dysk TWARDY w warstwie Standardowa. Na przykład jeśli masz rozmiar, który odpowiada S4, przepływność będzie wynosić do 60 MiB/s. Jednak jeśli masz rozmiar, który odpowiada S70, będziesz mieć przepływność do 500 MiB/s.
AzCopy.exe copy "c:\somewhere\mydisk.vhd" "sas-URI" --blob-type PageBlob
Po zakończeniu przekazywania i nie trzeba już zapisywać więcej danych na dysku, odwoływanie sygnatury dostępu współdzielonego. Odwołanie sygnatury dostępu współdzielonego zmienia stan dysku zarządzanego i umożliwia dołączenie dysku do maszyny wirtualnej.
Zastąp <yourdiskname>
wartości i <yourresourcegroupname>
, a następnie użyj następującego polecenia, aby dysk był dostępny:
az disk revoke-access -n <yourdiskname> -g <yourresourcegroupname>
Kopiowanie dysku zarządzanego
Bezpośrednie przekazywanie upraszcza również proces kopiowania dysku zarządzanego. Możesz skopiować w tym samym regionie lub między regionami (do innego regionu).
Poniższy skrypt wykonuje to za Ciebie. Proces jest podobny do opisanych wcześniej kroków, z pewnymi różnicami, ponieważ pracujesz z istniejącym dyskiem.
Ważne
Musisz dodać przesunięcie 512, gdy udostępniasz rozmiar dysku w bajtach dysku zarządzanego z platformy Azure. Dzieje się tak, ponieważ platforma Azure pomija stopkę podczas zwracania rozmiaru dysku. Kopiowanie zakończy się niepowodzeniem, jeśli tego nie zrobisz. Poniższy skrypt już to robi.
Zastąp wartości <sourceResourceGroupHere>
, , <sourceDiskNameHere>
<targetDiskNameHere>
, <targetResourceGroupHere>
i <yourTargetLocationHere>
(przykładem wartości lokalizacji będzie uswest2), a następnie uruchom następujący skrypt, aby skopiować dysk zarządzany.
Napiwek
Jeśli tworzysz dysk systemu operacyjnego, dodaj --hyper-v-generation <yourGeneration>
element do .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
Następne kroki
Po pomyślnym przekazaniu wirtualnego dysku twardego do dysku zarządzanego możesz dołączyć dysk jako dysk danych do istniejącej maszyny wirtualnej lub dołączyć dysk do maszyny wirtualnej jako dysk systemu operacyjnego, aby utworzyć nową maszynę wirtualną.
Jeśli masz więcej pytań, zobacz sekcję Przekazywanie dysku zarządzanego w często zadawanych pytaniach.