仮想マシンでの NVMe と SCSI インターフェイスの有効化

注意

この記事では、間もなくサポート終了 (EOL) 状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

NVMe とは、Non-Volatile Memory Express の略であり、サーバーとストレージ システム間の高速で効率的なデータ転送を容易にする通信プロトコルです。 NVMe を使用すると、最高のスループットと最短の応答時間でデータを転送できます。 Azure では、Ebsv5 および Ebdsv5 ファミリで NVMe インターフェイスがサポートされるようになり、すべての GP v5 VM シリーズの中で、リモート ディスク ストレージに最高の IOPS とスループット パフォーマンスをもたらします。

SCSI (Small Computer System Interface) は、コンピューターと周辺機器間でデータを物理的に接続および転送するための従来の標準です。 Ebsv5 VM サイズは SCSI を引き続きサポートしていますが、パフォーマンス向上のメリットが得られるように NVMe に切り替えることをお勧めします。

前提条件

DiskControllerType と呼ばれる VM 構成に新しい機能が追加されました。これにより、お客様は NVMe または SCSI として優先コントローラーの種類を選択できます。 お客様が DiskControllerType 値を指定しない場合、プラットフォームにより、VM サイズの構成に基づいて既定のコントローラーが自動的に選択されます。 VM サイズが既定値として SCSI 用に構成され、NVMe をサポートしている場合は、NVMe DiskControllerType に更新しない限り SCSI が使用されます。

NVMe インターフェイスを有効にするには、次の前提条件を満たす必要があります。

  • NVMe をサポートする VM ファミリを選択します。 Intel v5 世代 VM では、Ebsv5 と Ebdsv5 の VM サイズにのみ NVMe が搭載されていることに注意してください。 必ず Ebsv5 または Ebdsv5 VM のいずれかのシリーズを選択してください。
  • NVMe サポートでタグ付けされているオペレーティング システム イメージを選択します
  • Azure portal または ARM/CLI/Power Shell テンプレートで NVMe ディスク コントローラーの種類を選択して、NVMe にオプトインします。 詳細な手順については、こちらを参照してください
  • Gen2 イメージのみがサポートされています
  • NVMe が有効になっている Azure リージョンのいずれかを選択します

上記の 5 つの条件を満たすことで、サポートされている VM ファミリで NVMe をすぐに有効にできます。 問題なく NVMe を使用して正常に VM を作成またはサイズ変更するには、上記の条件に従ってください。 NVMe の有効化については、FAQ を参照してください。

サポートされている OS イメージ

Linux

Distribution Image
Almalinux 8.x (現在 8.7) almalinux: almalinux:8-gen2: 最新
Almalinux 9.x (現在 9.1) almalinux: almalinux:9-gen2: 最新
Debian 11 Debian: debian-11:11-gen2: 最新
CentOS 7.9 openlogic: centos:7_9-gen2: 最新
RHEL 7.9 RedHat: RHEL:79-gen2: 最新
RHEL 8.6 RedHat: RHEL:86-gen2: 最新
RHEL 8.7 RedHat: RHEL:87-gen2: 最新
RHEL 9.0 RedHat: RHEL:90-gen2: latest
RHEL 9.1 RedHat: RHEL:91-gen2: 最新
Ubuntu 18.04 Canonical:UbuntuServer:18_04-lts-gen2:latest
Ubuntu 20.04 Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest
Ubuntu 22.04 Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest
Oracle 7.9 Oracle: Oracle-Linux:79-gen2:latest
Oracle 8.5 Oracle: Oracle-Linuz:ol85-lvm-gen2:latest
Oracle 8.6 Oracle: Oracle-Linux:ol86-lvm-gen2:latest
Oracle 8.7 Oracle: Oracle-Linux:ol87-lvm-gen2:latest
Oracle 9.0 Oracle: Oracle-Linux:ol9-lvm-gen2:latest
Oracle 9.1 Oracle: Oracle-Linux:ol91-lvm-gen2:latest
SLES-for-SAP 15.3 SUSE:sles-sap-15-sp3:gen2:latest
SLES-for-SAP 15.4 SUSE:sles-sap-15-sp4:gen2:latest
SLES 15.4 SUSE:sles-15-sp4:gen2:latest
SLES 15.5 SUSE:sles-15-sp5:gen2:latest

