Konvertera virtuella Linux- och Windows-datorer från SCSI till NVMe

Azure virtuella datorer har stöd för två gränssnitt för lagringsstyrenhet: SCSI (Small Computer System Interface) och NVM Express (NVMe). SCSI är en äldre standard som tillhandahåller fysisk anslutning och dataöverföring mellan datorer och kringutrustning. NVMe tillhandahåller liknande anslutningar, men är ett snabbare och effektivare gränssnitt för dataöverföring mellan servrar och lagringssystem.

Den här artikeln visar hur du konverterar en Azure virtuell dator från en SCSI-diskkontrollant till NVMe med hjälp av Azure Boost och Azure NVMe-konverteringsskriptet. Samma skript och procedur gäller för:

  • Virtuella Linux- och Windows-datorer.
  • Virtuella datorer med eller utan datadiskar och en tillfällig disk.

Azure fortsätter att stödja SCSI-gränssnittet på de VM-erbjudanden som tillhandahåller SCSI-lagring. Alla nya VM-serier innehåller dock inte SCSI som ett alternativ framöver.

Vad ändras för den virtuella datorn?

Om du ändrar värdgränssnittet från SCSI till NVMe ändras inte fjärrlagringen (OS-disk eller datadiskar). Det ändrar hur operativsystemet använder diskarna.

Diskett SCSI VM VIRTUELL NVMe-dator (v5 med temporär disk) VIRTUELL NVMe-dator (v6)
OS-diskett /dev/sda /dev/nvme0n1 /dev/nvme0n1
Temporär disk /dev/sdb /dev/sda /dev/nvme1n1
Första datadisken /dev/sdc /dev/nvme0n2 /dev/nvme0n2

Om du konverterar din Azure virtuella dator från SCSI till NVMe med hjälp av Azure Boost kan du dra full nytta av dessa prestandaförbättringar och upprätthålla en konkurrensfördel i molnbaserad databehandling.

Migrera en virtuell dator från SCSI till NVMe

Om du vill migrera från SCSI till NVMe följer du de här stegen på hög nivå:

  1. Kontrollera att vm-serien stöder NVMe.
  2. Kontrollera förutsättningarna för operativsystemet.
  3. Konvertera den virtuella datorn till NVMe.
  4. Verifiera konverteringen.

1. Kontrollera om din virtuella datorserie stöder NVMe

I tillgänglighetstabellen Azure Boost visas de VM-storlekar som stöder NVMe-anslutna diskar.

2. Kontrollera förutsättningarna

Kontrollera att du har följande förutsättningar innan du börjar:

  • En Azure-prenumeration och en virtuell dator som du behöver konvertera från SCSI till NVMe eller från NVMe till SCSI
  • PowerShell och Az-modulen installerade och konfigurerade
  • Lämpliga behörigheter för att köra skript på Azure resurser

3. Användning

Om du vill köra skriptet öppnar du PowerShell som administratör och följer dessa steg:

  1. Installera PowerShell eller kör skriptet på Azure Cloud Shell.

Tips/Råd

Installera PowerShell med hjälp av PowerShell-dokumentationen.

  1. Tillåt osignerade PowerShell-skriptfiler.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
  1. Anslut till ditt Azure-konto med hjälp Connect-AzAccountav .
Connect-AzAccount
  1. Kontrollera att du är ansluten till din prenumeration. Om du vill ändra prenumerationen använder du Set-AzContext.
Select-AzSubscription -Subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  1. Ladda ned skriptet.
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"
  1. Kör konverteringsskriptet.
.\Azure-NVMe-Conversion.ps1

Note

Om du konverterar mellan VM-storlekar med olika resurs (tillfälligt) diskstöd måste din Azure-prenumeration registreras för VMTempDiskResizePreview funktionen. Om funktionen inte är registrerad avslutas skriptet med ett fel. Registrera funktionen med hjälp av följande kommando, vänta 10 minuter tills det automatiska godkännandet börjar gälla och kör sedan skriptet igen.

Register-AzProviderFeature -FeatureName VMTempDiskResizePreview -ProviderNamespace Microsoft.Compute

Exempel

.\Azure-NVMe-Conversion.ps1 -ResourceGroupName <your-RG> -VMName <your-VMname> -NewControllerType <NVMe/SCSI> -VMSize <new-VM-SKU> -StartVM

Skriptet har följande parametrar.

Parameter Beskrivning Krävs
-ResourceGroupName Resursgruppens namn för den virtuella datorn. Ja
-VMName Namnet på den virtuella datorn på Azure. Ja
-NewControllerType Lagringsstyrenhetstypen för att konvertera den virtuella datorn till (NVMe eller SCSI). Ja
-VMSize Den Azure VM-SKU:n som den virtuella datorn ska konverteras till. Ja
-StartVM Starta den virtuella datorn efter konverteringen. Nej
-FixOperatingSystemSettings Åtgärda inställningarna för operativsystemet automatiskt med hjälp av Azure Kör kommandon. Nej
-WriteLogfile Skapa en loggfil. Nej
-IgnoreSKUCheck Ignorera kontrollen av den virtuella datorns SKU. Nej
-IgnoreWindowsVersionCheck Ignorera Windows versionskontroll. Nej
-IgnoreAzureModuleCheck Kör inte kontroll av installerade Azure-moduler. Nej
-IgnoreOSCheck Kontrollera inte om operativsystemet är klart. Förväntningarna är att operativsystemet är klart. Nej
-SleepSeconds Tiden för Azure att reglera ändringar innan den virtuella datorn startas. Nej

Skriptet utför följande steg:

  1. Validerar Az-modulversioner, VM-existens, OS-typ, generering, aktuell styrenhetstyp och NVMe-kapacitet för mål-VM-SKU:n.
  2. Med -FixOperatingSystemSettingsvaliderar och konfigurerar du gästoperativsystemet för NVMe med hjälp av Azure Kör kommando:
    • I Linux kontrollerar du att NVMe-drivrutinen finns i initrd/initramfs, anger nvme_core.io_timeout=240och söker efter /etc/fstab inaktuella enhetsnamn.
    • På Windows konfigurerar stornvme drivrutinen att starta vid start (sc.exe config stornvme start=boot).
  3. Stoppar och frigör den virtuella datorn.
  4. Uppdateringar supportedCapabilities.diskControllerTypes till SCSI, NVMe på OS-disken.
  5. Ändrar storlek på den virtuella datorn till mål-SKU:n och anger diskkontrollanttypen till NVMe.
  6. Startar den virtuella datorn (med -StartVM).

4. Verifiera konverteringen

Bekräfta med hjälp av PowerShell

När den virtuella datorn har startats om kontrollerar du att diskstyrenhetstypen har ändrats.

$vm = Get-AzVM -ResourceGroupName "<resource-group-name>" -VMName "<vm-name>"
$vm.StorageProfile.DiskControllerType

Kontrollera resultatet i gästen

Kontrollera enheterna med hjälp nvme av kommandot . nvme Installera paketet om kommandot saknasnvme-cli.

nvme list

Utdata visar OS-disken och datadiskarna.

Tips/Råd

Du kan alltid återgå till SCSI. Skriptet innehåller ett kommando i slutet av en lyckad körning för att återgå till den ursprungliga konfigurationen. Spara kommandot innan du stänger sessionen.

Om du behöver återställa kör du skriptet igen med -NewControllerType SCSI och den ursprungliga vm-SKU:n:

.\Azure-NVMe-Conversion.ps1 -ResourceGroupName <your-RG> -VMName <your-VMname> -NewControllerType SCSI -VMSize <original-SKU> -StartVM