
Täna arutame vSphere'i kettasüsteemi mõõdikuid. Probleemideks salvestusseadmest on kõige sagedasem põhjus virtuaalmasina aeglane töötamine. Kui CPU ja RAM-i probleemide tõrgete lahendamine lõppeb hüperviisori tasemel, siis ketta probleemide korral võib-olla tuleb uurida andmeside võrku ja SAN-i.
Teemat hakkan käsitlema plokkjuurdepääsu SAN-ile, kuigi juhul, kui on tegemist failijuurdepääsuga, on mõõdikud enam-vähem samad.
Natuke teooriat
Kui räägitakse virtuaalmasinate kettasüsteemi jõudlusest, pööratakse tavaliselt tähelepanu kolmele omavahel seotud parameetrile:
- sisse-/väljemisse operatsioonide arv (Input/Output Operations Per Second, IOPS);
- läbivool (Throughput);
- sisse-/väljeoperatsioonide latentsus (Latency).
IOPS-i arv on tavaliselt oluline juhuslikult jaotatud koormuste jaoks: juurdepääs kettablokkidele, mis asuvad erinevates kohtades. Näiteks võivad sellised koormused olla andmebaasid, ärirakendused (ERP, CRM) jne.
Läbivool järgnevad koormused on olulised: juurdepääs järjestikku paigutatud blokile. Näiteks võivad sellist koormust genereerida failiserverid (kuigi mitte alati) ja videovalvesüsteemid.
Läbilaskevõime on seotud sisend-/väljundoperatsioonide arvuga järgmiselt:
Läbilaskevõime = IOPS * Bloki suurus, kus Bloki suurus – see on bloki suurus.
Bloki suurus on üsna oluline omadus. Kaasaegsed ESXi versioonid lubavad blokke suurusega kuni 32 767 KB. Kui blokk on veelgi suurem, jagatakse see mitmeks. Mitte kõik andmesalvestussüsteemid ei saa tõhusalt töötada nii suurte blokkidega, seetõttu on ESXi Täiendavates Seadetes parameeter DiskMaxIOSize. Selle abil saab vähendada maksimaalset bloki suurust, mida hüperviisor lubab (rohkem ). Soovitan enne selle parameetri muutmist konsulteerida andmesalvestussüsteemi tootjaga või vähemalt testida muudatusi laboris.
Boksi suurus võib negatiivselt mõjutada salvestusseadmestiku jõudlust. Isegi kui IOPS ja läbilaskevõime on suhteliselt madalad, võivad suure boksi puhul tekkida suured latentsused. Seega jälgige seda parameetrit.
Ooteaeg – kõige huvitavam jõudluse parameeter. Virtuaalmasina sisend-väljundoperatsioonide latentsus jaguneb järgnevateks elementideks:
- latentsus hüperviisorisse (KAVG, Average Kernel MilliSec/Read);
- latentsus, mida annavad andmesidevõrk ja salvestusseade (DAVG, Average Driver MilliSec/Command).
Külastatavas operatsioonisüsteemis nähtav kogulatentsus (GAVG, Average Guest MilliSec/Command) on KAVG ja DAVG summa.
GAVG ja DAVG mõõdetakse, KAVG aga arvutatakse: GAVG–DAVG.

