Bekende problemen met VM's uit de HB-serie en N-serie

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

Van toepassing op: ✔️ Virtuele Linux-machines voor Windows-VM's ✔️ ✔️ Flexibele schaalsets Uniform-schaalsets ✔️

In dit artikel worden recente veelvoorkomende problemen en hun oplossingen beschreven bij het gebruik van hpc- en GPU-VM's uit de HB-serie en N-serie .

Cachetopologie op Standard_HB120rs_v3

lstopo geeft onjuiste cachetopologie weer op de Standard_HB120rs_v3 VM-grootte. Er kan worden weergegeven dat er slechts 32 MB L3 per NUMA is. In de praktijk is er inderdaad 120 MB L3 per NUMA zoals verwacht, omdat dezelfde 480 MB L3 voor de hele VM beschikbaar is, net als bij de andere vm-grootten met beperkte kernen. Dit is een cosmetische fout bij het weergeven van de juiste waarde, wat geen invloed mag hebben op workloads.

qp0-toegangsbeperking

Om hardwaretoegang op laag niveau te voorkomen die kan leiden tot beveiligingsproblemen, is Queue Pair 0 niet toegankelijk voor gast-VM's. Dit moet alleen van invloed zijn op acties die doorgaans zijn gekoppeld aan het beheer van de Verbinding maken X InfiniBand NIC en het uitvoeren van bepaalde InfiniBand-diagnostische gegevens, zoals ibdiagnet, maar geen toepassingen van eindgebruikers.

MOFED-installatie op Ubuntu

Op Ubuntu-18.04 gebaseerde Marketplace VM-installatiekopieën met kernelversies 5.4.0-1039-azure #42 en nieuwer zijn sommige oudere Mellanox OFED in sommige gevallen niet compatibel, waardoor de opstarttijd van de VIRTUELE machine in sommige gevallen toeneemt tot 30 minuten. Dit is gerapporteerd voor zowel Mellanox OFED-versies 5.2-1.0.4.0 als 5.2-2.2.0.0. Het probleem is opgelost met Mellanox OFED 5.3-1.0.0.1. Als het nodig is om de incompatibele OFED te gebruiken, is een oplossing het gebruik van de VM-installatiekopie canonical:UbuntuServer:18_04-lts-gen2:18.04.202101290 marketplace vm of ouder en niet om de kernel bij te werken.

Versneld netwerken op HB, HC, HBv2, HBv3, HBv4, HX, NDv2 en NDv4

Versneld netwerken van Azure is nu beschikbaar op de RDMA- en InfiniBand-compatibele VM-grootten HB, HC, HBv2, HBv3, HBv4, HX, NDv2 en NDv4. Deze mogelijkheid biedt nu uitgebreide mogelijkheden (maximaal 30 Gbps) en latenties via het Azure Ethernet-netwerk. Hoewel dit losstaat van de RDMA-mogelijkheden via het InfiniBand-netwerk, kunnen sommige platformwijzigingen voor deze mogelijkheid van invloed zijn op het gedrag van bepaalde MPI-implementaties bij het uitvoeren van taken via InfiniBand. De InfiniBand-interface op sommige VM's heeft mogelijk een iets andere naam (mlx5_1 in plaats van eerder mlx5_0). Dit kan nodig zijn om de MPI-opdrachtregels aan te passen, met name wanneer u de UCX-interface gebruikt (meestal met OpenMPI en HPC-X).

De eenvoudigste oplossing is momenteel om de nieuwste HPC-X te gebruiken op de CentOS-HPC VM-installatiekopieën waar we de naam van de InfiniBand- en versnelde netwerkinterfaces dienovereenkomstig wijzigen of om het script uit te voeren om de naam van de InfiniBand-interface te wijzigen.

Meer informatie hierover vindt u in dit TechCommunity-artikel met instructies voor het oplossen van waargenomen problemen.

Installatie van InfiniBand-stuurprogramma's op niet-SR-IOV-VM's

Momenteel zijn H16r, H16mr en NC24r niet SR-IOV ingeschakeld. Zie Azure VM-grootten - HPC voor meer informatie over de infiniBand-stack-bifurcation. InfiniBand kan worden geconfigureerd op de VM-grootten met SR-IOV met de OFED-stuurprogramma's, terwijl voor de VM-grootten van niet-SR-IOV ND-stuurprogramma's zijn vereist. Deze IB-ondersteuning is op de juiste wijze beschikbaar voor CentOS, RHEL en Ubuntu.

Mac dupliceren met cloud-init met Ubuntu op H-serie en VM's uit de N-serie

Er is een bekend probleem met cloud-init op Ubuntu VM-installatiekopieën, omdat deze probeert de IB-interface weer te geven. Dit kan gebeuren bij het opnieuw opstarten van de virtuele machine of bij het maken van een VM-installatiekopieën na de generalisatie. In de opstartlogboeken van de VIRTUELE machine kan een fout als volgt worden weergegeven:

