VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

Osa 1. Tietoja CPU:sta
Osa 2. Tietoja muistista

Tänään analysoimme vSpheren levyalijärjestelmän mittareita. Tallennusongelma on yleisin syy hitaaseen virtuaalikoneen. Jos suorittimen ja RAM:n tapauksessa vianmääritys päättyy hypervisor-tasolle, niin jos levyssä on ongelmia, saatat joutua käsittelemään tietoverkkoa ja tallennusjärjestelmää.

Keskustelen aiheesta käyttämällä esimerkkiä tallennusjärjestelmien estämisestä, vaikka tiedostojen käytön laskurit ovat suunnilleen samat.

Hieman teoria

Kun puhutaan virtuaalikoneiden levyalijärjestelmän suorituskyvystä, ihmiset kiinnittävät yleensä huomiota kolmeen toisiinsa liittyvään parametriin:

  • syöttö/tulostustoimintojen määrä (Input/Output Operations Per Second, IOPS);
  • suorituskyky;
  • syöttö/tulostustoimintojen viive (latenssi).

IOPS:ien lukumäärä yleensä tärkeä satunnaisille työkuormille: pääsy eri paikoissa sijaitseviin levylohkoihin. Esimerkki tällaisesta kuormituksesta voisi olla tietokannat, yrityssovellukset (ERP, CRM) jne.

kapasiteetti tärkeä peräkkäisille kuormille: pääsy peräkkäin sijaitseviin lohkoihin. Esimerkiksi tiedostopalvelimet (mutta eivät aina) ja videovalvontajärjestelmät voivat tuottaa tällaisen kuorman.

Suorituskyky liittyy I/O-toimintojen määrään seuraavasti:

Suorituskyky = IOPS * Lohkon koko, jossa Lohkon koko on lohkon koko.

Lohkon koko on melko tärkeä ominaisuus. ESXi:n nykyaikaiset versiot sallivat jopa 32 767 kilotavun lohkot. Jos lohko on vielä suurempi, se jaetaan useisiin. Kaikki tallennusjärjestelmät eivät pysty toimimaan tehokkaasti näin suurten lohkojen kanssa, joten ESXi Advanced Settings -asetuksissa on DiskMaxIOSize-parametri. Sen avulla voit pienentää hypervisorin ohittamaa lohkon enimmäiskokoa (lisätietoja täällä). Ennen kuin muutat tätä parametria, suosittelen, että otat yhteyttä tallennusjärjestelmän valmistajaan tai ainakin testaat muutokset laboratoriopenkillä. 

Suurella lohkokoolla voi olla haitallinen vaikutus varastoinnin suorituskykyyn. Vaikka IOPS:ien määrä ja suorituskyky ovat suhteellisen pieniä, suuria latenssia voidaan havaita suurella lohkokoolla. Siksi kiinnitä huomiota tähän parametriin.

Viive – mielenkiintoisin suorituskykyparametri. Virtuaalikoneen I/O-latenssi koostuu seuraavista:

  • viiveet hypervisorin sisällä (KAVG, Average Kernel MilliSec/Read);
  • tietoverkon ja tallennusjärjestelmän tuottama viive (DAVG, Average Driver MilliSec/Command).

Vieraskäyttöjärjestelmässä näkyvä kokonaisviive (GAVG, Average Guest MilliSec/Command) on KAVG:n ja DAVG:n summa.

GAVG ja DAVG mitataan ja KAVG lasketaan: GAVG–DAVG.

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi
Lähde

Katsotaanpa tarkemmin KAVG. Normaalin toiminnan aikana KAVG:n pitäisi pyrkiä nollaan tai ainakin olla paljon pienempi kuin DAVG. Ainoa tapaus, jonka tiedän, missä KAVG:n odotetaan olevan korkea, on VM-levyn IOPS-raja. Tässä tapauksessa, kun yrität ylittää rajan, KAVG kasvaa.

KAVG:n merkittävin komponentti on QAVG - käsittelyjonoaika hypervisorissa. Muut KAVG:n komponentit ovat mitättömiä.

