Compartilhar via


Saiba mais sobre o Azure-VM-Utils

Aplica-se a: ✔️ VMs do Linux ✔️ Conjuntos de dimensionamento flexíveis

O pacote azure-vm-utils fornece utilitários essenciais e regras de udev para otimizar a experiência do Linux em Máquinas Virtuais do Azure. Esse pacote consolida as ferramentas de gerenciamento de dispositivos para SCSI (Small Computer System Interface), NVMe (Express de Memória Não Volátil), MANA (Adaptador de Rede) do Microsoft Azure e dispositivos Mellanox, tornando a identificação e o gerenciamento de disco mais confiáveis e consistentes em diferentes configurações de VM.

Regras de NVMe udev

As SKUs de VMs (máquinas virtuais) mais recentes no Azure utilizam a interface NVMe para gerenciamento de disco. VMs com interfaces NVMe interpretam e apresentam discos de forma diferente das VMs que usam interfaces SCSI. Para obter detalhes, consulte a conversão SCSI para NVMe.

As regras de udev do NVMe neste pacote consolidam ferramentas críticas e regras udev para criar symlinks estáveis e previsíveis para discos do Azure. Esse pacote fornece uma maneira fácil e confiável de identificar discos, tornando a automação, a solução de problemas e o gerenciamento mais simples.

O WALinuxAgent atualmente inclui regras de udev para fornecer vários symlinks para discos SCSI:

  • /dev/disk/azure/resource
  • /dev/disk/azure/root
  • /dev/disk/azure/scsi0/lun<lun>
  • /dev/disk/azure/scsi1/lun<lun>

As regras encontradas no WALinuxAgent estão sendo estendidas com azure-vm-utils para adicionar suporte de identificação para dispositivos NVMe.

Os seguintes symlinks são fornecidos para todas as instâncias com discos NVMe:

  • /dev/disk/azure/data/by-lun/<lun>
  • /dev/disk/azure/local/by-serial/<serial>
  • /dev/disk/azure/os

Para tamanhos de VM v6 e mais recentes com discos NVMe locais que dão suporte a identificadores de namespace, os seguintes links também estão disponíveis:

  • /dev/disk/azure/local/by-index/<index>
  • /dev/disk/azure/local/by-name/<name>

Compatibilidade com SCSI

Para garantir a compatibilidade com versões anteriores para discos que usam controladores SCSI, o azure-vm-utils dá suporte aos seguintes links:

  • /dev/disk/azure/os
  • /dev/disk/azure/resource

Observação

Alguns tamanhos de VM vêm com um disco temporário NVMe, além de um disco temporário SCSI.

Suporte à distribuição do Linux

As seguintes distribuições e versões atualmente incluem az-vm-utils em suas imagens oficiais do Azure Marketplace:

Distribuição Versão
Fedora 42
Kinvolk / Flatcar 4152.2.3
Azure Linux 2.0
Canônico/Ubuntu 22.04, 24.04, 25.04

Installation

Se o pacote não estiver presente na imagem de plataforma padrão, instale-o por meio de gerenciadores de pacotes ou do repositório GitHub.

Instalação manual

Para distribuições em que o azure-vm-utils não é pré-instalado, compile e instale-o manualmente:

# Clone the repository
git clone https://github.com/Azure/azure-vm-utils.git
cd azure-vm-utils

# Build the package
cmake .
make

# Install (requires root privileges)
sudo make install

Utilities

azure-nvme-id

O azure-nvme-id utilitário ajuda a identificar dispositivos NVMe do Azure e suas propriedades. Esse utilitário é útil para solução de problemas e scripts.

Para executar o utilitário:

sudo azure-nvme-id

Para executar no modo udev (normalmente usado por regras udev):

DEVNAME=/dev/nvme0n1 azure-nvme-id --udev

Depois que o azure-vm-utils é instalado, você pode usar os symlinks previsíveis para operações de disco em vez de depender de nomes de dispositivo que podem mudar entre reinicializações.

Exemplos

Listar todos os symlinks de disco do Azure:

find /dev/disk/azure/ -type l

Acesse o disco do sistema operacional:

ls -la /dev/disk/azure/os

Acessar discos de dados por LUN:

ls -la /dev/disk/azure/data/by-lun/

Acesse discos NVMe locais por número de série:

ls -la /dev/disk/azure/local/by-serial/

Verificação

Para verificar se o azure-vm-utils está funcionando corretamente em sua VM:

  1. Verifique se o pacote está instalado:

    # For RPM-based systems
    rpm -qa azure-vm-utils
    
    # For DEB-based systems
    dpkg -l azure-vm-utils
    
  2. Verifique se as regras de udev estão em vigor:

    ls -al /usr/lib/udev/rules.d/10-azure-unmanaged-sriov.rules
    ls -al /usr/lib/udev/rules.d/80-azure-disk.rules
    
  3. Verifique se há symlinks de disco do Azure:

    find /dev/disk/azure -type l