Szerkesztés

Megosztás a következőn keresztül:


Gyakori kérdések távoli NVMe-lemezekhez

Ez a cikk az Azure-ban létrehozott virtuális gépeken (VM-en) futó távoli NVM Express(NVMe)-lemezek támogatásával kapcsolatos gyakori kérdéseket ismerteti.

Milyen előfeltételek szükségesek a távoli NVMe-felület engedélyezéséhez a virtuális gépen?

DiskControllerType A virtuális gép konfigurációja során kiválaszthatja az előnyben részesített vezérlőtípust NVMe vagy Small Computer System Interface (SCSI) néven. Ha nem ad meg DiskControllerType értéket, a platform automatikusan kiválasztja az alapértelmezett vezérlőt a virtuális gép méretkonfigurációja alapján. Ha a virtuális gép mérete alapértelmezettként van konfigurálva az SCSI-hez, és támogatja az NVMe-t, a virtuális gép SCSI-t használ, hacsak nem frissíti az DiskControllerType értéket NVMe-re.

Az NVMe-felület virtuális gépen való engedélyezéséhez meg kell felelnie az alábbi előfeltételeknek:

  • Válasszon egy NVMe-t támogató virtuálisgép-családot. Csak az Ebsv5 és az Ebdsv5 virtuálisgép-méretek rendelkeznek NVMe-vel az Intel v5-ös generációs virtuális gépeken.

  • Válassza ki az NVMe-támogatással címkézett operációsrendszer-lemezképet . Miután kiválasztott egy támogatott virtuálisgép-családot és operációsrendszer-rendszerképet , a rendszer kérni fogja, hogy válassza ki az NVMe lemezvezérlő típusát.

    Képernyőkép a lemezvezérlő típusának kiválasztására vonatkozó kérésről.

  • Az NVMe-t az NVMe lemezvezérlő típusának kiválasztásával választhatja ki az Azure Portalon vagy az Azure Resource Managerben, az Azure CLI-ben vagy az Azure PowerShell-sablonban. Részletes útmutatásért tekintse meg az általános NVMe gyiket.

  • Győződjön meg arról, hogy 2. generációs virtuális gépet használ, mert az NVMe csak a 2. generációs lemezképeket támogatja.

  • Válassza ki az egyik Azure-régiót, ahol az NVMe engedélyezve van.

Titkosíthatom a távoli NVMe-lemezeimet?

Az Azure-ban nem lehet natív módon titkosítani ezeket a lemezeket. Az operációs rendszeren belül titkosíthatja őket, de újra kell titkosítania őket, miután csatlakoztatta őket az indításhoz.

Hogyan méretezhetek át egy SCSI-alapú virtuális gépet egy másik méretű távoli NVMe-kompatibilis virtuális gépre?

A következő folyamatokat használhatja a következőkre:

  • Méretezze át a címkézetlen képpel létrehozott SCSI-alapú virtuális gépet egy másik méretű, NVMe-kompatibilis virtuális gépre anélkül, hogy újra létrehozták a virtuálisgép-konfigurációkat, és nem címkézték fel a lemezképet.
  • SCSI-alapú virtuális gép átméretezése más méretű NVMe-kompatibilis virtuális gépre a virtuálisgép-konfigurációk újbóli létrehozása nélkül.

A forrás virtuális gép a következő lehet:

  • Nem megjelölt operációsrendszer-rendszerkép, amely támogatja az NVMe-t.
  • NVMe-címkével ellátott operációsrendszer-rendszerkép.

A virtuális gép átméretezéséhez az alábbi paranccsal futtasson egy Azure PowerShell-szkriptet , amely A virtuális gép célértékét discontrollertype állítja be NVMe-ként:

azure-nvme-VM-update.ps1 [-subscription_id] <String> [-resource_group_name] <String> [-vm_name] <String> [[-disk_controller_change_to] <String>] [-vm_size_change_to] <String> [[-start_vm_after_update] <Boolean>] [[-write_logfile] <Boolean>]

Hogyan ellenőrizhetim, hogy egy kép NVMe-ként van-e megjelölve?

