A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

1. rész A CPU-ról
2. rész A memóriáról

Ma a vSphere lemez alrendszerének metrikáit elemezzük. A lassú virtuális gépek leggyakoribb oka a tárolási probléma. Ha a CPU és a RAM esetében a hibaelhárítás hypervisor szinten véget ér, akkor ha a lemezzel gondok vannak, akkor lehet, hogy az adathálózattal és a tárolórendszerrel kell foglalkozni.

A témát a tárolórendszerekhez való blokk hozzáférés példáján tárgyalom, bár a fájlelérésnél a számlálók megközelítőleg azonosak.

Egy kis elmélet

Amikor a virtuális gépek lemezalrendszerének teljesítményéről beszélünk, az emberek általában három egymással összefüggő paraméterre figyelnek:

  • bemeneti/kimeneti műveletek száma (Input/Output Operations Per Second, IOPS);
  • áteresztőképesség;
  • a bemeneti/kimeneti műveletek késleltetése (latencia).

IOPS száma általában véletlenszerű munkaterheléseknél fontos: hozzáférés a különböző helyeken található lemezblokkokhoz. Ilyen terhelés például az adatbázisok, üzleti alkalmazások (ERP, CRM) stb.

kapacitás fontos a szekvenciális terheléseknél: hozzáférés az egymás után elhelyezkedő blokkokhoz. Például a fájlszerverek (de nem mindig) és a videó megfigyelő rendszerek generálhatnak ilyen terhelést.

Az áteresztőképesség az I/O műveletek számához kapcsolódik a következőképpen:

Átbocsátóképesség = IOPS * Blokkméret, ahol a blokk mérete a blokk mérete.

A blokk mérete meglehetősen fontos jellemző. Az ESXi modern verziói legfeljebb 32 767 KB méretű blokkokat tesznek lehetővé. Ha a blokk még nagyobb, akkor több részre oszlik. Nem minden tárolórendszer tud hatékonyan dolgozni ekkora blokkokkal, ezért van egy DiskMaxIOSize paraméter az ESXi Advanced Settings között. Használatával csökkentheti a hypervisor által kihagyott maximális blokkméretet (további részletek itt). A paraméter megváltoztatása előtt azt javaslom, hogy konzultáljon a tárolórendszer gyártójával, vagy legalább tesztelje a változtatásokat laboratóriumi padon. 

A nagy blokkméret káros hatással lehet a tárolási teljesítményre. Még akkor is, ha az IOPS száma és az átviteli sebesség viszonylag kicsi, nagy blokkméret esetén magas késleltetések figyelhetők meg. Ezért figyeljen erre a paraméterre.

Késleltetés – a legérdekesebb teljesítményparaméter. A virtuális gép I/O késése a következőkből áll:

  • késések a hipervizoron belül (KAVG, Average Kernel MilliSec/Read);
  • az adathálózat és a tárolórendszer által biztosított késleltetés (DAVG, Average Driver MilliSec/Command).

A vendég operációs rendszerben látható teljes késés (GAVG, átlagos vendég MilliSec/Command) a KAVG és a DAVG összege.

A GAVG és DAVG mérése és a KAVG kiszámítása: GAVG–DAVG.

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás
Forrás

Nézzük meg közelebbről KAVG. Normál működés közben a KAVG-nek nullára kell lennie, vagy legalábbis sokkal kisebbnek kell lennie, mint a DAVG. Az egyetlen olyan eset, ahol a KAVG várhatóan magas, az az IOPS-korlát a virtuális gép lemezén. Ebben az esetben, amikor megpróbálja túllépni a határt, a KAVG növekedni fog.

A KAVG legjelentősebb összetevője a QAVG – a feldolgozási várakozási idő a hypervisoron belül. A KAVG többi összetevője elhanyagolható.

A lemezadapter-illesztőprogramban és a holdakhoz vezető sor rögzített méretű. Erősen terhelt környezetekben hasznos lehet ezt a méretet növelni. Itt leírja, hogyan lehet növelni a sorokat az adapter-illesztőprogramban (egyidejűleg megnő a sor a holdakhoz). Ez a beállítás akkor működik, ha csak egy virtuális gép dolgozik a Holddal, ami ritka. Ha több virtuális gép van a Holdon, akkor a paramétert is növelni kell Disk.SchedNumReqOutstanding (utasítás  itt). A várakozási sor növelésével csökkenti a QAVG-t és a KAVG-t.

