Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure VMs (máquinas virtuais) dão suporte a duas interfaces de controlador de armazenamento: SCSI (Small Computer System Interface) e NVM Express (NVMe). O SCSI é um padrão herdado que fornece conectividade física e transferência de dados entre computadores e dispositivos periféricos. O NVMe fornece conectividade semelhante, mas é uma interface mais rápida e eficiente para transferência de dados entre servidores e sistemas de armazenamento.
Este artigo mostra como converter uma VM Azure de um controlador de disco SCSI em NVMe usando Azure Boost e o script de Conversão de NVMe Azure. O mesmo script e procedimento se aplicam a:
- VMs de Linux e Windows.
- VMs com ou sem discos de dados e um disco temporário.
Azure continua a dar suporte à interface SCSI nas ofertas de VM que fornecem armazenamento SCSI. No entanto, nem todas as novas séries de VM incluem SCSI como uma opção daqui para frente.
O que está mudando para sua VM?
Alterar a interface do host de SCSI para NVMe não altera o armazenamento remoto (disco do sistema operacional ou discos de dados). Ele altera a maneira como o sistema operacional usa os discos.
| Disk | SCSI VM | VM NVMe (v5 com disco temporário) | NVMe VM (v6) |
|---|---|---|---|
| Disco do sistema operacional | /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 sua VM Azure do SCSI em NVMe usando Azure Boost pode ajudá-lo a aproveitar ao máximo essas melhorias de desempenho e manter uma vantagem competitiva no cenário de computação em nuvem.
Migrar uma VM do SCSI para o NVMe
Para migrar do SCSI para o NVMe, siga estas etapas de alto nível:
- Verifique se sua série de VMs dá suporte ao NVMe.
- Verifique os pré-requisitos do sistema operacional.
- Converta sua VM em NVMe.
- Verifique a conversão.
Note
VMs personalizadas que executam softwares de terceiros capazes de modificar o comportamento de tempo de inicialização, drivers de armazenamento, drivers de filtro ou enumeração de disco não são atualmente um cenário de migração com suporte. Exemplos incluem alguns produtos de backup, segurança, proteção de endpoints e gerenciamento de armazenamento. Para essas configurações, Azure Suporte pode ter capacidade limitada de diagnosticar ou corrigir falhas de migração. Teste a conversão em uma VM de não produção representativa antes de continuar com cargas de trabalho de produção.
1. Verifique se sua série de máquinas virtuais dá suporte ao NVMe
A tabela de disponibilidade do Azure Boost lista os tamanhos de VM que dão suporte a discos anexados NVMe.
2. Verifique os pré-requisitos
Antes de começar, verifique se você tem os seguintes pré-requisitos:
- Uma assinatura Azure e uma máquina virtual que você precisa converter de SCSI para NVMe ou de NVMe para SCSI
- PowerShell e o módulo Az instalado e configurado
- Permissões apropriadas para executar scripts em recursos de Azure
3. Uso
Para executar o script, abra o PowerShell como administrador e siga estas etapas:
- Instale o PowerShell ou execute o script no Azure Cloud Shell.
Dica
Instale o PowerShell usando a documentação do PowerShell.
- Permitir arquivos de script do PowerShell não assinados.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
- Conecte-se à sua conta Azure usando
Connect-AzAccount.
Connect-AzAccount
- Verifique se você está conectado à sua assinatura. Para alterar a assinatura, use
Set-AzContext.
Select-AzSubscription -Subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Baixe o 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"
- Execute o script de conversão.
.\Azure-NVMe-Conversion.ps1
Note
Se você estiver convertendo entre tamanhos de VM com suporte diferente a disco de recurso (temporário), sua assinatura do Azure deverá ser registrada para a funcionalidade VMTempDiskResizePreview. Se o recurso não estiver registrado, o script sairá com um erro. Registre o recurso usando o comando a seguir, aguarde 10 minutos para que a aprovação automática entre em vigor e execute novamente o script.
Register-AzProviderFeature -FeatureName VMTempDiskResizePreview -ProviderNamespace Microsoft.Compute
Exemplo
.\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 sua VM. | Yes |
-VMName |
O nome da sua VM no Azure. | Yes |
-NewControllerType |
O tipo de controlador de armazenamento para o qual converter a VM (NVMe ou SCSI). | Yes |
-VMSize |
A SKU da VM do Azure para a qual a VM será convertida. | Yes |
-StartVM |
Inicie a VM após a conversão. | Não |
-FixOperatingSystemSettings |
Corrija automaticamente as configurações do sistema operacional usando Azure Executar Comandos. | Não |
-WriteLogfile |
Crie um arquivo de log. | Não |
-IgnoreSKUCheck |
Ignore a verificação da SKU da VM. | Não |
-IgnoreWindowsVersionCheck |
Ignore a verificação de versão do Windows. | Não |
-IgnoreAzureModuleCheck |
Não execute a verificação de módulos Azure instalados. | Não |
-IgnoreOSCheck |
Não verifique se o sistema operacional está pronto. A expectativa é que o sistema operacional esteja pronto. | Não |
-SleepSeconds |
O tempo para Azure para resolver as alterações antes de iniciar a VM. | Não |
O script executa as seguintes etapas:
- Valida as versões do módulo Az, a existência da VM, o tipo de sistema operacional, a geração, o tipo de controlador atual e a funcionalidade NVMe da SKU de VM de destino.
- Com
-FixOperatingSystemSettings, valida e configura o sistema operacional convidado para o NVMe usando o Azure Run Command:- No Linux, verifica se o driver NVMe está em
initrd/initramfs, definenvme_core.io_timeout=240e verifica/etc/fstabse há nomes de dispositivo preteridos. - No Windows, configura o driver
stornvmepara ser iniciado na inicialização (sc.exe config stornvme start=boot).
- No Linux, verifica se o driver NVMe está em
- Interrompe e desaloca a VM.
- Atualiza
supportedCapabilities.diskControllerTypesparaSCSI, NVMeno disco do sistema operacional. - Redimensiona a VM para o SKU de destino e define o tipo de controlador de disco como NVMe.
- Inicia a VM (com
-StartVM).
4. Verificar a conversão
Confirmar usando o PowerShell
Depois que a VM for reiniciada, confirme se o tipo de controlador de disco foi alterado com êxito.
$vm = Get-AzVM -ResourceGroupName "<resource-group-name>" -VMName "<vm-name>"
$vm.StorageProfile.DiskControllerType
Verifique o resultado dentro do convidado
Verifique os dispositivos usando o nvme comando. Se o nvme comando estiver ausente, instale o nvme-cli pacote.
nvme list
A saída mostra o disco do sistema operacional e os discos de dados.
Dica
Você sempre pode reverter para SCSI. O script fornece um comando no final de uma execução bem-sucedida para reverter para sua configuração original. Salve esse comando antes de fechar a sessão.
Se você precisar reverter, execute novamente o script com -NewControllerType SCSI e a SKU original da VM:
.\Azure-NVMe-Conversion.ps1 -ResourceGroupName <your-RG> -VMName <your-VMname> -NewControllerType SCSI -VMSize <original-SKU> -StartVM