Räägime lähemalt KAVG. Normaalsetes tingimustes peab KAVG püüdlema nulli poole või vähemalt olema palju väiksem kui DAVG. Ainus juhtum, kus KAVG on ootuspäraselt kõrge, on virtuaalmasina kettal IOPS-i piirang. Sellisel juhul KAVG suureneb, kui püütakse ületada limiiti.
KAVG kõige olulisem komponent on QAVG – ooteaeg hüperviisoris töötlemiseks. Ülejäänud KAVG komponendid on ebaolulised.
Kett draiveri kett ja lunade järjekorra suurus on fikseeritud. Suure koormusega keskkondades võib osutuda kasulikuks seda suurendada. Kirjeldatakse, kuidas suurendada adapteri draiveri järjekordi (samuti suureneb järjekord lunade puhul). See seadistus töötab, kui lunaga töötab ainult üks VM, mida juhtub harva. Kui lunaga töötab mitu VM-i, tuleb ka parameetrit suurendada Disk.SchedNumReqOutstanding (juhend ). Järjekorra suurendamine vähendab vastavalt QAVG ja KAVG.
Kuid, tutvuge esmalt HBA tootja dokumentatsiooniga ja testige muudatusi laboritingimustes.
Luna järjekorra suurusele võib mõjutada SIOC (Storage I/O Control) mehhanismi aktiveerimine. See tagab, et kõikide klastriserverite juurdepääs lunale on ühtlane, muutes dünaamiliselt lunade järjekorda serverites. See tähendab, et kui mõnel hostil töötab VM, mis nõuab proportsionaalselt palju ressursse (mürarikka naabri VM), vähendab SIOC selle hosti lunade järjekorra pikkust (DQLEN). Lisainfot .
KAVG on selge, nüüd räägime natuke DAVG. Siin on kõik lihtne: DAVG on viivitus, mille toob sisse väline keskkond (andmeedastusvõrk ja SAN). Igas kaasaegses ja mitte nii kaasaegses SAN-is on oma jõudlusmõõturid. DAVG probleemide analüüsimisel on mõistlik neid vaadata. Kui ESXi ja SAN-i pool on kõik korras, uurige andmeedastusvõrku.
Kuna teie jõudlusprobleemide vältimiseks valige oma SAN-i jaoks õige teede valiku poliitika (PSP). Praktiselt kõik kaasaegsed SAN-id toetavad PSP Round-Robin (kas ALUA, asümmeetriline loogiline üksus või ilma). See poliitika võimaldab kasutada kõiki SAN-i kätte saadavaid teid. ALUA puhul kasutatakse ainult tee kontrollijani, kes omab LUN-i. Kõigile SAN-idele, mis töötavad ESXi-s, ei ole vaikereegleid, mis seataks Round-Robin poliitika. Kui teie SAN-i jaoks ei ole reeglit, kasutage tootja lisandmoodulit, mis loob vastava reegli kõigil klastrihostidel, või looge reegel ise. Üksikasjad .
Samuti soovitavad mõned andmesalvestusseadmete tootjad muuta IOPS-i väärtust tavalisest 1000 1-ks. Meie praktikas on see võimaldanud andmesalvestusseadmest rohkem jõudlust „välja pigistada” ja oluliselt vähendada aega, mis on vajalik failoveri jaoks juhul, kui kontrollereid tuleb välja vahetada või värskendada. Kontrollige tootja soovitusi ja kui vastunäidustusi ei ole, proovige seda parameetrit muuta. Üksikasjad .
Virtuaalkonfiguratsiooni kettaaluste jõudluse peamised mõõdikud
vCenteris on kettaaluste jõudluse mõõdikud koondatud sektsioonidesse Datastore, Disk, Virtual Disk:

Jaotises Datastore sisaldab vSphere'i (andmesalvestuse) kettaaluste mõõdikuid, millel asuvad VM-i ketad. Siit leiate standardmõõdikud:
- IOPS (Keskmised lugemis-/kirjutamisvõimekused sekundis),
- läbilaskevõime (Lugemis-/kirjutamiskiirus),
- viivitused (Lugemis-/kirjutamis-/kõrgeim viivitus).
Mõõdikute nimed on põhimõtteliselt arusaadavad. Tõstan veelkord esile, et siin on statistika mitte konkreetse VM-i (või VM-i ketta) kohta, vaid kogu datastori kohta. Minu arvates on neid statistikameetreid mugavam vaadata ESXTOP-is, arvestades, et seal on minimaalne mõõteperiood 2 sekundit.
Jaotises Disk siis on olemas mõõdikud plokkseadmete kohta, mida VM-id kasutavad. Siin on IOPS tüüpide summaarne (sisse-/väljundoperatsioonide arv mõõtmisperioodi jooksul) ja mitu mõõdikut, mis on seotud plokki ligipääsuga (Commands aborted, Bus resets). Selle teabe jälgimine on minu arvates mugavam vaadata ka ESXTOP-is.
Jaotis Virtuaalne ketas on kõige kasulikum, kui vaadata probleemide leidmisel, mis on seotud diskisüsteemi jõudlusega. Siit saab vaadata iga virtuaalse ketta tulemuslikkust. Just see teave on vajalik, et mõista, kas konkreetse virtuaalmasina puhul on probleem. Lisaks standardmõõdikutele nagu sisse-/väljundoperatsioonide arv, lugemise/kirjutamise maht ja viivitused, on selles jaotises kasulikud mõõdikud, mis näitavad ploki suurust: Read/Write request size.
Alloleval pildil on virtuaalse ketta jõudluse graafik, kus on näha IOPS, viivitused ja ploki suurus.

Samuti võid jälgida jõudlust kõigi andmesalvestite kohta, kui SIOC on sisse lülitatud. Siin on esitatud põhiteave keskmise Latency ja IOPS'ide kohta. Vaikimisi on seda teavet võimalik vaadata ainult reaalajas.

ESXTOP
ESXTOP-is on mitu ekraani, kus esitatakse teave hosti diskialli süsteemi, eraldi virtuaalsete masinate ja nende diskide kohta.
Alustame teabest virtuaalsete masinate kohta. Ekraan "Disk VM" käivitatakse klahviga "v":

NVDISK – see on VM-ide ketaste arv. Iga ketta teabe nägemiseks vajuta "e" ja sisesta huvipakkuva VM-i GID.
Ülejäänud parameetrite väärtused sellel ekraanil on selged nende nimetustest.
Veel üks kasulik ekraan probleemide otsimiseks on Disk adapter. Selle kutsub esile klahv "d" (alloleval pildil on valitud väljad A, B, C, D, E, G):

NPTH – teede arv lunadele, mis on nähtavad antud adaptriga. Iga tee teabe saamiseks adaptril vajuta "e" ja sisesta adaptri nimi:

AQLEN – maksimaalne järjekorra suurus adaptris.
Samuti on sellel ekraanil esitatud viivituse loendurid, millest ma varem rääkisin: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.
Disk device ekraanil, millele pääseb ligi klahviga "u", on esitatud teave üksikute plokkseadmete - lunade kohta (alloleval pildil on valitud väljad A, B, F, G, I). Siit on näha, milline on järjekorra seisund lunade jaoks.

DQLEN – plokkseadmestiku järjekorra suurus.
ACTV – käskude/andmete arv ESXi tuumas.
QUED – käskude/andmete arv järjekorras.
%USD – ACTV / DQLEN × 100%.
LOAD – (ACTV + QUED) / DQLEN.
Kui %USD on kõrge, tuleks kaaluda järjekorra suurendamist. Mida rohkem käsklusi järjekorras, seda kõrgem on QAVG ja seega KAVG.
Disk device ekraanil saab samuti vaadata, kas VAAI (vStorage API for Array Integration) on HKA-l aktiivne. Selleks tuleb valida väljad A ja O.
VAAI mehhanism võimaldab osaliselt üle kanda tööd hüperviisorilt otse HKA-le, näiteks nullimist, plokkide kopeerimist või lukustusi.
![]()
Nagu eeltoodud pildilt näha, töötab VAAI antud HKA-l: aktiivselt kasutatakse Zero ja ATS primitiive.
Nõuanded, kuidas optimeerida diskisüsteemi tööd ESXi-s
- Pöörake tähelepanu ploki suurusele.
- Seadke HBA-le optimaalne järjekorra suurus.
- Ärge unustage SIOC-i sisse lülitada andmestoorides.
- Valige PSP vastavalt salvestusseadmestiku tootja soovitustele.
- Veenduge, et VAAI töötab.
Kasuartiklid teemal:
Allikas: habr.com
