Analiza performanței VM în VMware vSphere. Partea 3: Stocare

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

Partea 1. Despre CPU
Partea 2. Despre Memorie

Astăzi vom analiza metricile subsistemului de stocare în vSphere. Problema cu stocarea este cea mai frecventă cauză a funcționării lente a mașinii virtuale. Dacă în cazul CPU și RAM, depanarea se finalizează la nivelul hypervisorului, în cazul problemelor cu discul, este posibil să fie nevoie să analizăm rețeaua de transfer de date și sistemul de stocare conectat.

Tematica va fi discutată pe baza accesului bloc la sistemul de stocare conectat, deși în cazul accesului pe fișiere, contoarele sunt aproximativ aceleași.

Puțină teorie

Atunci când se vorbește despre performanța subsistemului de stocare al mașinilor virtuale, de obicei se acordă atenție la trei parametri interconectați:

  • numărul de operațiuni de intrare/ieșire (Input/Output Operations Per Second, IOPS);
  • lățimea de bandă (Throughput);
  • întârzierea operațiunilor de intrare/ieșire (Latency).

Numărul de IOPS este de obicei important pentru sarcini de caracter aleatoriu (random): accesul la blocuri pe disc, aflate în locuri diferite. Un exemplu de astfel de sarcină ar putea fi bazele de date, aplicațiile de afaceri (ERP, CRM) etc.

Lățimea de bandă este importantă pentru sarcini de caracter secvențial: accesul la blocuri, aflate unele după altele. De exemplu, o astfel de sarcină ar putea fi generată de servere de fișiere (dar nu întotdeauna) și sistemele de supraveghere video.

Lățimea de bandă este legată de numărul de operațiuni de intrare/ieșire în felul următor:

Throughput = IOPS * Dimensiunea blocului, unde Dimensiunea blocului este dimensiunea blocului.

Dimensiunea blocului este o caracteristică destul de importantă. Versiunile moderne de ESXi permit blocuri de dimensiuni de până la 32.767 KB. Dacă blocul este și mai mare, acesta este împărțit în mai multe. Nu toate sistemele de stocare conectate pot funcționa eficient cu astfel de blocuri mari, de aceea în Setările Avansate ale ESXi există un parametru DiskMaxIOSize. Acesta poate reduce dimensiunea maximă a blocului permis de hypervisor (mai multe detalii aici). Recomand să consultați producătorul sistemului de stocare conectat înainte de a modifica acest parametru sau, măcar, să testați modificările pe un stand de laborator. 

O dimensiune mare a blocului poate afecta negativ performanța sistemului de stocare conectat. Chiar și în cazul în care numărul de IOPS și throughput este relativ mic, la o dimensiune mare a blocului pot apărea întârzieri ridicate. Așadar, acordați atenție acestui parametru.

Întârzierea este cel mai interesant parametru de performanță. Întârzierea operațiunilor de intrare/ieșire pentru o mașină virtuală este compusă din:

  • întârzierile din interiorul hipervizorului (KAVG, Milisecunde medii ale kernelului / Citire);
  • întârzierile cauzate de rețeaua de transfer de date și de sistemul de stocare (DAVG, Milisecunde medii ale driverului / Comandă).

Întârziera totală, care este vizibilă în sistemul de operare guest (GAVG, Milisecunde medii ale guest-ului / Comandă), este suma KAVG și DAVG.

GAVG și DAVG sunt măsurate, iar KAVG este calculat: GAVG–DAVG.

Analiza performanței VM în VMware vSphere. Partea 3: Stocare
Sursa

Să ne oprim puțin asupra KAVG. În mod normal, KAVG ar trebui să tindă spre zero sau, cel puțin, să fie semnificativ mai mic decât DAVG. Singurul caz cunoscut mie când KAVG este așteptat a fi ridicat este restricția de IOPS pe discurile VM-ului. În acest caz, atunci când se încearcă depășirea limitei, KAVG va crește.

Cea mai semnificativă componentă a KAVG este QAVG – timpul de așteptare pentru procesare în interiorul hipervizorului. Celelalte componente ale KAVG sunt neglijabile.