Levysovittimen ajurin jonolla ja jonolla on kiinteä koko. Erittäin kuormitetuissa ympäristöissä voi olla hyödyllistä suurentaa tätä kokoa. Täällä kuvataan, kuinka jonoja lisätään sovitinohjaimessa (samalla jono kuuihin kasvaa). Tämä asetus toimii, kun vain yksi virtuaalikone työskentelee kuun kanssa, mikä on harvinaista. Jos kuussa on useita virtuaalikoneita, sinun on myös lisättävä parametria Disk.SchedNumReqOutstanding (ohjeet  täällä). Lisäämällä jonoa pienennät QAVG:tä ja KAVG:tä vastaavasti.

Mutta jälleen kerran, lue ensin HBA-toimittajan dokumentaatio ja testaa muutokset laboratoriopenkillä.

Kuuhun menevän jonon kokoon voi vaikuttaa SIOC (Storage I/O Control) -mekanismin sisällyttäminen. Se tarjoaa yhtenäisen pääsyn kuuhun kaikilta klusterin palvelimilta muuttamalla dynaamisesti palvelimien jonoa kuuhun. Toisin sanoen, jos jollakin isännistä on käytössä VM, joka vaatii suhteettoman paljon suorituskykyä (kohinainen naapuri-VM), SIOC vähentää jonon pituutta kuuhun tällä isännällä (DQLEN). Lisätietoja täällä.

Olemme selvittäneet KAVG:n, nyt vähän siitä DAVG. Täällä kaikki on yksinkertaista: DAVG on ulkoisen ympäristön (tietoverkon ja tallennusjärjestelmän) aiheuttama viive. Jokaisella nykyaikaisella ja vähemmän nykyaikaisella säilytysjärjestelmällä on omat suorituskykylaskurinsa. DAVG-ongelmien analysoimiseksi on järkevää tarkastella niitä. Jos kaikki on kunnossa ESXi- ja tallennuspuolella, tarkista tietoverkko.

Vältä suorituskykyongelmia valitsemalla tallennusjärjestelmällesi oikea polunvalintakäytäntö (PSP). Lähes kaikki nykyaikaiset tallennusjärjestelmät tukevat PSP Round-Robinia (ALUA:lla tai ilman sitä, Asymmetric Logical Unit Access). Tämän käytännön avulla voit käyttää kaikkia käytettävissä olevia polkuja tallennusjärjestelmään. ALUA:n tapauksessa käytetään vain polkuja kuun omistavaan ohjaimeen. Kaikilla ESXi-tallennusjärjestelmillä ei ole oletussääntöjä, jotka määrittävät Round-Robin-käytännön. Jos tallennusjärjestelmällesi ei ole sääntöä, käytä tallennusjärjestelmän valmistajan lisäosaa, joka luo vastaavan säännön kaikille klusterin isännille, tai luo sääntö itse. Yksityiskohdat täällä

Lisäksi jotkut tallennusjärjestelmien valmistajat suosittelevat IOPS-määrän muuttamista polkua kohden vakioarvosta 1000 1:een. Käytännössämme tämä mahdollisti tallennusjärjestelmän suorituskyvyn "puristamisen" ja lyhensi huomattavasti vikasietoisuuden vaatimaa aikaa. ohjaimen vian tai päivityksen sattuessa. Tarkista myyjän suositukset ja jos vasta-aiheita ei ole, yritä muuttaa tätä parametria. Yksityiskohdat täällä.

Virtuaalikoneen levyalijärjestelmän perussuorituskykylaskurit

Levyalijärjestelmän suorituskykylaskurit vCenterissä kerätään Datastore-, Disk- ja Virtual Disk -osiin:

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

Luokasta Tietovarasto VM-levyt sijaitsevat vSphere-levyvarastoissa (tietosäilöissä). Täältä löydät vakiolaskurit:

  • IOPS (keskimääräiset luku-/kirjoituspyynnöt sekunnissa), 
  • suorituskyky (luku/kirjoitusnopeus), 
  • viiveet (luku/kirjoitus/korkein latenssi).

Periaatteessa kaikki on selvää laskurien nimistä. Haluan vielä kerran kiinnittää huomionne siihen, että tässä olevat tilastot eivät koske tiettyä VM:tä (tai VM-levyä), vaan yleisiä koko tietovaraston tilastoja. Mielestäni näitä tilastoja on kätevämpi katsoa ESXTOPissa, ainakin sen perusteella, että minimimittausjakso siellä on 2 sekuntia.

Luokasta Levy lohkolaitteissa on mittareita, joita VM käyttää. On olemassa summaustyyppisiä IOPS-laskureita (tulo/lähtötoimintojen lukumäärä mittausjakson aikana) ja useita laskuria, jotka liittyvät estoon pääsyyn (komennot keskeytyneet, väylän nollaukset). Mielestäni on myös kätevämpää tarkastella näitä tietoja ESXTOPissa.

jakso Virtual Disk – hyödyllisin VM-levyalijärjestelmän suorituskykyongelmien löytämisen kannalta. Täältä näet kunkin virtuaalilevyn suorituskyvyn. Juuri näitä tietoja tarvitaan ymmärtämään, onko tietyssä virtuaalikoneessa ongelma. I/O-toimintojen lukumäärän, luku-/kirjoitustilavuuden ja viiveiden vakiolaskurien lisäksi tämä osa sisältää hyödyllisiä laskureita, jotka osoittavat lohkon koon: Read/Write-pyynnön koko.

Alla olevassa kuvassa on kaavio VM-levyn suorituskyvystä, josta näet IOPS-määrän, latenssin ja lohkokoon. 

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

Voit myös tarkastella koko tietovaraston suorituskykymittareita, jos SIOC on käytössä. Tässä on perustiedot keskimääräisestä latenssista ja IOPS:stä. Oletuksena nämä tiedot voidaan tarkastella vain reaaliajassa.

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

ESXTOP

ESXTOPissa on useita näyttöjä, jotka tarjoavat tietoa isäntälevyalijärjestelmästä kokonaisuutena, yksittäisistä virtuaalikoneista ja niiden levyistä.

Aloitetaan virtuaalikoneita koskevilla tiedoilla. "Disk VM" -näyttö avataan "v"-näppäimellä:

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

NVDISK on VM-levyjen määrä. Voit tarkastella kunkin levyn tietoja painamalla "e" ja syöttämällä kiinnostavan VM:n GID:n.

Muiden tämän näytön parametrien merkitys on selvä niiden nimistä.

Toinen hyödyllinen näyttö vianmäärityksen aikana on Levysovitin. Kutsutaan "d"-näppäimellä (kentät A,B,C,D,E,G on valittu alla olevassa kuvassa):

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

NPTH – tästä sovittimesta näkyvien polkujen määrä kuuille. Saadaksesi tiedot sovittimen jokaisesta polusta, paina "e" ja anna sovittimen nimi:

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

AQLEN – sovittimen suurin jonokoko.

Tällä näytöllä ovat myös viivelaskurit, joista puhuin edellä: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

Levylaitenäyttö, joka avautuu painamalla “u”-näppäintä, tarjoaa tietoja yksittäisistä lohkolaitteista - kuiista (kentät A, B, F, G, I on valittu alla olevassa kuvassa). Täältä näet jonon tilan kuuille.

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

DQLEN – lohkolaitteen jonokoko.
ACTV – I/O-komentojen määrä ESXi-ytimessä.
QUED – I/O-komentojen määrä jonossa.
%USD – ACTV / DQLEN × 100%.
LADATA – (ACTV + QUED) / DQLEN.

Jos %USD on korkea, harkitse jonon kasvattamista. Mitä enemmän komentoja jonossa on, sitä korkeampi QAVG ja vastaavasti KAVG.

Voit myös nähdä Levylaite-näytöltä, onko VAAI (vStorage API for Array Integration) käynnissä tallennusjärjestelmässä. Voit tehdä tämän valitsemalla kentät A ja O.

VAAI-mekanismi mahdollistaa osan työn siirtämisen hypervisorista suoraan tallennusjärjestelmään, esimerkiksi nollauksen, lohkojen kopioimisen tai eston.

VM-suorituskyvyn analyysi VMware vSpheressä. Osa 3: Varastointi

Kuten yllä olevasta kuvasta näkyy, VAAI toimii tällä tallennusjärjestelmällä: Zero- ja ATS-primitiivit ovat aktiivisesti käytössä.

Vinkkejä ESXin levyalijärjestelmän kanssa työskentelyn optimointiin

  • Kiinnitä huomiota lohkon kokoon.
  • Aseta HBA:n optimaalinen jonokoko.
  • Älä unohda ottaa SIOC käyttöön tietovarastoissa.
  • Valitse PSP tallennusjärjestelmän valmistajan suositusten mukaisesti.
  • Varmista, että VAAI toimii.

Hyödyllisiä artikkeleita aiheesta: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

Lähde: will.com

Lisää kommentti