Ismert problémák a HB-sorozatú és N-sorozatú VM-ek esetében

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Windows rendszerű virtuális gépek Rugalmas méretezési ✔️ csoportok ✔️ Egységes méretezési csoportok

Ez a cikk a HB sorozatú és N sorozatú HPC- és GPU-virtuális gépek használatakor a legutóbbi gyakori problémákat és megoldásaikat próbálja felsorolni.

Gyorsítótár topológiája a Standard_HB120rs_v3

lstopo helytelen gyorsítótár-topológiát jelenít meg a Standard_HB120rs_v3 virtuális gép méretén. Előfordulhat, hogy NUMA-nként csak 32 MB L3 van. A gyakorlatban azonban valóban 120 MB L3/NUMA van a vártnak megfelelően, mivel a teljes virtuális gépre ugyanaz a 480 MB L3 érhető el, mint a többi korlátozott magú HBv3 virtuálisgép-méret esetében. Ez egy kozmetikai hiba a helyes érték megjelenítésekor, ami nem befolyásolhatja a számítási feladatokat.

qp0 hozzáférési korlátozás

A biztonsági réseket eredményező alacsony szintű hardverhozzáférés megakadályozása érdekében a Queue Pair 0 nem érhető el a vendég virtuális gépek számára. Ez csak a Csatlakozás X InfiniBand hálózati adapter felügyeletével és néhány InfiniBand-diagnosztikával, például az ibdiagnettel kapcsolatos műveleteket érinti, végfelhasználói alkalmazásokat azonban nem.

MOFED-telepítés az Ubuntu-on

Az Ubuntu-18.04-alapú, kerneles és újabb verziójú 5.4.0-1039-azure #42 marketplace-alapú virtuálisgép-rendszerképeken néhány régebbi Mellanox OFED nem kompatibilis, ami bizonyos esetekben akár 30 perccel is megnöveli a virtuális gépek rendszerindítási idejét. Ez mind a Mellanox OFED 5.2-1.0.4.0-s, mind az 5.2-2.2.0.0-s verziójára vonatkozóan jelent meg. A probléma a Mellanox OFED 5.3-1.0.0.1 verziójával oldható meg. Ha az inkompatibilis OFED használatára van szükség, a megoldás a Canonical:UbuntuServer:18_04-lts-gen2:18.04.202101290 marketplace virtuálisgép-rendszerkép használata, vagy régebbi, és nem frissíti a kernelt.

Gyorsított hálózatkezelés HB, HC, HBv2, HBv3, HBv4, HX, NDv2 és NDv4 rendszeren

Az Azure Gyorsított hálózatkezelés mostantól elérhető az RDMA és az InfiniBand képes és az SR-IOV-kompatibilis virtuálisgép-méretekben, amelyek HB, HC, HBv2, HBv3, HBv4, HX, NDv2 és NDv4 méretűek. Ez a funkció mostantól lehetővé teszi a továbbfejlesztett (akár 30 Gb/s-os) és késéseket az Azure Ethernet-hálózaton. Bár ez eltér az InfiniBand-hálózaton található RDMA-képességektől, a funkció egyes platformmódosításai hatással lehetnek bizonyos MPI-implementációk viselkedésére, amikor feladatokat futtatnak az InfiniBanden keresztül. Konkrétan egyes virtuális gépek InfiniBand felületének neve kissé eltérő lehet (mlx5_1 a korábbi mlx5_0 szemben). Ehhez szükség lehet az MPI-parancssorok finomhangolására, különösen az UCX-felület használatakor (gyakran az OpenMPI és a HPC-X esetén).

A legegyszerűbb megoldás jelenleg a legújabb HPC-X használata a CentOS-HPC virtuálisgép-rendszerképeken, ahol ennek megfelelően átnevezzük az InfiniBand és a Gyorsított hálózati adaptereket, vagy a szkript futtatásával átnevezzük az InfiniBand felületet.

Erről további részleteket a TechCommunity jelen cikkében talál, amely útmutatást nyújt a megfigyelt problémák megoldásához.

InfiniBand illesztőprogram telepítése nem SR-IOV rendszerű virtuális gépeken