Coada din driverul adaptorului de disc și cozi către lună au o dimensiune fixă. Pentru medii cu sarcini mari, această dimensiune poate fi util să fie mărită. Aici Este descris cum să crească cozile în driverul adaptorului (împreună cu creșterea cozii către lună). Această setare funcționează atunci când o singură VM lucrează cu lună, ceea ce este rar. Dacă la lună sunt mai multe VM-uri, trebuie să creșteți și parametrul Disk.SchedNumReqOutstanding (instrucțiune  aici). Mărind coada, reduceți QAVG și KAVG în mod corespunzător.

Dar, din nou, mai întâi consultati documentația de la furnizorul HBA și testați modificările pe un mediu de laborator.

Dimensiunea coada către lună poate fi influențată de activarea mecanismului SIOC (Controlul I/O de Stocare). Acesta asigură un acces uniform la lună din partea tuturor serverelor din cluster prin modificarea dinamică a cozii către lună pe servere. Cu alte cuvinte, dacă pe vreunul din gazde funcționează o VM care necesită o putere disproporționată de procesare (VM zgomotoasă), SIOC reduce lungimea cozii către lună pe acea gazdă (DQLEN). Mai multe detalii aici.

Cu KAVG am înțeles, acum puțin despre DAVG. Aici totul este simplu: DAVG este întârziera impusă de mediu (rețeaua de transfer de date și sistemul de stocare). În orice sistem de stocare modern și nu foarte modern există propriile contoare de performanță. Pentru analiza problemelor cu DAVG, are sens să vă uitați la ele. Dacă din perspectiva ESXi și a sistemului de stocare totul este în regulă, verificați rețeaua de transfer de date.

Pentru a evita problemele de performanță, alegeți politica corectă de selecție a căilor (PSP) pentru stocarea dvs. Acest lucru este susținut de aproape toate stocările moderne, care acceptă PSP Round-Robin (cu ALUA, Acces Logic Asimetric la Unitate, sau fără). Această politică permite utilizarea tuturor căilor disponibile către stocare. În cazul ALUA, se utilizează doar căile către controlerul care deține LUN-ul. Nu toate stocările de pe ESXi au reguli implicite care stabilesc politica Round-Robin. Dacă nu există reguli pentru stocarea dvs., utilizați pluginul de la furnizorul stocării care va crea regula corespunzătoare pe toate gazdele clusterei sau creați regula singuri. Detalii aici. 

De asemenea, o parte dintre furnizorii de stocare recomandă schimbarea numărului de IOPS pe cale din valoarea standard de 1000 la 1. În practicile noastre, aceasta a permis „maximizarea” performanței stocării și a redus semnificativ timpul necesar pentru failover în cazul unei defecțiuni sau actualizări a controlerelor. Consultați recomandările furnizorului și, dacă nu sunt contraindicații, încercați să modificați acest parametru. Detalii aici.

Principalele contorii de performanță a subsistemului de stocare al mașinii virtuale

Contorii de performanță a subsistemului de stocare în vCenter sunt grupați în secțiunile Datastore, Disk, Virtual Disk:

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

În secțiune Datastore se găsesc metrici pentru stocările de discuri vSphere (datastoruri), pe care se află discurile VM. Aici veți găsi contoare standard pentru:

  • IOPS (Cereri de citire/scriere medii pe secundă), 
  • lățimea de bandă (Rata de citire/scriere), 
  • întârzieri (Întârzieri de citire/scriere/cea mai mare întârzire).

Din denumirile contorilor, practic totul este clar. Voi sublinia din nou că aici statistica nu este pentru o anumită VM (sau disc VM), ci una generală pentru întregul datastore. Din punctul meu de vedere, această statistică este mai convenabil de vizualizat în ESXTOP, mai ales având în vedere că perioada minimă de măsurare este de 2 secunde.

În secțiune Discul se găsesc metrici pentru unitățile bloc care sunt utilizate de VM. Aici există contoare de tip IOPS summation (numărul de operații de intrare/ieșire pe perioada de măsurare) și câteva contoare legate de accesul bloc (Comenzi anulate, Resetări de magistrală). Această informație, din punctul meu de vedere, este de asemenea mai convenabil de vizualizat în ESXTOP.

