Skip to content

Commit bbd9e5d

Browse files
authored
Merge pull request #256691 from ju-shim/nvme-other
NVMe updates to enable doc and faq doc
2 parents a1d532d + 2baccf5 commit bbd9e5d

File tree

3 files changed

+68
-140
lines changed

3 files changed

+68
-140
lines changed

articles/virtual-machines/TOC.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,12 +260,7 @@
260260
- name: Ev5 and Esv5-series
261261
href: ev5-esv5-series.md
262262
- name: Ebdsv5 and Ebsv5 series
263-
href: ebdsv5-ebsv5-series.md
264-
items:
265-
- name: Enable NVMe and SCSI interface
266-
href: enable-nvme-interface.md
267-
- name: Enable NVMe FAQ
268-
href: enable-nvme-faqs.yml
263+
href: ebdsv5-ebsv5-series.md
269264
- name: Edv5 and Edsv5-series
270265
href: edv5-edsv5-series.md
271266
- name: Easv5 and Eadsv5-series
@@ -444,6 +439,12 @@
444439
href: setup-mpi.md
445440
- name: Scaling HPC applications
446441
href: compiling-scaling-applications.md
442+
- name: Enable NVMe
443+
items:
444+
- name: Enable NVMe and SCSI interface
445+
href: enable-nvme-interface.md
446+
- name: Enable NVMe FAQ
447+
href: enable-nvme-faqs.yml
447448
- name: Previous generations
448449
displayName: older, retired, expired, deprecated
449450
href: sizes-previous-gen.md

articles/virtual-machines/enable-nvme-faqs.yml

