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
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.
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.
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
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
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
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:
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.
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.
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ő:
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):
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:
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.
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.
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:
Forrás: will.com