Secțiunea Discul Virtual – cel mai util în ceea ce privește identificarea problemelor de performanță ale subsistemului de stocare al VM-ului. Aici puteți vizualiza performanța fiecărui disc virtual. Această informație este esențială pentru a înțelege dacă există o problemă la o anumită mașină virtuală. Pe lângă contorizatorii standard pentru numărul de operațiuni de citire/scriere, volumul de date citite/scrise și întârzierile, în această secțiune există contorizatori utili care arată dimensiunea blocului: dimensiunea cererilor de citire/scriere.

În imaginea de mai jos se află graficul de performanță al discului VM, unde puteți observa numărul de IOPS, întârzierile și dimensiunea blocului. 

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

De asemenea, metrica de performanță poate fi vizualizată pe întregul datastor, dacă SIOC este activat. Aici sunt prezentate informații de bază despre Latency medie și IOPS. În mod implicit, aceste informații pot fi vizualizate doar în timp real.

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

ESXTOP

În ESXTOP există mai multe ecrane care oferă informații despre subsistemul de stocare al gazdei în ansamblu, pentru mașini virtuale specifice și discurile acestora.

Să începem cu informațiile despre mașinile virtuale. Ecranul "Disk VM" se deschide cu tasta "v":

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

NVDISK – aceasta este numărul de discuri ale VM-ului. Pentru a vizualiza informații despre fiecare disc, apăsați "e" și introduceți GID-ul VM-ului de interes.

Valoarea celorlalte parametrii pe acest ecran poate fi înțeleasă din denumirile lor.

Un alt ecran util în caz de căutare a problemelor – Disk adapter. Se deschide cu tasta "d" (în imaginea de mai jos sunt selectate câmpurile A, B, C, D, E, G):

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

NPTH – numărul de căi către LUN-uri care sunt vizibile din acest adaptor. Pentru a obține informații despre fiecare cale de pe adaptor, apăsați "e" și introduceți denumirea adaptorului:

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

AQLEN – dimensiunea maximă a cozii pe adaptor.

De asemenea, pe acest ecran sunt prezentați contorizatori pentru întârzierile despre care am vorbit mai sus: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

Pe ecranul Disk device, care se deschide cu tasta "u", sunt prezentate informații despre dispozitivele de blocare individuale – LUN-uri (în imaginea de mai jos sunt selectate câmpurile A, B, F, G, I). Aici puteți vedea starea cozii către LUN-uri.

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

DQLEN – dimensiunea cozii pentru dispozitivul de bloc.
ACTV – numărul de comenzi de citire/scriere în nucleul ESXi.
QUED – numărul de comenzi de citire/scriere în coadă.
%USD – ACTV / DQLEN × 100%.
LOAD – (ACTV + QUED) / DQLEN.

Dacă %USD este ridicat, ar trebui să luați în considerare posibilitatea de a crește coada. Cu cât mai multe comenzi sunt în coadă, cu atât QAVG este mai mare și, prin urmare, KAVG.

De asemenea, pe ecranul Dispozitiv de disk se poate observa dacă VAAI (vStorage API pentru Integrarea Array-ului) funcționează pe SÎD. Pentru aceasta, trebuie să selectați câmpurile A și O.

Mecanismul VAAI permite mutarea unei părți din lucru din hypervizor direct pe SÎD, de exemplu, anularea, copierea blocurilor sau blocările.

Analiza performanței VM în VMware vSphere. Partea 3: Stocare

După cum se vede în imaginea de mai sus, pe acest SÎD VAAI funcționează: se utilizează activ primitivele Zero și ATS.

Sfaturi pentru optimizarea lucrului cu subsystemul de disc pe ESXi

  • Acordați atenție dimensiunii blocului.
  • Stabiliți dimensiunea optimă a cozii pe HBA.
  • Nu uitați să activați SIOC pe datastoruri.
  • Alegeți PSP conform recomandărilor producătorului SÎD.
  • Asigurați-vă că VAAI funcționează.

Articole utile pe această temă: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

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster