Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

Bahagi 1. Tungkol sa CPU
Bahagi 2. Tungkol sa Memorya

Ngayon ay susuriin natin ang mga sukatan ng disk subsystem sa vSphere. Ang problema sa storage ay ang pinakakaraniwang dahilan para sa mabagal na virtual machine. Kung, sa kaso ng CPU at RAM, ang pag-troubleshoot ay nagtatapos sa antas ng hypervisor, kung gayon kung may mga problema sa disk, maaaring kailanganin mong harapin ang data network at storage system.

Tatalakayin ko ang paksa gamit ang halimbawa ng block access sa mga storage system, bagama't para sa file access ang mga counter ay halos pareho.

Isang kaunting teorya

Kapag pinag-uusapan ang pagganap ng disk subsystem ng mga virtual machine, karaniwang binibigyang pansin ng mga tao ang tatlong magkakaugnay na mga parameter:

  • bilang ng input/output operations (Input/Output Operations Per Second, IOPS);
  • throughput;
  • pagkaantala ng mga pagpapatakbo ng input/output (Latency).

Bilang ng IOPS karaniwang mahalaga para sa mga random na workload: pag-access sa mga bloke ng disk na matatagpuan sa iba't ibang lugar. Ang isang halimbawa ng naturang pagkarga ay maaaring mga database, mga application ng negosyo (ERP, CRM), atbp.

Throughput mahalaga para sa mga sunud-sunod na pagkarga: pag-access sa mga bloke na matatagpuan sa isa't isa. Halimbawa, ang mga file server (ngunit hindi palaging) at mga video surveillance system ay maaaring makabuo ng ganoong load.

Ang throughput ay nauugnay sa bilang ng mga operasyon ng I/O tulad ng sumusunod:

Throughput = IOPS * Laki ng block, kung saan ang laki ng bloke ay ang laki ng bloke.

Ang laki ng block ay isang medyo mahalagang katangian. Ang mga modernong bersyon ng ESXi ay nagbibigay-daan sa mga bloke na hanggang 32 KB ang laki. Kung mas malaki ang bloke, nahahati ito sa ilan. Hindi lahat ng mga sistema ng imbakan ay mahusay na gumagana sa mga malalaking bloke, kaya mayroong isang parameter ng DiskMaxIOSize sa ESXi Advanced na Mga Setting. Gamit ito, maaari mong bawasan ang maximum na laki ng block na nilaktawan ng hypervisor (higit pang mga detalye dito). Bago baguhin ang parameter na ito, inirerekumenda ko na kumunsulta ka sa tagagawa ng storage system o kahit man lang subukan ang mga pagbabago sa isang laboratory bench. 

Ang isang malaking sukat ng bloke ay maaaring magkaroon ng masamang epekto sa pagganap ng imbakan. Kahit na ang bilang ng IOPS at throughput ay medyo maliit, ang mataas na latency ay maaaring obserbahan na may malaking sukat ng block. Samakatuwid, bigyang-pansin ang parameter na ito.

Latency – ang pinaka-kagiliw-giliw na parameter ng pagganap. Ang I/O latency para sa isang virtual machine ay binubuo ng:

  • mga pagkaantala sa loob ng hypervisor (KAVG, Average Kernel MilliSec/Read);
  • pagkaantala na ibinigay ng data network at storage system (DAVG, Average Driver MilliSec/Command).

Ang kabuuang latency na nakikita sa guest OS (GAVG, Average Guest MilliSec/Command) ay ang kabuuan ng KAVG at DAVG.

Ang GAVG at DAVG ay sinusukat at ang KAVG ay kinakalkula: GAVG–DAVG.

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan
Pinagmulan

Tingnan natin nang mas malapitan KAVG. Sa panahon ng normal na operasyon, ang KAVG ay dapat maging zero o hindi bababa sa mas mababa kaysa sa DAVG. Ang tanging kaso na alam ko kung saan inaasahang mataas ang KAVG ay ang limitasyon ng IOPS sa VM disk. Sa kasong ito, kapag sinubukan mong lumampas sa limitasyon, tataas ang KAVG.

Ang pinakamahalagang bahagi ng KAVG ay ang QAVG - ang oras ng pagpoproseso ng pila sa loob ng hypervisor. Ang natitirang bahagi ng KAVG ay bale-wala.

