Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As máquinas virtuais (VMs) do Azure suportam duas interfaces de controlador de armazenamento: Small Computer System Interface (SCSI) e NVM Express (NVMe). O SCSI é um padrão legado que fornece conectividade física e transferência de dados entre computadores e dispositivos periféricos. O NVMe oferece conectividade semelhante, mas é uma interface mais rápida e eficiente para a transferência de dados entre servidores e sistemas de armazenamento.
Este artigo mostra-lhe como converter uma VM Azure de um controlador de disco SCSI para NVMe usando o Azure Boost e o script de conversão NVMe do Azure. O mesmo script e procedimento aplicam-se a:
- Máquinas virtuais Linux e Windows.
- VMs com ou sem discos de dados e um disco temporário.
O Azure continua a suportar a interface SCSI nas ofertas de VM que fornecem armazenamento SCSI. No entanto, nem todas as novas séries VM incluem SCSI como opção daqui para a frente.
O que está a mudar para a sua máquina virtual?
Mudar a interface do host de SCSI para NVMe não altera o armazenamento remoto (disco do sistema operativo ou discos de dados). Muda a forma como o sistema operativo utiliza os discos.
| Disk | SCSI VM | VM NVMe (v5 com disco temporário) | VM NVMe (v6) |
|---|---|---|---|
| Disco do sistema operativo | /dev/sda | /dev/nvme0n1 | /dev/nvme0n1 |
| Disco temporário | /dev/sdb | /dev/sda | /dev/nvme1n1 |
| Primeiro disco de dados | /dev/sdc | /dev/nvme0n2 | /dev/nvme0n2 |
Converter a sua VM Azure de SCSI para NVMe utilizando o Azure Boost pode ajudá-lo a tirar pleno proveito destas melhorias de desempenho e a manter uma vantagem competitiva no panorama da computação em nuvem.
Migrar uma VM de SCSI para NVMe
Para migrar de SCSI para NVMe, siga estes passos de alto nível:
- Verifica se a tua série VM suporta NVMe.
- Verifica os pré-requisitos para o teu sistema operativo.
- Converte a sua VM para NVMe.
- Verifica a conversão.
1. Verifique se a sua série de máquinas virtuais suporta NVMe
A tabela de disponibilidade do Azure Boost lista os tamanhos das VMs que suportam discos ligados ao NVMe.
2. Verifique os pré-requisitos
Antes de começar, certifique-se de que tem os seguintes pré-requisitos:
- Uma subscrição do Azure e uma máquina virtual que precisas de converter de SCSI para NVMe ou de NVMe para SCSI
- PowerShell e o módulo Az instalados e configurados
- Permissões apropriadas para executar scripts em recursos do Azure
3. Utilização
Para executar o script, abra o PowerShell como administrador e siga estes passos:
- Instale o PowerShell ou execute o script no Azure Cloud Shell.
Sugestão
Instale o PowerShell usando a documentação do PowerShell.
- Permitir ficheiros de scripts PowerShell não assinados.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
- Ligue-se à sua conta Azure usando
Connect-AzAccount.
Connect-AzAccount
- Certifica-te de que estás ligado à tua subscrição. Para alterar a subscrição, use
Set-AzContext.
Select-AzSubscription -Subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Descarrega o guião.
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"
- Executa o script de conversão.
.\Azure-NVMe-Conversion.ps1
Note
Se estiveres a converter entre tamanhos de VM com suporte a diferentes recursos (temporários) para discos, a tua subscrição do Azure tem de estar registada para a VMTempDiskResizePreview funcionalidade. Se a funcionalidade não estiver registada, o script sai com um erro. Registe a funcionalidade usando o seguinte comando, aguarde 10 minutos até que a aprovação automática entre em vigor e depois volte a executar o 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
O script tem os seguintes parâmetros.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
-ResourceGroupName |
O nome do grupo de recursos para a sua VM. | Yes |
-VMName |
O nome da sua VM no Azure. | Yes |
-NewControllerType |
O tipo de controlador de armazenamento para converter a VM (NVMe ou SCSI). | Yes |
-VMSize |
O SKU da VM do Azure para converter a VM. | Yes |
-StartVM |
Inicia a VM após a conversão. | Não |
-FixOperatingSystemSettings |
Corrige automaticamente as definições do sistema operativo usando os Comandos de Execução do Azure. | Não |
-WriteLogfile |
Cria um ficheiro de registo. | Não |
-IgnoreSKUCheck |
Ignora a verificação do SKU VM. | Não |
-IgnoreWindowsVersionCheck |
Ignora a verificação de versões do Windows. | Não |
-IgnoreAzureModuleCheck |
Não faças a verificação dos módulos Azure instalados. | Não |
-IgnoreOSCheck |
Não verifiquem a prontidão do sistema operativo. A expectativa é que o sistema operativo esteja pronto. | Não |
-SleepSeconds |
O tempo para o Azure resolver alterações antes de iniciar a VM. | Não |
O script executa as seguintes etapas:
- Valida as versões do módulo Az (AZ), existência da VM, tipo de sistema operativo, geração, tipo atual de controlador e capacidade NVMe do SKU VM alvo.
- Com
-FixOperatingSystemSettings, valida e configura o sistema operativo convidado para NVMe usando o Azure Run Command:- No Linux, verifica se o driver NVMe está em
initrd/initramfs, definenvme_core.io_timeout=240, e verifica/etc/fstabnomes de dispositivos obsoletos. - No Windows, configura o
stornvmedriver para iniciar no arranque (sc.exe config stornvme start=boot).
- No Linux, verifica se o driver NVMe está em
- Para e desaloca a VM.
- Atualizações
supportedCapabilities.diskControllerTypesnoSCSI, NVMedisco do sistema operativo. - Redimensiona a VM para o SKU alvo e define o tipo de controlador de disco para NVMe.
- Inicia a VM (com
-StartVM).
4. Verificar a conversão
Confirma usando o PowerShell
Depois de a VM reiniciar, confirme que o tipo de controlador de disco foi alterado com sucesso.
$vm = Get-AzVM -ResourceGroupName "<resource-group-name>" -VMName "<vm-name>"
$vm.StorageProfile.DiskControllerType
Verifique o resultado dentro do convidado
Verifica os dispositivos usando o nvme comando. Se o nvme comando estiver em falta, instala o nvme-cli pacote.
nvme list
A saída mostra o disco do sistema operativo e os discos de dados.
Sugestão
Podes sempre voltar para SCSI. O script fornece um comando no final de uma execução bem-sucedida para reverter à sua configuração original. Guarda esse comando antes de fechares a sessão.
Se precisar de reverter, execute novamente o script com -NewControllerType SCSI e o SKU original da VM:
.\Azure-NVMe-Conversion.ps1 -ResourceGroupName <your-RG> -VMName <your-VMname> -NewControllerType SCSI -VMSize <original-SKU> -StartVM