Udostępnij przez


Dowiedz się więcej o platformie Azure —VM-Utils

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️

Pakiet azure-vm-utils udostępnia podstawowe narzędzia i reguły udev do optymalizacji środowiska Linux na maszynach wirtualnych Azure. Ten pakiet konsoliduje narzędzia do zarządzania urządzeniami dla małego interfejsu systemu komputerowego (SCSI), nietrwałej pamięci Express (NVMe), karty sieciowej platformy Microsoft Azure (MANA) i urządzeń Mellanox, dzięki czemu identyfikacja dysków i zarządzanie nimi będą bardziej niezawodne i spójne w różnych konfiguracjach maszyn wirtualnych.

Reguły NVMe udev

Nowsze jednostki SKU maszyn wirtualnych na platformie Azure używają interfejsu NVMe do zarządzania dyskami. Maszyny wirtualne z interfejsami NVMe interpretują i prezentują dyski inaczej niż maszyny wirtualne korzystające z interfejsów SCSI. Aby uzyskać szczegółowe informacje, zobacz Konwersja SCSI na NVMe.

Reguły NVMe udev w tym pakiecie konsolidują krytyczne narzędzia i reguły udev w celu tworzenia stabilnych, przewidywalnych odnośników symbolicznych dla dysków Azure. Ten pakiet zapewnia łatwy i niezawodny sposób identyfikowania dysków, co ułatwia automatyzację, rozwiązywanie problemów i zarządzanie.

WALinuxAgent obecnie zawiera reguły udev, aby zapewnić kilka symlinków dla dysków SCSI:

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

Reguły znalezione w narzędziu WALinuxAgent są rozszerzane za pomocą narzędzi azure-vm-utils w celu dodania obsługi identyfikacji urządzeń NVMe.

Dla wszystkich wystąpień z dyskami NVMe udostępniane są następujące dowiązania symboliczne:

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

W przypadku maszyn wirtualnych w wersji 6 i nowszych z lokalnymi dyskami NVMe obsługującymi identyfikatory przestrzeni nazw dostępne są również następujące linki:

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

Zgodność z interfejsem SCSI

Aby zapewnić zgodność wsteczną dysków z użyciem kontrolerów SCSI, narzędzie azure-vm-utils obsługuje następujące łącza:

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

Uwaga / Notatka

Niektóre rozmiary maszyn wirtualnych są wyposażone zarówno w dysk tymczasowy NVMe, jak i dysk tymczasowy SCSI.

Obsługa dystrybucji systemu Linux

Następujące dystrybucje i wersje obecnie zawierają az-vm-utils w oficjalnych obrazach dostępnych w Azure Marketplace:

Dystrybucja wersja
Fedora 42
Kinvolk / Flatcar 4152.2.3
Azure Linux 2.0
Canonical /Ubuntu 22.04, 24.04, 25.04

Instalacja

Jeśli pakiet nie znajduje się w domyślnym obrazie platformy, zainstaluj go za pośrednictwem menedżerów pakietów lub z repozytorium GitHub.

Instalacja ręczna

W przypadku dystrybucji, w których narzędzia azure-vm-utils nie są wstępnie zainstalowane, skompiluj je i zainstaluj ręcznie:

# 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

Usługi komunalne

azure-nvme-id

Narzędzie azure-nvme-id pomaga identyfikować urządzenia NVMe platformy Azure i ich właściwości. To narzędzie jest przydatne do rozwiązywania problemów i tworzenia skryptów.

Aby uruchomić narzędzie:

sudo azure-nvme-id

Aby uruchomić w trybie udev (zwykle używane przez reguły udev):

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

Po zainstalowaniu narzędzia azure-vm-utils można używać przewidywalnych łączy symbolicznych do operacji na dysku, zamiast polegać na nazwach urządzeń, które mogą zmieniać się między ponownymi uruchomieniami.

Przykłady

Wyświetl listę wszystkich symetrii dysków platformy Azure:

find /dev/disk/azure/ -type l

Uzyskaj dostęp do dysku systemu operacyjnego:

ls -la /dev/disk/azure/os

Uzyskiwanie dostępu do dysków danych przez LUN:

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

Uzyskaj dostęp do lokalnych dysków NVMe według numeru seryjnego:

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

Verification

Aby sprawdzić, czy narzędzie azure-vm-utils działa prawidłowo na maszynie wirtualnej:

  1. Sprawdź, czy pakiet jest zainstalowany:

    # For RPM-based systems
    rpm -qa azure-vm-utils
    
    # For DEB-based systems
    dpkg -l azure-vm-utils
    
  2. Sprawdź, czy obowiązują reguły udev:

    ls -al /usr/lib/udev/rules.d/10-azure-unmanaged-sriov.rules
    ls -al /usr/lib/udev/rules.d/80-azure-disk.rules
    
  3. Sprawdź, czy nie ma symetrii dysków platformy Azure:

    find /dev/disk/azure -type l