Ang pila sa driver ng disk adapter at ang pila sa mga buwan ay may nakapirming laki. Para sa mga environment na may mataas na load, maaaring maging kapaki-pakinabang na dagdagan ang laki na ito. Dito inilalarawan kung paano dagdagan ang mga pila sa driver ng adaptor (kasabay nito ay tataas ang pila sa mga buwan). Gumagana ang setting na ito kapag isang VM lang ang gumagana sa buwan, na bihira. Kung maraming VM sa buwan, dapat mo ring dagdagan ang parameter Disk.SchedNumReqOutstanding (mga tagubilin  dito). Sa pamamagitan ng pagtaas ng pila, binabawasan mo ang QAVG at KAVG ayon sa pagkakabanggit.

Ngunit muli, basahin muna ang dokumentasyon mula sa vendor ng HBA at subukan ang mga pagbabago sa isang lab bench.

Ang laki ng pila patungo sa buwan ay maaaring maapektuhan ng pagsasama ng mekanismo ng SIOC (Storage I/O Control). Nagbibigay ito ng pare-parehong pag-access sa buwan mula sa lahat ng mga server sa cluster sa pamamagitan ng dynamic na pagpapalit ng pila sa buwan sa mga server. Iyon ay, kung ang isa sa mga host ay nagpapatakbo ng isang VM na nangangailangan ng isang hindi katumbas na halaga ng pagganap (maingay na kapitbahay na VM), binabawasan ng SIOC ang haba ng pila hanggang sa buwan sa host na ito (DQLEN). Higit pang mga detalye dito.

Inayos namin ang KAVG, ngayon ay tungkol sa DAVG. Ang lahat ay simple dito: Ang DAVG ay ang pagkaantala na ipinakilala ng panlabas na kapaligiran (data network at storage system). Ang bawat moderno at hindi masyadong modernong storage system ay may sariling performance counter. Upang suriin ang mga problema sa DAVG, makatuwirang tingnan ang mga ito. Kung maayos ang lahat sa gilid ng ESXi at storage, suriin ang network ng data.

Upang maiwasan ang mga problema sa pagganap, piliin ang tamang Path Selection Policy (PSP) para sa iyong storage system. Halos lahat ng modernong storage system ay sumusuporta sa PSP Round-Robin (mayroon o walang ALUA, Asymmetric Logical Unit Access). Nagbibigay-daan sa iyo ang patakarang ito na gamitin ang lahat ng available na path sa storage system. Sa kaso ng ALUA, tanging ang mga landas patungo sa controller na nagmamay-ari ng buwan ang ginagamit. Hindi lahat ng storage system sa ESXi ay may mga default na panuntunan na nagtatakda ng patakarang Round-Robin. Kung walang panuntunan para sa iyong storage system, gumamit ng plugin mula sa manufacturer ng storage system, na gagawa ng kaukulang panuntunan sa lahat ng host sa cluster, o ikaw mismo ang gagawa ng panuntunan. Mga Detalye dito

Gayundin, inirerekumenda ng ilang mga tagagawa ng storage system na baguhin ang bilang ng IOPS bawat path mula sa karaniwang halaga na 1000 hanggang 1. Sa aming pagsasanay, ginawa nitong posible na "pisilin" ang mas maraming performance mula sa storage system at makabuluhang bawasan ang oras na kinakailangan para sa failover sa kaganapan ng isang pagkabigo o pag-update ng controller. Suriin ang mga rekomendasyon ng vendor, at kung walang contraindications, subukang baguhin ang parameter na ito. Mga Detalye dito.

Pangunahing virtual machine disk subsystem performance counters

Ang mga counter ng pagganap ng disk subsystem sa vCenter ay kinokolekta sa mga seksyon ng Datastore, Disk, Virtual Disk:

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

Sa seksyon tindahan ng data may mga sukatan para sa mga imbakan ng vSphere disk (mga datastore) kung saan matatagpuan ang mga VM disk. Dito makikita mo ang mga karaniwang counter para sa:

  • IOPS (Average read/write requests per second), 
  • throughput (Read/Write rate), 
  • mga pagkaantala (Magbasa/Magsulat/Pinakamataas na latency).

Sa prinsipyo, ang lahat ay malinaw mula sa mga pangalan ng mga counter. Hayaan mong ituon ko muli ang iyong pansin sa katotohanan na ang mga istatistika dito ay hindi para sa isang partikular na VM (o VM disk), ngunit pangkalahatang istatistika para sa buong datastore. Sa palagay ko, mas maginhawang tingnan ang mga istatistikang ito sa ESXTOP, hindi bababa sa batay sa katotohanan na ang pinakamababang panahon ng pagsukat doon ay 2 segundo.

Sa seksyon Disko may mga sukatan sa mga block device na ginagamit ng VM. Mayroong mga counter para sa IOPS ng uri ng pagbubuod (ang bilang ng mga pagpapatakbo ng input/output sa panahon ng pagsukat) at ilang mga counter na nauugnay sa pag-block ng access (Na-abort ang mga utos, Mga pag-reset ng Bus). Sa aking opinyon, mas maginhawang tingnan ang impormasyong ito sa ESXTOP.

