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.
Azure maszyny wirtualne obsługują dwa interfejsy kontrolera magazynu: Mały interfejs systemu komputerowego (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 na maszynach wirtualnych, które zapewniają magazyn 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ę.
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
W przypadku konwertowania między rozmiarami maszyn wirtualnych z obsługą różnych zasobów (tymczasowych) musisz zarejestrować subskrypcję Azure dla VMTempDiskResizePreview tej funkcji. 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 magazynu, aby przekonwertować maszynę wirtualną na (NVMe lub SCSI). | Tak |
-VMSize |
Jednostka SKU maszyny wirtualnej Azure do konwersji maszyny wirtualnej na. | Tak |
-StartVM |
Uruchom maszynę wirtualną po konwersji. | Nie. |
-FixOperatingSystemSettings |
Automatycznie napraw ustawienia systemu operacyjnego przy użyciu Azure uruchom polecenia. | 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
-FixOperatingSystemSettingspomocą polecenia program weryfikuje i konfiguruje system operacyjny gościa dla urządzenia NVMe przy użyciu polecenia Azure Uruchom:- W systemie Linux sprawdza, czy sterownik NVMe znajduje się w
initrd/initramfssystemie , ustawianvme_core.io_timeout=240i sprawdza/etc/fstab, czy nazwy przestarzałych urządzeń. - W Windows konfiguruje sterownik do uruchamiania przy rozruchu
stornvme(sc.exe config stornvme start=boot).
- W systemie Linux sprawdza, czy sterownik NVMe znajduje się w
- Zatrzymuje i cofa przydział maszyny wirtualnej.
-
SCSI, NVMeAktualizacjesupportedCapabilities.diskControllerTypesna dysku systemu operacyjnego. - 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 przy użyciu nvme polecenia .
nvme Jeśli brakuje polecenia, zainstaluj nvme-cli pakiet.
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