Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Maszyny wirtualne platformy Azure (VM) obsługują dwa interfejsy kontrolerów magazynu: Small Computer System Interface (SCSI) i NVM Express (NVMe). SCSI to starszy standard, który zapewnia łączność fizyczną i transfer danych między komputerami i urządzeniami peryferyjnymi. Urządzenie NVMe zapewnia podobną łączność, ale jest szybszym i bardziej wydajnym interfejsem do transferu danych między serwerami i systemami magazynowania.
W tym artykule pokazano, jak przekonwertować maszynę wirtualną Azure z kontrolera dysku SCSI na nvme przy użyciu narzędzia Azure Boost i skryptu konwersji Azure NVMe. Ten sam skrypt i procedura mają zastosowanie do:
- Maszyny wirtualne z systemem Linux i Windows.
- Maszyny wirtualne z dyskami danych lub bez tych dysków oraz dysk tymczasowy.
Azure nadal obsługuje interfejs SCSI w ofertach maszyn wirtualnych, które oferują magazyn danych SCSI. Jednak nie wszystkie nowe serie maszyn wirtualnych obejmują SCSI jako opcję w przyszłości.
Co się zmienia dla maszyny wirtualnej?
Zmiana interfejsu hosta z SCSI na NVMe nie powoduje zmiany magazynu zdalnego (dysku systemu operacyjnego lub dysków danych). Zmienia sposób korzystania z dysków przez system operacyjny.
| Disk | Maszyna wirtualna SCSI | Maszyna wirtualna NVMe (wersja 5 z dyskiem tymczasowym) | Maszyna wirtualna NVMe (wersja 6) |
|---|---|---|---|
| Dysk systemu operacyjnego | /dev/sda | /dev/nvme0n1 | /dev/nvme0n1 |
| Dysk tymczasowy | /dev/sdb | /dev/sda | /dev/nvme1n1 |
| Pierwszy dysk danych | /dev/sdc | /dev/nvme0n2 | /dev/nvme0n2 |
Konwertowanie maszyny wirtualnej Azure z SCSI na nvme przy użyciu narzędzia Azure Boost może pomóc w pełni wykorzystać te ulepszenia wydajności i utrzymać przewagę konkurencyjną w środowisku przetwarzania w chmurze.
Migrowanie maszyny wirtualnej z SCSI do nvme
Aby przeprowadzić migrację z SCSI do nvme, wykonaj następujące ogólne kroki:
- Sprawdź, czy seria maszyn wirtualnych obsługuje nvme.
- Sprawdź wymagania wstępne dotyczące systemu operacyjnego.
- Przekonwertuj maszynę wirtualną na nvme.
- Sprawdź konwersję.
Note
Niestandardowe maszyny wirtualne uruchamiające oprogramowanie innych firm, które może modyfikować zachowanie podczas rozruchu, sterowniki magazynu danych, sterowniki filtrujące lub wykrywanie dysków, nie są obecnie obsługiwanym scenariuszem migracji. Przykłady obejmują niektóre produkty do tworzenia kopii zapasowych, zabezpieczeń, ochrony punktu końcowego i zarządzania magazynem. W przypadku tych konfiguracji Azure pomoc techniczna może mieć ograniczoną możliwość diagnozowania lub korygowania błędów migracji. Przetestuj konwersję na reprezentatywnej maszynie wirtualnej nieprodukcyjnej przed kontynuowaniem pracy z obciążeniami produkcyjnymi.
1. Sprawdź, czy seria maszyn wirtualnych obsługuje urządzenie NVMe
W tabeli dostępności Azure Boost wymieniono rozmiary maszyn wirtualnych, które obsługują dyski dołączone do nvme.
2. Sprawdź wymagania wstępne
Przed rozpoczęciem upewnij się, że masz następujące wymagania wstępne:
- Subskrypcja Azure i maszyna wirtualna, którą należy przekonwertować z SCSI na nvme lub NVMe na SCSI
- Program PowerShell i moduł Az zainstalowany i skonfigurowany
- Odpowiednie uprawnienia do wykonywania skryptów w zasobach Azure
3. Użycie
Aby uruchomić skrypt, otwórz program PowerShell jako administrator i wykonaj następujące kroki:
- Zainstaluj program PowerShell lub uruchom skrypt w Azure Cloud Shell.
Wskazówka
Zainstaluj program PowerShell przy użyciu dokumentacji programu PowerShell.
- Zezwalaj na niepodpisane pliki skryptów programu PowerShell.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
- Nawiąż połączenie z kontem Azure przy użyciu polecenia
Connect-AzAccount.
Connect-AzAccount
- Upewnij się, że masz połączenie z subskrypcją. Aby zmienić subskrypcję, użyj polecenia
Set-AzContext.
Select-AzSubscription -Subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Pobierz skrypt.
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/SAP-on-Azure-Scripts-and-Utilities/refs/heads/main/Azure-NVMe-Utils/Azure-NVMe-Conversion.ps1" -OutFile ".\Azure-NVMe-Conversion.ps1"
- Uruchom skrypt konwersji.
.\Azure-NVMe-Conversion.ps1
Note
Jeśli zmieniasz rozmiar maszyny wirtualnej między rozmiarami obsługującymi różne typy dysków zasobów (tymczasowych), Twoja subskrypcja platformy Azure musi być zarejestrowana dla funkcji VMTempDiskResizePreview. Jeśli funkcja nie jest zarejestrowana, skrypt kończy działanie z powodu błędu. Zarejestruj funkcję przy użyciu następującego polecenia, poczekaj 10 minut, aż automatyczne zatwierdzenie zostanie zastosowane, a następnie uruchom ponownie skrypt.
Register-AzProviderFeature -FeatureName VMTempDiskResizePreview -ProviderNamespace Microsoft.Compute
Example
.\Azure-NVMe-Conversion.ps1 -ResourceGroupName <your-RG> -VMName <your-VMname> -NewControllerType <NVMe/SCSI> -VMSize <new-VM-SKU> -StartVM
Skrypt ma następujące parametry.
| Parameter | Opis | Wymagane |
|---|---|---|
-ResourceGroupName |
Nazwa grupy zasobów maszyny wirtualnej. | Tak |
-VMName |
Nazwa maszyny wirtualnej na Azure. | Tak |
-NewControllerType |
Typ kontrolera pamięci masowej, na jaki ma zostać przekonwertowana maszyna wirtualna (NVMe lub SCSI). | Tak |
-VMSize |
Jednostka SKU maszyny wirtualnej Azure, na którą ma zostać przekonwertowana maszyna wirtualna. | Tak |
-StartVM |
Uruchom maszynę wirtualną po konwersji. | Nie. |
-FixOperatingSystemSettings |
Automatycznie napraw ustawienia systemu operacyjnego za pomocą poleceń uruchamiania w usłudze Azure. | Nie. |
-WriteLogfile |
Utwórz plik dziennika. | Nie. |
-IgnoreSKUCheck |
Ignoruj sprawdzanie SKU maszyny wirtualnej. | Nie. |
-IgnoreWindowsVersionCheck |
Ignoruj sprawdzanie wersji Windows. | Nie. |
-IgnoreAzureModuleCheck |
Nie uruchamiaj sprawdzania zainstalowanych modułów Azure. | Nie. |
-IgnoreOSCheck |
Nie sprawdzaj gotowości systemu operacyjnego. Oczekuje się, że system operacyjny jest gotowy. | Nie. |
-SleepSeconds |
Czas Azure na rozliczenie zmian przed uruchomieniem maszyny wirtualnej. | Nie. |
Skrypt wykonuje następujące kroki:
- Sprawdza poprawność wersji modułu Az, istnienia maszyny wirtualnej, typu systemu operacyjnego, generowania, bieżącego typu kontrolera i możliwości NVMe docelowej jednostki SKU maszyny wirtualnej.
- Za pomocą
-FixOperatingSystemSettingsweryfikuje i konfiguruje system operacyjny gościa pod kątem NVMe za pomocą funkcji Azure Run Command:- W systemie Linux sprawdza, czy sterownik NVMe znajduje się w
initrd/initramfs, ustawianvme_core.io_timeout=240i sprawdza/etc/fstabpod kątem przestarzałych nazw urządzeń. - W systemie Windows konfiguruje sterownik
stornvmedo uruchamiania podczas rozruchu (sc.exe config stornvme start=boot).
- W systemie Linux sprawdza, czy sterownik NVMe znajduje się w
- Zatrzymuje i cofa przydział maszyny wirtualnej.
- Aktualizuje
supportedCapabilities.diskControllerTypesdoSCSI, NVMena dysku systemowym. - Zmienia rozmiar maszyny wirtualnej na docelową jednostkę SKU i ustawia typ kontrolera dysku na NVMe.
- Uruchamia maszynę wirtualną (przy użyciu polecenia
-StartVM).
4. Weryfikowanie konwersji
Potwierdzanie przy użyciu programu PowerShell
Po ponownym uruchomieniu maszyny wirtualnej upewnij się, że typ kontrolera dysku został pomyślnie zmieniony.
$vm = Get-AzVM -ResourceGroupName "<resource-group-name>" -VMName "<vm-name>"
$vm.StorageProfile.DiskControllerType
Sprawdzanie wyniku wewnątrz gościa
Sprawdź urządzenia za pomocą polecenia nvme. Jeśli brakuje polecenia nvme, zainstaluj pakiet nvme-cli.
nvme list
Dane wyjściowe przedstawiają dysk systemu operacyjnego i dyski danych.
Wskazówka
Zawsze można przywrócić interfejs SCSI. Skrypt udostępnia polecenie na końcu pomyślnego uruchomienia, aby przywrócić oryginalną konfigurację. Zapisz to polecenie przed zamknięciem sesji.
Jeśli musisz wycofać zmiany, uruchom ponownie skrypt z parametrem -NewControllerType SCSI i oryginalną jednostką SKU maszyny wirtualnej:
.\Azure-NVMe-Conversion.ps1 -ResourceGroupName <your-RG> -VMName <your-VMname> -NewControllerType SCSI -VMSize <original-SKU> -StartVM