Ha ellenőrizni szeretné, hogy egy kép NVMe-ként van-e megjelölve, használja a következő parancsot:

az vm image show --urn URN_OF_IMAGE

Hogyan címkézni egy olyan lemezképet, amely támogatja az NVMe-t távoli lemezekhez?

Az NVMe-t támogató rendszerkép címkézéséhez kövesse az alábbi lépéseket:

  1. Töltsön fel egy NVMe által támogatott virtuális merevlemezt (VHD) a tárfiókba. Az AzCopy gyors megoldás, de a portál használatával is feltöltheti.

    azcopy copy <local path to your VHD> <container in your storage account>
    
  2. Képgyűjtemény létrehozása az Azure PowerShell, a portál vagy az Azure CLI használatával.

  3. Hozzon létre egy képdefiníciót. Ügyeljen arra, hogy belefoglalja a következőt --feature DiskControllerTypes=SCSI,NVMe: .

    Íme egy Azure CLI-példa:

    az sig image-definition create --resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --publisher <publisher> --offer <offerName> --sku <skuName> --os-type <osType> --os-state <osState> --feature DiskControllerTypes=SCSI,NVMe
    
  4. Hozza létre a képverziót az NVMe címkével ellátott katalógusban az NVMe által támogatott VHD-vel.

    Íme egy Azure CLI-példa:

    az sig image-version create --resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --gallery-image-version <version> --target-regions <region1> <region2> --replica-count <replicaCount> --os-vhd-uri <NVMe-supported vhd uri> --os-vhd-storage-account <storageAccount>
    

Hogyan konfiguráljon egy ARM-sablont a virtuális gépek létrehozásához?

Az Azure Custom Script Bővítményt az Azure Resource Manager-sablonokkal (ARM-sablonokkal) együtt használhatja. Ez a megoldás lehetővé teszi szkriptek letöltését és futtatását Azure-beli virtuális gépeken, és kompatibilis a Windows és a Linux rendszerrel is. Részletes útmutatásért tekintse meg a Windowshoz és Linuxhoz készült Azure Custom Script Extension dokumentációját.

Mi történik, ha olyan virtuálisgép-családot szeretnék használni, amely nem támogatja a távoli NVMe-lemezeket?

Ha nem támogatott virtuálisgép-családot választ, a következő hibaüzenet jelenik meg: "A kiválasztott virtuálisgép-méret nem indítható el a DiskControllerType használatával. Ellenőrizze, hogy a megadott lemezvezérlőtípus a virtuális gép méretének egyik támogatott lemezvezérlő-típusa-e."

Mindenképpen válasszon ki egy olyan virtuálisgép-családot, amely támogatja az NVMe-felületet. A virtuális gép méretéhez támogatott lemezvezérlő-típusok meghatározásához tekintse meg a REST API erőforrás-termékváltozatainak listáját.

Mely Azure-lemeztárolási lehetőségek kompatibilisek a távoli NVMe-lemezekkel?

Az NVMe-méretek kombinálhatók az Azure Premium SSD v1, a Premium SSD v2 és az Ultra Disk Storage használatával. Az Azure-lemezajánlatokról további információt az Azure által felügyelt lemeztípusokban talál.

NVMe virtuálisgép-mérettel rendelkező lemezeken Azure-támogatás élő átméretezést?

Az NVMe élő átméretezése az Azure Premium SSD v1-lemezeken, a Standard SSD-lemezeken és a Standard HDD-lemezeken támogatott. NVMe-lemezeket is hozzáadhat a virtuális gép újraindítása nélkül.

Hogyan azonosíthatom a távoli NVMe-lemezeket Linux rendszerű virtuális gépeken?

  1. A csomag lekérése nvme-cli :

    sudo apt install nvme-cli
    
  2. Futtassa az NVMe list parancsot az NVMe-lemez részleteinek lekéréséhez:

    sudo nvme list
    

    A Linux rendszerű virtuális gépek NVMe-lemezeinek azonosítására vonatkozó utasítások képernyőképe.

    Képernyőkép a névtérazonosító linuxos portálon való kiválasztására vonatkozó utasításokról.

    Az adatok így jelennek meg az Azure PowerShell-parancsok válaszában:

    Képernyőkép egy Azure PowerShell-parancsra adott példaválaszról.