Windows

NVMe インターフェイスを使用した VM の起動

NVMe は、VM の作成時に、Azure portal、CLI、PowerShell、ARM テンプレートなどのさまざまな方法を使用して有効にすることができます。 NVMe VM を作成するには、まず VM で NVMe オプションを有効にし、VM に応じた NVMe コントローラー ディスクの種類を選択する必要があります。 VM サイズが NVMe をサポートしている場合、VM が停止および割り当て解除されると、作成中または NVMe への更新中に NVMe diskcontrollertype を有効にできることに注意してください。

Azure portal のビュー

  1. ディスク コントローラー フィルターを追加します。 NVMe の対象となるサイズを見つけるには、[すべてのサイズを表示] を選択し、[ディスク コントローラー] フィルターを選択して、[NVMe] を選択します。

    NVMe インターフェイスのディスク コントローラー フィルターを追加する命令のスクリーンショット。

  2. [詳細] タブにアクセスして NVMe 機能を有効にします。

    NVMe インターフェイス機能を有効にする命令のスクリーンショット。

  3. [確認と作成] に移動して、機能が有効になっていることを確認します。

    機能の有効化をレビューし検証する命令のスクリーンショット。

サンプル ARM テンプレート



{
    "apiVersion": "2022-08-01",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[variables('vmName')]",
    "location": "[parameters('location')]",
    "identity": {
        "type": "userAssigned",
        "userAssignedIdentities": {
            "/subscriptions/ <EnterSubscriptionIdHere> /resourcegroups/ManagedIdentities/providers/Microsoft.ManagedIdentity/userAssignedIdentities/KeyVaultReader": {}
        }
    },
    "dependsOn": [
        "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
    ],
    "properties": {
        "hardwareProfile": {
            "vmSize": "[parameters('vmSize')]"
        },
        "osProfile": "[variables('vOsProfile')]",
        "storageProfile": {
            "imageReference": "[parameters('osDiskImageReference')]",
            "osDisk": {
                "name": "[variables('diskName')]",
                "caching": "ReadWrite",
                "createOption": "FromImage"
            },
            "copy": [
                {
                    "name": "dataDisks",
                    "count": "[parameters('numDataDisks')]",
                    "input": {
                        "caching": "[parameters('dataDiskCachePolicy')]",
                        "writeAcceleratorEnabled": "[parameters('writeAcceleratorEnabled')]",
                        "diskSizeGB": "[parameters('dataDiskSize')]",
                        "lun": "[add(copyIndex('dataDisks'), parameters('lunStartsAt'))]",
                        "name": "[concat(variables('vmName'), '-datadisk-', copyIndex('dataDisks'))]",
                        "createOption": "Attach",
                        "managedDisk": {
                            "storageAccountType": "[parameters('storageType')]",
                            "id": "[resourceId('Microsoft.Compute/disks/', concat(variables('vmName'), '-datadisk-', copyIndex('dataDisks')))]"
                        }
                    }
                }
            ],
            "diskControllerTypes": "NVME"
        },
        "securityProfile": {
            "encryptionAtHost": "[parameters('encryptionAtHost')]"
        },
                          
        "networkProfile": {
            "networkInterfaces": [
                {
                    "id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
                }
            ]
        },
        "availabilitySet": {
            "id": "[resourceId('Microsoft.Compute/availabilitySets', parameters('availabilitySetName'))]"
        }
    },
    "tags": {
        "vmName": "[variables('vmName')]",

      "location": "[parameters('location')]",

                "dataDiskSize": "[parameters('dataDiskSize')]",

                "numDataDisks": "[parameters('numDataDisks')]",

                "dataDiskCachePolicy": "[parameters('dataDiskCachePolicy')]",

                "availabilitySetName": "[parameters('availabilitySetName')]",

                "customScriptURL": "[parameters('customScriptURL')]",

                "SkipLinuxAzSecPack": "True",

                "SkipASMAzSecPack": "True",

                "EnableCrashConsistentRestorePoint": "[parameters('enableCrashConsistentRestorePoint')]"

            }

        }

ヒント

PowerShell または CLI ツールを使用して NVMe でサポートされている VM を起動する場合は、同じパラメーター DiskControllerType を使用します。

次のステップ