Seksyon Virtual Disk – ang pinaka-kapaki-pakinabang mula sa punto ng view ng paghahanap ng mga problema sa pagganap ng VM disk subsystem. Dito makikita mo ang pagganap para sa bawat virtual disk. Ito ang impormasyong ito na kinakailangan upang maunawaan kung ang isang partikular na virtual machine ay may problema. Bilang karagdagan sa mga karaniwang counter para sa bilang ng mga pagpapatakbo ng I/O, dami ng pagbabasa/pagsusulat at mga pagkaantala, naglalaman ang seksyong ito ng mga kapaki-pakinabang na counter na nagpapakita ng laki ng block: Laki ng kahilingan sa Read/Write.

Sa larawan sa ibaba ay isang graph ng performance ng VM disk, kung saan makikita mo ang bilang ng IOPS, latency at laki ng block. 

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

Maaari mo ring tingnan ang mga sukatan ng pagganap para sa buong datastore kung naka-enable ang SIOC. Narito ang pangunahing impormasyon sa average na Latency at IOPS. Bilang default, ang impormasyong ito ay maaari lamang matingnan sa real time.

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

ESXTOP

Ang ESXTOP ay may ilang mga screen na nagbibigay ng impormasyon sa host disk subsystem sa kabuuan, mga indibidwal na virtual machine at kanilang mga disk.

Magsimula tayo sa impormasyon sa mga virtual machine. Ang screen ng "Disk VM" ay tinatawag na may "v" key:

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

NVDISK ay ang bilang ng mga VM disk. Upang tingnan ang impormasyon para sa bawat disk, pindutin ang "e" at ilagay ang GID ng VM ng interes.

Ang kahulugan ng natitirang mga parameter sa screen na ito ay malinaw sa kanilang mga pangalan.

Ang isa pang kapaki-pakinabang na screen kapag nag-troubleshoot ay ang Disk adapter. Tinatawag ng "d" key (mga field A,B,C,D,E,G ay pinili sa larawan sa ibaba):

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

NPTH – ang bilang ng mga landas patungo sa mga buwan na nakikita mula sa adaptor na ito. Upang makakuha ng impormasyon para sa bawat landas sa adaptor, pindutin ang "e" at ilagay ang pangalan ng adaptor:

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

AQLEN – maximum na laki ng pila sa adaptor.

Gayundin sa screen na ito ay ang mga delay counter na napag-usapan ko sa itaas: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

Ang screen ng Disk device, na tinatawag sa pamamagitan ng pagpindot sa "u" key, ay nagbibigay ng impormasyon sa mga indibidwal na block device - mga buwan (mga field A, B, F, G, I ay pinili sa larawan sa ibaba). Dito makikita ang katayuan ng pila para sa mga buwan.

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

DQLEN – laki ng pila para sa isang block device.
ACTV – bilang ng mga I/O command sa ESXi kernel.
QUED – bilang ng mga I/O command sa pila.
%USD – ACTV / DQLEN Γ— 100%.
lOAD – (ACTV + QUED) / DQLEN.

Kung mataas ang %USD, dapat mong isaalang-alang ang pagtaas ng pila. Ang mas maraming command sa queue, mas mataas ang QAVG at, nang naaayon, ang KAVG.

Makikita mo rin sa screen ng Disk device kung gumagana ang VAAI (vStorage API para sa Array Integration) sa storage system. Upang gawin ito, piliin ang mga patlang A at O.

Ang mekanismo ng VAAI ay nagpapahintulot sa iyo na ilipat ang bahagi ng trabaho mula sa hypervisor nang direkta sa sistema ng imbakan, halimbawa, pag-zero, pagkopya ng mga bloke o pagharang.

Pagsusuri ng pagganap ng VM sa VMware vSphere. Bahagi 3: Imbakan

Gaya ng makikita mo sa larawan sa itaas, gumagana ang VAAI sa storage system na ito: Ang Zero at ATS primitives ay aktibong ginagamit.

Mga tip para sa pag-optimize ng trabaho sa disk subsystem sa ESXi

  • Bigyang-pansin ang laki ng bloke.
  • Itakda ang pinakamainam na laki ng pila sa HBA.
  • Huwag kalimutang paganahin ang SIOC sa mga datastore.
  • Pumili ng PSP alinsunod sa mga rekomendasyon ng tagagawa ng storage system.
  • Tiyaking gumagana ang VAAI.

Mga kapaki-pakinabang na artikulo sa paksa: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

Pinagmulan: www.habr.com

Magdagdag ng komento