“Starting Network Service...RuntimeError: duplicate mac found! both 'eth1' and 'ib0' have mac”.

Dit 'dubbele MAC met cloud-init op Ubuntu' is een bekend probleem. Dit wordt opgelost in nieuwere kernels. Als dit probleem optreedt, is de tijdelijke oplossing:

  1. De marketplace-VM-installatiekopie (Ubuntu 18.04) implementeren
  2. Installeer de benodigde softwarepakketten om IB in te schakelen (instructies hier)
  3. Waagent.conf bewerken om EnableRDMA=y te wijzigen
  4. Netwerken uitschakelen in cloud-init
    echo network: {config: disabled} | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
    
  5. Het netwerkconfiguratiebestand van Netplan bewerken dat door cloud-init wordt gegenereerd om de MAC te verwijderen
    sudo bash -c "cat > /etc/netplan/50-cloud-init.yaml" <<'EOF'
    network:
      ethernets:
        eth0:
          dhcp4: true
      version: 2
    EOF
    

DRAM op VM's uit de HB-serie

VM's uit de HB-serie kunnen momenteel slechts 228 GB RAM beschikbaar maken voor gast-VM's. Op dezelfde manier is 458 GB op HBv2 en 448 GB op HBv3-VM's. Dit wordt veroorzaakt door een bekende beperking van Azure Hypervisor om te voorkomen dat pagina's worden toegewezen aan de lokale DRAM van NUMA-domeinen (AMD CCX) die zijn gereserveerd voor de gast-VM.

GSS-proxy

GSS-proxy heeft een bekende fout in CentOS/RHEL 7.5 die kan optreden als een aanzienlijke prestatie- en reactiesnelheidsstraf bij gebruik met NFS. Dit kan worden verzacht met:

sudo sed -i 's/GSS_USE_PROXY="yes"/GSS_USE_PROXY="no"/g' /etc/sysconfig/nfs

Cache opschonen

Op HPC-systemen is het vaak handig om het geheugen op te schonen nadat een taak is voltooid voordat aan de volgende gebruiker hetzelfde knooppunt wordt toegewezen. Nadat u toepassingen in Linux hebt uitgevoerd, kunt u merken dat uw beschikbare geheugen vermindert terwijl uw buffergeheugen toeneemt, ondanks dat er geen toepassingen worden uitgevoerd.

Schermopname van opdrachtprompt voordat u opschoont

Met behulp numactl -H wordt weergegeven met welke NUMAnode(s) het geheugen wordt gebufferd (mogelijk alle). In Linux kunnen gebruikers de caches op drie manieren opschonen om gebufferd of in de cache opgeslagen geheugen te retourneren naar 'gratis'. U moet root zijn of sudo-machtigingen hebben.

sudo echo 1 > /proc/sys/vm/drop_caches [frees page-cache]
sudo echo 2 > /proc/sys/vm/drop_caches [frees slab objects e.g. dentries, inodes]
sudo echo 3 > /proc/sys/vm/drop_caches [cleans page-cache and slab objects]

Schermopname van opdrachtprompt na het opschonen

Kernelwaarschuwingen

U kunt de volgende kernelwaarschuwingsberichten negeren bij het opstarten van een VM uit de HB-serie onder Linux. Dit komt door een bekende beperking van de Azure-hypervisor die na verloop van tijd wordt aangepakt.

[  0.004000] WARNING: CPU: 4 PID: 0 at arch/x86/kernel/smpboot.c:376 topology_sane.isra.3+0x80/0x90
[  0.004000] sched: CPU #4's llc-sibling CPU #0 is not on the same node! [node: 1 != 0]. Ignoring dependency.
[  0.004000] Modules linked in:
[  0.004000] CPU: 4 PID: 0 Comm: swapper/4 Not tainted 3.10.0-957.el7.x86_64 #1
[  0.004000] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090007 05/18/2018
[  0.004000] Call Trace:
[  0.004000] [<ffffffffb8361dc1>] dump_stack+0x19/0x1b
[  0.004000] [<ffffffffb7c97648>] __warn+0xd8/0x100
[  0.004000] [<ffffffffb7c976cf>] warn_slowpath_fmt+0x5f/0x80
[  0.004000] [<ffffffffb7c02b34>] ? calibrate_delay+0x3e4/0x8b0
[  0.004000] [<ffffffffb7c574c0>] topology_sane.isra.3+0x80/0x90
[  0.004000] [<ffffffffb7c57782>] set_cpu_sibling_map+0x172/0x5b0
[  0.004000] [<ffffffffb7c57ce1>] start_secondary+0x121/0x270
[  0.004000] [<ffffffffb7c000d5>] start_cpu+0x5/0x14
[  0.004000] ---[ end trace 73fc0e0825d4ca1f ]---

Volgende stappen