Jelenleg a H16r, a H16mr és az NC24r nincs engedélyezve az SR-IOV-ben. Az InfiniBand-verem felágazásáról további információt az Azure-beli virtuálisgép-méretek – HPC című témakörben talál. Az InfiniBand az SR-IOV-kompatibilis virtuálisgép-méreteken konfigurálható az OFED illesztőprogramokkal, míg a nem SR-IOV virtuálisgép-méretekhez ND-illesztőprogramok szükségesek. Ez az IB-támogatás a CentOS, az RHEL és az Ubuntu esetében megfelelő módon érhető el.

Mac duplikálása a cloud-inittel az Ubuntu használatával H sorozatú és N sorozatú virtuális gépeken

Az Ubuntu virtuálisgép-rendszerképeken a cloud-inittel kapcsolatban ismert probléma merült fel, amikor megpróbálja felhozni az IB-felületet. Ez történhet a virtuális gép újraindításakor vagy a virtuálisgép-rendszerkép általánosítás utáni létrehozásakor. A virtuális gép rendszerindítási naplói a következőképpen jelenhetnek meg:

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

Ez a "duplikált MAC és cloud-init az Ubuntu-on" ismert probléma. Ez az újabb kernelekben lesz feloldva. Ha ez a probléma jelentkezik, a kerülő megoldás a következő:

  1. Az (Ubuntu 18.04)-piactéri virtuálisgép-rendszerkép üzembe helyezése
  2. Telepítse a szükséges szoftvercsomagokat az IB engedélyezéséhez (itt talál útmutatást)
  3. A waagent.conf szerkesztése az EnableRDMA=y módosításához
  4. Hálózatkezelés letiltása a cloud-initben
    echo network: {config: disabled} | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
    
  5. A netplan cloud-init által létrehozott hálózati konfigurációs fájljának szerkesztése a MAC eltávolításához
    sudo bash -c "cat > /etc/netplan/50-cloud-init.yaml" <<'EOF'
    network:
      ethernets:
        eth0:
          dhcp4: true
      version: 2
    EOF
    

DRAM HB-sorozatú virtuális gépeken

A HB sorozatú virtuális gépek jelenleg csak 228 GB RAM-ot tehetnek elérhetővé a vendég virtuális gépek számára. Hasonlóképpen, 458 GB HBv2 és 448 GB HBv3 virtuális gépeken. Ennek oka az Azure-hipervizor ismert korlátozása, amely megakadályozza, hogy a lapok a vendég virtuális gép számára fenntartott AMD CCX (NUMA-tartományok) helyi DRAM-jaihoz legyenek rendelve.

GSS-proxy

A GSS-proxynak van egy ismert hibája a CentOS/RHEL 7.5-ben, amely jelentős teljesítmény- és válaszképesség-büntetésként nyilvánulhat meg az NFS használatakor. Ez a következőkkel enyhíthető:

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

Gyorsítótár tisztítása

A HPC-rendszereken gyakran hasznos a memória megtisztítása, miután egy feladat befejeződött, mielőtt a következő felhasználó ugyanazt a csomópontot rendeli hozzá. Miután linuxos alkalmazásokat futtatott, előfordulhat, hogy a rendelkezésre álló memória csökken, miközben a puffermemória növekszik, annak ellenére, hogy nem futtat semmilyen alkalmazást.

Képernyőkép a parancssorról a tisztítás előtt

A használat numactl -H megmutatja, hogy a memória mely NUMAnode(ka)val van pufferelve (valószínűleg az összeskel). Linuxon a felhasználók három módon tisztíthatják meg a gyorsítótárakat, hogy a pufferelt vagy gyorsítótárazott memóriát "szabad" értékre adja vissza. Gyökérnek kell lennie, vagy sudo engedélyekkel kell rendelkeznie.

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]

Képernyőkép a parancssorról a tisztítás után

Kernel-figyelmeztetések

A linuxos HB-sorozatú virtuális gépek indításakor figyelmen kívül hagyhatja a következő kernel-figyelmeztető üzeneteket. Ennek oka az Azure-hipervizor egy ismert korlátozása, amely idővel foglalkozni fog.

[  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 ]---

Következő lépések