Lines changed: 40 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
author: priyashan-19
66
ms.service: virtual-machines
77
ms.topic: faq
8-
ms.date: 05/02/2023
8+
ms.date: 10/30/2023
99
ms.author: wwilliams, priyashan
1010
ms.custom: references_regions
1111
title: Enable NVMe FAQs
@@ -42,11 +42,11 @@ sections:
4242
- question: |
4343
What performance advantages can be expected when using NVMe on the Ebsv5 and Ebdsv5 VM families in Azure?
4444
answer: |
45-
The NVMe enabled on the E48 to E112i sizes in the Ebdsv5 and Ebdsv5 families offer up to 2x higher IOPS and throughput than the SCSI sizes in the same family at no extra cost. For workloads with high IO demands and requiring improved remote storage performance, we recommend trying the new NVMe sizes. Refer to the VM spec page for more information on the benefits of performance.
45+
The NVMe enabled on the Ebdsv5 and Ebdsv5 sizes offer more than higher IOPS and throughput than the SCSI sizes in the same family at no extra cost. For workloads with high IO demands and requiring improved remote storage performance, we recommend trying the new NVMe sizes. Refer to the VM spec page for more information on the benefits of performance.
4646
- question: |
4747
What I/O size is recommended to achieve the published performance?
4848
answer: |
49-
To achieve the maximum IOPS (260 K), it's recommended to use a 4-KiB block size. For maximum performance throughput (8 GB/s), you can choose to use one of the following: 64 KiB, 128 KiB, 256 KiB or 1-MiB block size. However, it's important to optimize the I/O size based on the specific requirements of your application and to use the recommended block sizes only as a guideline.
49+
To achieve the maximum IOPS, it's recommended to use 4 KiB or 8 KiB block size. For maximum performance throughput, you can choose to use one of the following: 64 KiB, 128 KiB, 256 KiB, 512 KiB or 1024 KiB block size. However, it's important to optimize the I/O size based on the specific requirements of your application and to use the recommended block sizes only as a guideline.
5050
- question: |
5151
What workloads benefit with NVMe on Ebsv5 family?
5252
answer: |
@@ -61,7 +61,7 @@ sections:
6161
- question: |
6262
What platforms and generations support NVMe VMs?
6363
answer: |
64-
NVMe VMs are only accessible on the platform with the 3rd Generation Intel® Xeon® Platinum 8370C (Ice Lake) processor. However, support for more platforms and generations is coming soon. Stay informed by following our product launch announcements in Azure updates.
64+
NVMe VMs are only accessible on the platform with the 3rd Generation Intel® Xeon® Platinum 8370C (Ice Lake) processor. However, support for more platforms and generations is coming soon. Stay informed by following our product launch announcements in Azure updates.
6565
- question: |
6666
What VM families support NVMe?
6767
answer: |
@@ -81,78 +81,38 @@ sections:
8181
- Only Gen2 images are supported.
8282
- Choose one of the Azure regions where NVMe is enabled.
8383
By meeting the five conditions, you'll be able to enable NVMe on the supported VM family in no time. Follow the above conditions while creating and resizing a VM with NVMe to ensure successful launch of feature.
84+
- question: |
85+
How can I check if a given image is tagged as NVMe?
86+
answer: |
87+
To check if a given image is tagged as NVMe, use the following command:
88+
```
89+
az vm image show --urn URN_OF_IMAGE
90+
```
91+
- question: |
92+
How do I use a base image that supports NVMe and create a custom image for my remote disk?
93+
answer: |
94+
Let's say you want to tag an image that supports NVMe, but it wasn't tagged yet. Follow these four steps:
95+
1. Upload NVMe supported VHD to your storage account. [AzCopy](https://docs.microsoft.com/azure/storage/common/storage-use-azcopy-v10) is a fast way, but you can also use Azure portal to upload.
96+
```
97+
azcopy copy <local path to your vhd> <container in your storage account>
98+
```
99+
2. [Create your image gallery](https://docs.microsoft.com/azure/virtual-machines/create-gallery) using PowerShell, Azure portal, or CLI.
100+
3. Create the [image definition](https://docs.microsoft.com/azure/virtual-machines/image-version), make sure to include `--feature DiskControllerTypes=SCSI,NVMe`. See the following CLI example:
101+
```
102+
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
103+
```
104+
4. Create the [image version](https://docs.microsoft.com/azure/virtual-machines/image-version) under the NVMe-tagged gallery with the NVMe-supported VHD. See the following CLI example:
105+
```
106+
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>
107+
```
84108
- question: |
85109
How can I resize a SCSI Ebsv5 or Ebdsv5 VM (E.g 8 vCPU) created using untagged image to a NVMe-enabled VM of the different size(E112i) without recreating the VM configurations and without tagging the image?
86110
answer: |
87-
- The source VM e.g. E8bsv5 in this case, should use a NVMe none tagged OS image that supports NVMe
88-
- Ensure to set the destination *discontrollertype* of the VM as NVMe also in E112i VMs. Use the following PowerShell script to do so:
89-
90-
```
91-
$subscription_id = 'your-subscription-id'
92-
93-
$resource_group_name = 'your-resource-group-name'
94-
95-
$vm_name = 'your-vm-name'
96-
97-
$disk_controller_change_to = 'NVMe'
98-
99-
$vm_size_change_to = 'Standard_E112ibds_v5'
100-
101-
$os_disk_name = (Get-AzVM -ResourceGroupName $resource_group_name -Name $vm_name).StorageProfile.OsDisk.Name
102-
103-
$uri = 'https://management.azure.com/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Compute/disks/{2}?api-version=2022-07-02' -f $subscription_id, $resource_group_name, $os_disk_name
104-
105-
$access_token = (Get-AzAccessToken).Token
106-
107-
$auth_header = @{
108-
109-
'Content-Type' = 'application/json'
110-
111-
'Authorization' = 'Bearer ' + $access_token
112-
}
113-
$body = @'
114-
{
115-
"properties": {
116-
117-
"supportedCapabilities": {
118-
119-
"diskControllerTypes":"SCSI, NVMe"
120-
121-
}
122-
}
123-
}
124-
'@
125-
126-
$get_supported_capabilities = (Invoke-WebRequest -uri $uri -Method Get -Headers $auth_header | ConvertFrom-Json).properties.supportedCapabilities
127-
128-
#Stop and deallocate the VM
129-
130-
Stop-AzVM -ResourceGroupName $resource_group_name -Name $vm_name -Force
131-
132-
#Add NVMe supported capabilities to the OS disk
133-
134-
$Update_Supported_Capabilities = (Invoke-WebRequest -uri $uri -Method PATCH -body $body -Headers $auth_header | ConvertFrom-Json)
135-
136-
#Get VM configuration
137-
138-
$vm = Get-AzVM -ResourceGroupName $resource_group_name -Name $vm_name
139-
140-
#Build a configuration with updated VM size
141-
142-
$vm.HardwareProfile.VmSize = $vm_size_change_to
143-
144-
#Build a configuration with updated disk controller type
145-
146-
$vm.StorageProfile.DiskControllerType = $disk_controller_change_to
147-
148-
#Change the VM size and VM’s disk controller type
149-
150-
Update-AzVM -ResourceGroupName $resource_group_name -VM $vm
151-
#Start the VM
152-
153-
Start-AzVM -ResourceGroupName $resource_group_name -Name $vm_name
111+
- The source VM e.g. E8bsv5 in this case, should use a NVMe none tagged OS image that supports NVMe
112+
- Ensure to set the destination *discontrollertype* of the VM as NVMe also in E112i VMs. Use the following PowerShell script to set the disk controller type:
113+
```
114+
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>]
154115
```
155-
156116
- name: Missing Required Configurations
157117
questions:
158118
- question: |
@@ -168,7 +128,7 @@ sections:
168128
- question: |
169129
What happens if the OS I use isn't tagged as NVMe support?
170130
answer: |
171-
To launch VMs with an NVMe interface in the Ebsv5 or Ebdsv5 VM families, it's essential to choose one of the supported OS images tagged as NVMe. If your current OS image is not supported for NVMe, you'll see an error message that reads: “The selected image isn't supported for NVMe. See supported VM images”.
131+
To launch VMs with an NVMe interface in the Ebsv5 or Ebdsv5 VM families, it's essential to choose one of the supported OS images tagged as NVMe. If your current OS image isn't supported for NVMe, you'll see an error message that reads: “The selected image isn't supported for NVMe. See supported VM images”.
172132
173133
:::image type="content" source="./media/enable-nvme/nvme-faq-2.png" alt-text="Screenshot of example of choosing one of the supported OS images on NVMe":::
174134
- question: |
@@ -178,7 +138,7 @@ sections:
178138
- question: |
179139
What are the implications of using a Gen 1 image in Azure?
180140
answer: |
181-
Using a Gen 2 image is a pre-requisite to enable NVMe interface on the Ebsv5 or Ebdsv5 VM series. If you use a Gen 1 VM image, you'll receive an error message that reads:” The selected image isn't supported for NVMe. See supported VM images”.
141+
Using a Gen 2 image is a prerequisite to enable NVMe interface on the Ebsv5 or Ebdsv5 VM series. If you use a Gen 1 VM image, you'll receive an error message that reads:” The selected image isn't supported for NVMe. See supported VM images”.
182142
183143
:::image type="content" source="./media/enable-nvme/nvme-faq-3.png" alt-text="Screenshot of example of choosing one of the supported OS images on NVMe interface for Gen 2.":::
184144
- question: |
@@ -211,10 +171,6 @@ sections:
211171
Which Azure disk storage options are compatible with NVMe?
212172
answer: |
213173
NVMe sizes can be combined with Premium SSD v1, Premium SSD v2, and Ultra disks. For additional information on Azure disk offerings, refer to [Azure Managed disks](/azure/virtual-machines/disks-types).
214-
- question: |
215-
What regions will NVMe sizes be available?
216-
answer: |
217-
NVMe is available only in the following 13 Azure regions: US North Southeast Asia, West Europe, Australia East, North Europe, West US 3, UK South, Sweden Central, East US, Central US, West US 2, East US 2, South central US, and more regions will be available by CY Q4 2023. Watch out for our product launch announcements in the Azure updates.
218174
- question: |
219175
I have a SCSI Ebsv5 VM. How do I switch to NVMe of the same VM size?
220176
answer: |
@@ -245,7 +201,7 @@ sections:
245201
answer: |
246202
Launch PowerShell and use the following command: `wmic diskdrive get model,scsilogicalunit`
247203
248-
:::image type="content" source="./media/enable-nvme/nvme-faq-7.png" alt-text="Screenshot of an example of Powershell command example to launch NVMe on Windows.":::
204+
:::image type="content" source="./media/enable-nvme/nvme-faq-7.png" alt-text="Screenshot of an example of PowerShell command example to launch NVMe on Windows.":::
249205
250206
The ASAP attached disks are presented in the guest with model string “Virtual_Disk NVME Premium” and the SCSI Logical Unit will have value portal visible LUN ID incremented by 1. 
251207
Here's a snapshot of how NVMe disks will be seen in NVMe enabled Windows VM:
@@ -264,61 +220,30 @@ sections:
264220
- question: |
265221
How can I try before purchasing this VM series? Is preview still available?
266222
answer: |
267-
The preview period for this offer has ended, and it is now generally available for purchase. You can request a quota for one of the available Azure regions to try out the new NVMe Ebsv5 or Ebdsv5 sizes. Refer to the list of regions in [FAQ](#what-regions-will-nvme-sizes-be-available----).
223+
The preview period for this offer has ended, and it's now generally available for purchase. You can request a quota for one of the available Azure regions to try out the new NVMe Ebsv5 or Ebdsv5 sizes.
268224
- name: Known Issues
269225
questions:
270226
- question: |
271227
What happens if I create an E112i VM using an OS image that isn't tagged as NVMe?
272228
answer: |
273229
An NVMe E112i VM can only be created using an image (PIR & [Azure Compute Gallery](/azure/virtual-machines/shared-image-galleries?tabs=azure-cli)) that has been tagged as NVMe. If an untagged image is used, a SCSI VM is created, and the VM may not perform as intended. There's a solution in development to prevent the creation of an NVMe VM from a non-tagged NVMe image. Make sure to follow all instructions listed in [FAQ]((#how-do-i-enable-nvme-on-a-vm-family--).
274230
- question: |
275-
How can I resize a SCSI Ebsv5 or Ebdsv5 VM (E.g. 48 vCPU) to an NVMe-enabled VM of the different size(E112i) without re-creating the VM configurations?
231+
How can I resize a SCSI Ebsv5 or Ebdsv5 VM (E.g. 48 vCPU) to an NVMe-enabled VM of the different size (E112i) without re-creating the VM configurations?
276232
answer: |
277233
Let’s say you want to resize a E48 vCPU SCSI VM to E112i NVMe, use the PowerShell script below.
278234
- The source VM e.g. E48bsv5 in this case should use a NVMe tagged OS image
279-
- Ensure to set the destination **diskcontrollertype** of the VM as NVMe also in E112i VMs
280-
235+
- Ensure to set the destination **diskcontrollertype** of the VM as NVMe also in E112i VMs
281236
```
282-
$resource_group_name = 'your-resource-group-name'
283-
284-
$vm_name =  'your-vm-name'
285-
286-
$disk_controller_change_to = 'NVMe'
287-
288-
$vm_size_change_to = 'Standard_E112ibds_v5'
289-
290-
#deallocate the vm
291-
292-
az vm deallocate --resource-group $resource_group_name --name $vm_name
293-
294-
#Get VM configuration
295-
296-
$vm = Get-AzVM -ResourceGroupName $resource_group_name -Name $vm_name
297-
298-
#Build a configuration with update vm size
299-
300-
$vm.HardwareProfile.VmSize = $vm_size_change_to
301-
302-
#Build a configuration with updated disk controller type
303-
304-
$vm.StorageProfile.DiskControllerType = $disk_controller_change_to
305-
306-
Update-AzVM -ResourceGroupName $resource_group_name -VM $vm
307-
308-
# Start the VM
309-
310-
Start-AzVM-ResourceGroupName $resource_group_name -Name $vm_name
311-
237+
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>]
312238
```
313-
314239
- question: |
315240
Can I convert a SCSI Ebv5 or Ebdsv5 VM to NVMe enabled while retaining same VM vCPU size with a NVMe tagged OS image?
316241
answer: |
317242
Now, this scenario is only supported by Linux operating systems and isn't supported in Windows operating systems. Support for this functionality in Windows OS is anticipated to be added soon.
318243
- question: |
319244
Are shared disks in remote disks supported with NVMe VMs?
320245
answer: |
321-
Shared disk feature is currently not supported. However, it's expected to be available on Premium SSD/Premium SSD v2/Ultra disks.
246+
Shared disk feature is currently supported for all disks Premium SSD, Premium SSD v2, and Ultra.
322247
- name: Reporting Issues
323248
questions:
324249
- question: |

0 commit comments

Comments
 (0)