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
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.
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.
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
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
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
Virtuaalikoneen levyalijärjestelmän perussuorituskykylaskurit
Levyalijärjestelmän suorituskykylaskurit vCenterissä kerätään Datastore-, Disk- ja Virtual Disk -osiin:
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.
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.
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ä:
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):
NPTH – tästä sovittimesta näkyvien polkujen määrä kuuille. Saadaksesi tiedot sovittimen jokaisesta polusta, paina "e" ja anna sovittimen nimi:
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.
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.
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:
Lähde: will.com