Hogyan azonosíthatom az NVMe-lemezeket Egy Windows rendszerű virtuális gépen?

Nyissa meg az Azure PowerShellt, és használja a következő parancsot:

wmic diskdrive get model,scsilogicalunit

Képernyőkép egy példa PowerShell-parancsról, amely az NVMe-t használja Windows rendszeren.

Az ASAP-hez csatolt lemezek a modell sztringjével Virtual_Disk NVME Premiumjelennek meg a vendégben. Az SCSI logikai egység a portálon látható LUN-azonosító értékét 1-zel növeli.

Íme egy pillanatkép arról, hogyan jelennek meg az NVMe-lemezek egy NVMe-kompatibilis Windows rendszerű virtuális gépen:

A Windows rendszerű virtuális gépek NVMe-lemezének azonosítására szolgáló Azure PowerShell-parancsot bemutató képernyőkép.

Az alábbi pillanatkép a LUN 0 és LUN 4 (CRP) időpontban csatlakoztatott adatlemezek vendégkimenetét mutatja be. A LUN-azonosító egyenértékű a névtér azonosítójával.

Képernyőkép az NVMe-lemezek NVMe-kompatibilis Windows rendszerű virtuális gépeken való megjelenéséről.

Konvertálhatok SCSI-alapú virtuális gépeket NVMe-kompatibilissé, miközben megtarthatom ugyanazt a virtuálisgép-vCPU-méretet egy NVMe címkével ellátott operációsrendszer-lemezképpel?

Ez a forgatókönyv csak Linux operációs rendszereken támogatott, és Windows operációs rendszereken nem támogatott.

A távoli lemezek megosztott lemezei NVMe-kompatibilis virtuális gépeken támogatottak?

A megosztott lemez funkció a Prémium SSD, a Prémium SSD v2 és az Ultra Disk Storage lemezek esetében támogatott.

Létrehozhatok olyan virtuális gépet az Azure PowerShell vagy az Azure CLI használatával, amely operációsrendszer-lemezzel rendelkezik egy meglévő blobból, amelyen engedélyezve van az NVMe?

Ez jelenleg nem lehetséges. Ehelyett az alábbi REST API-kerülő megoldással hozhat létre operációsrendszer-lemezzel rendelkező virtuális gépet egy meglévő blobból, amelyen engedélyezve van az NVMe:

$subscriptionID = '<Your Subscription ID>'
$resourceGroupName = '<Your Resource Group Name>'
$storageAccountName = '<Your Account Name>'
$storageAccountContainer = '<Your Account Container>'
$blobName = 'blob-nvme_OsDisk_1.vhd'

$diskName = 'test'
$diskSkuName = 'Standard_LRS'
$diskSizeGB = 30
$osType = 'Linux' 
$hyperVGeneration = 'V2'
$location = 'eastus'

$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = ($profileClient.AcquireAccessToken($azContext.Subscription.TenantId)).AccessToken

$body = @{
    location = $location
    sku = @{ name = $diskSkuName }
    properties = @{
        osType                  = $osType
        hyperVGeneration        = $hyperVGeneration
        supportedCapabilities   = @{diskControllerTypes = 'SCSI, NVMe'}
        diskSizeGB              = $diskSizeGB
        creationData = @{
            storageAccountId	= "/subscriptions/$subscriptionID/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"

            sourceUri           = "https://$storageAccountName.blob.core.windows.net/$storageAccountContainer/$blobName"
            createOption		= 'Import'
        }
    }
}

$apiVersion='2023-10-02'
$restUri = "https://management.azure.com/subscriptions/$subscriptionID/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/disks/$diskName`?api-version=$apiVersion"
$authHeader = @{
    'Content-Type'='application/json'
    'Authorization'='Bearer ' + $token
}

Invoke-RestMethod `
    -Uri $restUri `
    -Method 'Put' `
    -Headers $authHeader `
    -Body ($body | ConvertTo-Json)