Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure máquinas virtuales (VM) admiten dos interfaces de controlador de almacenamiento: Small Computer System Interface (SCSI) y NVM Express (NVMe). SCSI es un estándar heredado que proporciona conectividad física y transferencia de datos entre equipos y dispositivos periféricos. NVMe proporciona conectividad similar, pero es una interfaz más rápida y eficaz para la transferencia de datos entre servidores y sistemas de almacenamiento.
En este artículo se muestra cómo convertir una máquina virtual de Azure de un controlador de disco SCSI a NVMe mediante Azure Boost y el script de conversión nvMe de Azure. El mismo script y procedimiento se aplican a:
- Máquinas virtuales Linux y Windows.
- Máquinas virtuales con o sin discos de datos y un disco temporal.
Azure sigue admitiendo la interfaz SCSI en las ofertas de máquina virtual que proporcionan almacenamiento SCSI. Sin embargo, no todas las nuevas series de máquinas virtuales incluyen SCSI como opción en el futuro.
¿Qué cambia para la máquina virtual?
Cambiar la interfaz de host de SCSI a NVMe no cambia el almacenamiento remoto (disco del sistema operativo ni de discos de datos). Cambia la forma en que el sistema operativo usa los discos.
| Disco | Máquina virtual SCSI | VM NVMe (v5 con disco temporal) | VM NVMe (v6) |
|---|---|---|---|
| Disco del sistema operativo | /dev/sda | /dev/nvme0n1 | /dev/nvme0n1 |
| Disco de archivos temporales | /dev/sdb | /dev/sda | /dev/nvme1n1 |
| Primer disco de datos | /dev/sdc | /dev/nvme0n2 | /dev/nvme0n2 |
La conversión de la máquina virtual de Azure de SCSI a NVMe mediante Azure Boost puede ayudarle a aprovechar al máximo estas mejoras de rendimiento y mantener un perímetro competitivo en el panorama informático en la nube.
Migración de una máquina virtual de SCSI a NVMe
Para migrar de SCSI a NVMe, siga estos pasos generales:
- Compruebe que la serie de máquinas virtuales admite NVMe.
- Compruebe los requisitos previos del sistema operativo.
- Convierta la máquina virtual en NVMe.
- Compruebe la conversión.
1. Comprobar si la serie de máquinas virtuales admite NVMe
En la tabla de disponibilidad Azure Boost se enumeran los tamaños de máquina virtual que admiten discos conectados a NVMe.
2. Compruebe los requisitos previos
Asegúrese de que cumple los siguientes requisitos previos antes de empezar:
- Una suscripción Azure y una máquina virtual que necesita convertir de SCSI a NVMe o de NVMe a SCSI
- PowerShell y el módulo Az instalados y configurados
- Permisos adecuados para ejecutar scripts en recursos de Azure
3. Uso
Para ejecutar el script, abra PowerShell como administrador y siga estos pasos:
- Instale PowerShell o ejecute el script en Azure Cloud Shell.
Sugerencia
Instale PowerShell mediante la documentación de PowerShell.
- Permitir archivos de script de PowerShell sin firmar.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
- Conéctese a la cuenta de Azure mediante
Connect-AzAccount.
Connect-AzAccount
- Asegúrese de que está conectado a la suscripción. Para cambiar la suscripción, use
Set-AzContext.
Select-AzSubscription -Subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Descargue el script.
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"
- Ejecute el script de conversión.
.\Azure-NVMe-Conversion.ps1
Note
Si va a convertir entre tamaños de máquina virtual con compatibilidad con discos de recursos diferentes (temporales), la suscripción de Azure debe registrarse para la VMTempDiskResizePreview característica. Si la característica no está registrada, el script se cierra con un error. Registre la característica mediante el comando siguiente, espere 10 minutos para que la aprobación automática surta efecto y vuelva a ejecutar el script.
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
El script tiene los parámetros siguientes.
| Parámetro | Descripción | Obligatorio |
|---|---|---|
-ResourceGroupName |
Nombre del grupo de recursos de la máquina virtual. | Sí |
-VMName |
Nombre de la máquina virtual en Azure. | Sí |
-NewControllerType |
Tipo de controlador de almacenamiento al que se va a convertir la máquina virtual (NVMe o SCSI). | Sí |
-VMSize |
SKU de máquina virtual de Azure a la que se va a convertir la máquina virtual. | Sí |
-StartVM |
Inicie la máquina virtual después de la conversión. | No |
-FixOperatingSystemSettings |
Corrija automáticamente la configuración del sistema operativo mediante Azure Ejecutar comandos. | No |
-WriteLogfile |
Cree un archivo de registro. | No |
-IgnoreSKUCheck |
Ignore la comprobación de la SKU de la máquina virtual. | No |
-IgnoreWindowsVersionCheck |
Omita la comprobación de la versión de Windows. | No |
-IgnoreAzureModuleCheck |
No ejecute la comprobación de los módulos de Azure instalados. | No |
-IgnoreOSCheck |
No compruebe la preparación del sistema operativo. La expectativa es que el sistema operativo esté listo. | No |
-SleepSeconds |
Tiempo para que Azure aplique los cambios antes de iniciar la máquina virtual. | No |
Este script lleva a cabo los pasos siguientes:
- Valida las versiones del módulo Az, la existencia de máquinas virtuales, el tipo de sistema operativo, la generación, el tipo de controlador actual y la funcionalidad NVMe de la SKU de máquina virtual de destino.
- Con
-FixOperatingSystemSettings, valida y configura el sistema operativo invitado para NVMe mediante Azure ejecutar comando:- En Linux, comprueba que el controlador NVMe está en
initrd/initramfs, establecenvme_core.io_timeout=240y comprueba si/etc/fstabhay nombres de dispositivo en desuso. - En Windows, configura el
stornvmecontrolador para que se inicie en el arranque (sc.exe config stornvme start=boot).
- En Linux, comprueba que el controlador NVMe está en
- Detiene y desasigna la máquina virtual.
- Actualizaciones
supportedCapabilities.diskControllerTypesdeSCSI, NVMeen el disco del sistema operativo. - Cambia el tamaño de la máquina virtual a la SKU de destino y establece el tipo de controlador de disco en NVMe.
- Inicia la máquina virtual (con
-StartVM).
4. Comprobación de la conversión
Confirmación mediante PowerShell
Una vez reiniciada la máquina virtual, confirme que el tipo de controlador de disco cambió correctamente.
$vm = Get-AzVM -ResourceGroupName "<resource-group-name>" -VMName "<vm-name>"
$vm.StorageProfile.DiskControllerType
Comprobación del resultado dentro del invitado
Compruebe los dispositivos mediante el nvme comando . Si falta el nvme comando, instale el nvme-cli paquete.
nvme list
La salida muestra el disco del sistema operativo y los discos de datos.
Sugerencia
Siempre puede volver a SCSI. El script proporciona un comando al final de una ejecución correcta para revertir a la configuración original. Guarde ese comando antes de cerrar la sesión.
Si necesita revertir los cambios, vuelva a ejecutar el script con -NewControllerType SCSI y la SKU original de la máquina virtual:
.\Azure-NVMe-Conversion.ps1 -ResourceGroupName <your-RG> -VMName <your-VMname> -NewControllerType SCSI -VMSize <original-SKU> -StartVM