De ismételten először olvassa el a HBA-szállító dokumentációját, és tesztelje a változtatásokat egy laborpadon.

A Holdhoz vezető sor méretét befolyásolhatja a SIOC (Storage I/O Control) mechanizmus beépítése. Egységes hozzáférést biztosít a holdhoz a fürt összes szerveréről azáltal, hogy dinamikusan változtatja a kiszolgálókon a holdra mutató sort. Vagyis ha az egyik gazdagép olyan virtuális gépet futtat, amely aránytalanul nagy teljesítményt igényel (zajos szomszéd virtuális gép), a SIOC csökkenti a sor hosszát a holdig ezen a gazdagépen (DQLEN). További részletek itt.

Rendbe hoztuk a KAVG-t, most egy kicsit kb DAVG. Itt minden egyszerű: a DAVG a külső környezet (adathálózat és tárolórendszer) által bevezetett késleltetés. Minden modern és kevésbé modern tárolórendszernek megvannak a maga teljesítményszámlálói. A DAVG-vel kapcsolatos problémák elemzéséhez érdemes ezeket megvizsgálni. Ha minden rendben van az ESXi és a tárolási oldalon, ellenőrizze az adathálózatot.

A teljesítményproblémák elkerülése érdekében válassza ki a megfelelő PSP-t a tárolórendszerhez. Szinte az összes modern tárolórendszer támogatja a PSP Round-Robint (ALUA-val vagy anélkül, Asymmetric Logical Unit Access). Ez a házirend lehetővé teszi a tárolórendszerhez vezető összes elérhető útvonal használatát. Az ALUA esetében csak a Holdat birtokló vezérlőhöz vezető útvonalak használatosak. Nem minden ESXi tárolórendszer rendelkezik alapértelmezett szabályokkal, amelyek beállítják a Round-Robin házirendet. Ha nincs szabály a tárolórendszerhez, használja a tárolórendszer gyártójának beépülő modulját, amely létrehoz egy megfelelő szabályt a fürt összes gazdagépén, vagy hozzon létre egy szabályt saját maga. Részletek itt

Ezenkívül egyes tárolórendszer-gyártók azt javasolják, hogy az útvonalonkénti IOPS-ek számát a szabványos 1000-ről 1-re módosítsák. Gyakorlatunkban ez lehetővé tette a tárolórendszerből nagyobb teljesítmény „kiszorítását”, és jelentősen csökkenti a feladatátvételhez szükséges időt. vezérlő meghibásodása vagy frissítése esetén. Ellenőrizze a gyártó ajánlásait, és ha nincs ellenjavallat, próbálja megváltoztatni ezt a paramétert. Részletek itt.

Alapszintű virtuális gép lemezes alrendszer teljesítményszámlálói

A lemezalrendszer teljesítményszámlálói a vCenterben az Adattár, Lemez, Virtuális lemez szakaszokban vannak gyűjtve:

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

Szakaszban Adattár vannak metrikák a vSphere lemeztárolókhoz (adattárolókhoz), amelyeken a virtuálisgép-lemezek találhatók. Itt szabványos számlálókat talál:

  • IOPS (átlagos olvasási/írási kérések másodpercenként), 
  • átviteli sebesség (olvasási/írási sebesség), 
  • késések (olvasás/írás/legmagasabb késleltetés).

A számlálók nevéből elvileg minden kiderül. Még egyszer felhívom a figyelmet arra, hogy a statisztikák itt nem egy adott virtuális gépre (vagy VM-lemezre) vonatkoznak, hanem a teljes adattárra vonatkozó általános statisztikák. Szerintem kényelmesebb ESXTOP-ban nézni ezeket a statisztikákat, legalábbis abból kiindulva, hogy ott 2 másodperc a minimális mérési időszak.

Szakaszban Korong vannak metrikák a virtuális gép által használt blokkeszközökön. Létezik összegzés típusú IOPS számláló (a bemeneti/kimeneti műveletek száma a mérési periódus alatt) és több blokkos hozzáféréssel kapcsolatos számláló (Parancsok megszakadtak, Busz alaphelyzetbe állítások). Véleményem szerint ezeket az információkat is kényelmesebb az ESXTOP-ban tekinteni.

rész Virtuális lemez – a leghasznosabb a VM lemez alrendszer teljesítményproblémáinak keresése szempontjából. Itt láthatja az egyes virtuális lemezek teljesítményét. Ez az információ szükséges annak megértéséhez, hogy egy adott virtuális gépnek van-e probléma. Az I/O műveletek, az olvasási/írási mennyiség és a késleltetések szabványos számlálóin kívül ez a szakasz hasznos számlálókat tartalmaz, amelyek a blokkméretet mutatják: Olvasási/írási kérés mérete.

Az alábbi képen a VM lemez teljesítményének grafikonja látható, ahol láthatja az IOPS számát, a késleltetést és a blokk méretét. 

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

Ha a SIOC engedélyezve van, megtekintheti a teljes adattár teljesítménymutatóit is. Itt vannak alapvető információk az átlagos késleltetésről és az IOPS-ről. Alapértelmezés szerint ezek az információk csak valós időben tekinthetők meg.

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

ESXTOP

Az ESXTOP számos képernyővel rendelkezik, amelyek a gazdagép lemez alrendszerének egészéről, az egyes virtuális gépekről és azok lemezeiről nyújtanak információkat.

Kezdjük a virtuális gépekkel kapcsolatos információkkal. A „Disk VM” képernyő a „v” billentyűvel hívható elő:

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

NVDISK a virtuálisgép-lemezek száma. Az egyes lemezekre vonatkozó információk megtekintéséhez nyomja meg az „e” billentyűt, és adja meg a kívánt virtuális gép GID-jét.

A képernyő többi paraméterének jelentése a nevükből egyértelmű.

A hibaelhárítás során egy másik hasznos képernyő a Lemezadapter. A „d” billentyűvel hívható (az alábbi képen az A,B,C,D,E,G mezők vannak kiválasztva):

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

NPTH – az adapterből látható holdakhoz vezető utak száma. Az adapter egyes elérési útjaira vonatkozó információk megtekintéséhez nyomja meg az „e” gombot, és írja be az adapter nevét:

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

AQLEN – maximális sorméret az adapteren.

Ezen a képernyőn vannak a késleltetési számlálók is, amelyekről fentebb beszéltem: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

Az „u” billentyű megnyomásával előhívható Lemezeszköz képernyő információkat nyújt az egyes blokkeszközökről - holdakról (az alábbi képen az A, B, F, G, I mezők vannak kiválasztva). Itt láthatja a holdak sorának állapotát.

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

DQLEN – sorméret egy blokkeszközhöz.
ACTV – I/O parancsok száma az ESXi kernelben.
QUED – a sorban lévő I/O parancsok száma.
%USADOLLÁR – ACTV / DQLEN × 100%.
BETÖLTÉS – (ACTV + QUED) / DQLEN.

Ha a %USD értéke magas, fontolja meg a sor növelését. Minél több parancs van a sorban, annál magasabb a QAVG és ennek megfelelően a KAVG.

A Lemezeszköz képernyőjén azt is láthatja, hogy a VAAI (vStorage API for Array Integration) fut-e a tárolórendszeren. Ehhez válassza ki az A és O mezőt.

A VAAI mechanizmus lehetővé teszi, hogy a munka egy részét a hipervizorból közvetlenül a tárolórendszerbe vigye át, például nullázás, blokkok másolása vagy blokkolása.

A VM teljesítményének elemzése a VMware vSphere-ben. 3. rész: Tárolás

Amint a fenti képen látható, a VAAI ezen a tárolórendszeren dolgozik: a nulla és az ATS primitíveket aktívan használják.

Tippek az ESXi lemezalrendszerrel való munka optimalizálásához

  • Ügyeljen a blokk méretére.
  • Állítsa be az optimális sorméretet a HBA-n.
  • Ne felejtse el engedélyezni a SIOC-ot az adattárolókban.
  • Válasszon PSP-t a tárolórendszer gyártójának ajánlásai szerint.
  • Győződjön meg arról, hogy a VAAI működik.

Hasznos cikkek a témában:http://www.yellow-bricks.com/2011/06/23/disk-schednumreqoutstanding-the-story/
http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/
http://www.yellow-bricks.com/2019/03/05/dqlen-changes-what-is-going-on/
https://www.codyhosterman.com/2017/02/understanding-vmware-esxi-queuing-and-the-flasharray/
https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/
https://kb.vmware.com/s/article/1267
https://kb.vmware.com/s/article/1268
https://kb.vmware.com/s/article/1027901
https://kb.vmware.com/s/article/2069356
https://kb.vmware.com/s/article/2053628
https://kb.vmware.com/s/article/1003469
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere-esxi-vcenter-server-67-performance-best-practices.pdf

Forrás: will.com

Hozzászólás