Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

Частка 1. Пра CPU
Частка 2. Пра Memory

Сёння разбяром метрыкі дыскавай падсістэмы ў vSphere. Праблема са стороджем - самая частая прычына павольнай працы віртуальнай машыны. Калі ў выпадках з CPU і RAM траблшутинг сканчаецца на ўзроўні гіпервізара, то пры праблемах з дыскам, магчыма, давядзецца разбірацца з сеткай перадачы дадзеных і СХД.

Тэму буду разбіраць на прыкладзе блокавага доступу да СХД, хоць пры файлавым доступе лічыльнікі прыкладна тыя ж.

крыху тэорыі

Калі кажуць аб прадукцыйнасці дыскавай падсістэмы віртуальных машын, звычайна зважаюць на тры злучаных сябар з сябрам параметру:

  • колькасць аперацый уводу/высновы (Input/Output Operations Per Second, IOPS);
  • прапускную здольнасць (Throughput);
  • затрымку аперацый уводу / высновы (Latency).

Колькасць IOPS звычайна важна для нагрузак адвольнага характару (random): доступ да блокаў на дыску, размешчаным у розных месцах. Прыкладам такой нагрузкі могуць паслужыць базы дадзеных, бізнэс-прыкладанні (ERP, CRM) і г.д.

Прапускная здольнасць важная для нагрузак паслядоўнага характару: доступ да блокаў, размешчаным сябар за сябрам. Напрыклад, такую ​​нагрузку могуць генераваць файлавыя серверы (але не заўсёды) і сістэмы відэаназірання.

Прапускная здольнасць злучана з колькасцю аперацый уводу/высновы наступным чынам:

Throughput = IOPS * Block size, дзе Block size - гэта памер блока.

Памер блока з`яўляецца даволі важнай характарыстыкай. Сучасныя версіі ESXi прапускаюць блокі памерам да 32 КБ. Калі блок яшчэ больш, ён падзяляецца на некалькі. Не ўсе СХД могуць эфектыўна працаваць з такімі вялікімі блокамі, таму ў Advanced Settings ESXi ёсць параметр DiskMaxIOSize. З дапамогай яго можна паменшыць максімальны памер блока, прапускаемага гіпервізарам (падрабязней тут). Рэкамендую перад зменай дадзенага параметру пракансультавацца з вытворцам СХД ці хаця б пратэставаць змены на лабараторным стэндзе. 

Вялікі памер блока можа згубна адбівацца на прадукцыйнасці СГД. Нават калі колькасць IOPS і throughput адносна невялікія, пры вялікім памеры блока могуць назірацца высокія затрымкі. Таму зважайце на гэты параметр.

латэнтнасьць - Самы цікавы параметр прадукцыйнасці. Затрымка аперацый уводу/высновы для віртуальнай машыны складаецца з:

  • затрымкі ўнутры гіпервізара (KAVG, Average Kernel MilliSec / Read);
  • затрымкі, якую даюць сетку перадачы дадзеных і СХД (DAVG, Average Driver MilliSec/Command).

Агульная затрымка, якая бачная ў гасцявой АС (GAVG, Average Guest MilliSec / Command), - гэта сума KAVG і DAVG.

GAVG і DAVG вымяраюцца, а KAVG разлічваецца: GAVG-DAVG.

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage
Крыніца

Спынімся падрабязней на KAVG. Пры нармальнай працы KAVG павінен імкнуцца да нуля ці, прынамсі, быць моцна менш, чым DAVG. Адзіны вядомы мне выпадак, калі KAVG чакана высокі, - абмежаванне па IOPS на дыску ВМ. У такім разе пры спробе перавышэння ліміту будзе расці KAVG.

Самай значнай складніку KAVG з'яўляецца QAVG - час у чарзе на апрацоўку ўнутры гіпервізара. Астатнія складнікі KAVG занядбана малыя.

Чарга ў драйверы дыскавага адаптара і чэргі да лунам мае фіксаваны памер. Для высоканагружаных асяроддзяў гэты памер бывае карысна павялічыць. Тут апісана, як павялічыць чэргі ў драйверы адаптара (адначасова павялічыцца чарга да месяцаў). Дадзеная настройка працуе, калі з месяцам працуе толькі адна ВМ, што бывае рэдка. Калі на месяцы некалькі ВМ, неабходна таксама павялічыць параметр Disk.SchedNumReqOutstanding (інструкцыя  тут). Павялічыўшы чаргу, вы памяншаеце QAVG і KAVG адпаведна.

Але, зноў жа, спачатку азнаёмцеся з дакументацыяй ад вендара HBA і пратэстуйце змены на лабараторным стэндзе.

На памер чаргі да месяца можа ўплываць уключэнне механізму SIOC (Storage I/O Control). Ён забяспечвае раўнамерны доступ да месяца са боку ўсіх сервераў кластара за рахунак дынамічнай змены чаргі да месяца на серверах. Гэта значыць, калі на якім-небудзь з хастоў працуе ВМ, якая патрабуе непрапарцыйна шмат прадукцыйнасці (noisy neighbor VM), SIOC памяншае даўжыню чаргі да месяца на дадзеным хасце (DQLEN). Больш падрабязна тут.

З KAVG разабраліся, зараз крыху пра DAVG. Тут усё проста: DAVG - гэта затрымка, якую ўносіць навакольнае асяроддзе (сетка перадачы дадзеных і СХД). У любой сучаснай і не вельмі СГД ёсць свае лічыльнікі прадукцыйнасці. Для аналізу праблем з DAVG мае сэнс глядзець на іх. Калі ж з боку ESXi і СХД усё нармальна, правярайце сетку перадачы дадзеных.

Каб не было праблем з прадукцыйнасцю, выбірайце правільную Path Selection Policy (PSP) для вашай СГД. Практычна ўсе сучасныя СХД падтрымліваюць PSP Round-Robin (з ALUA, Asymmetric Logical Unit Access, ці без). Дадзеная палітыка дазваляе выкарыстоўваць усе даступныя шляхі да СГД. У выпадку з ALUA выкарыстоўваюцца толькі шляхі да кантролера, які валодае месяцам. Не для ўсіх СГД на ESXi ёсць дэфолтныя правілы, якія ўсталёўваюць палітыку Round-Robin. Калі для вашага СХД правілы няма, выкарыстоўвайце плягін ад вытворцы СХД, які створыць адпаведнае правіла на ўсіх хастах кластара, або стварыце правіла самастойна. Падрабязнасці тут

Таксама частка вытворцаў СХД рэкамендуюць змяняць колькасць IOPS на шлях са стандартнага значэння 1000 на 1. У нашай практыцы гэта дазваляла "выціснуць" з СХД больш прадукцыйнасці і значна скараціць час, які патрабуецца на failover у выпадку выхаду са строю або абнаўлення кантролераў. Зверцеся з рэкамендацыямі вендара, і калі супрацьпаказанняў няма, то паспрабуйце змяніць дадзены параметр. Падрабязнасці тут.

Асноўныя лічыльнікі прадукцыйнасці дыскавай падсістэмы віртуальнай машыны

Лічыльнікі прадукцыйнасці дыскавай падсістэмы ў vCenter сабраны ў раздзелах Datastore, Disk, Virtual Disk:

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

У раздзеле Крама дадзеных знаходзяцца метрыкі па дыскавых сховішчах vSphere (датастарам), на якіх ляжаць дыскі ВМ. Тут вы знойдзеце стандартныя лічыльнікі па:

  • IOPS'ам (Average read/write requests per second), 
  • прапускной здольнасці (Read/Write rate), 
  • затрымкам (Read/Write/Highest latency).

З назваў лічыльнікаў у прынцыпе ўсё зразумела. Яшчэ раз звярну ўвагу, што тут статыстыка не па канкрэтнай ВМ (ці дыску ВМ), а агульная па ўсім датастары. На мой погляд, дадзеную статыстыку зручней глядзець у ESXTOP, хаця б зыходзячы з таго, што мінімальны перыяд вымярэння там 2 секунды.

У раздзеле Дыск знаходзяцца метрыкі па блокавых прыладах, якія выкарыстоўваюцца ВМ. Тут ёсць лічыльнікі па IOPS тыпу summation (колькасць аперацый уводу/высновы за перыяд вымярэння) і некалькі лічыльнікаў, якія адносяцца да блокавага доступу (Commands aborted, Bus resets). Дадзеную інфармацыю, на мой погляд, таксама зручней глядзець у ESXTOP.

Раздзел Віртуальны дыск - Самы карысны з пункту гледжання пошуку праблем прадукцыйнасці дыскавай падсістэмы ВМ. Тут можна паглядзець прадукцыйнасць па кожным віртуальным дыску. Менавіта гэтая інфармацыя патрэбная, каб зразумець, ці ёсць праблема ў канкрэтнай віртуальнай машыны. Апроч стандартных лічыльнікаў колькасці аперацый уводу/высновы, аб'ёму чытання/запісы і затрымак, у дадзеным падзеле прысутнічаюць карысныя лічыльнікі, якія паказваюць памер блока: Read/Write request size.

На малюнку ніжэй графік прадукцыйнасці дыска ВМ, на якім можна ўбачыць колькасць IOPS, затрымкі і памер блока. 

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

Таксама метрыкі прадукцыйнасці можна паглядзець па ўсім датастары, калі ўключаны SIOC. Тут прадстаўлена базавая інфармацыя па сярэдняй Latency і IOPS'ам. Па змаўчанні дадзеную інфармацыю можна паглядзець толькі ў рэальным часе.

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

ESXTOP

У ESXTOP некалькі экранаў, на якіх прадстаўлена інфармацыя па дыскавай падсістэме хаста ў цэлым, асобным віртуальным машынам і іх дыскам.

Пачнём з інфармацыі па віртуальных машынах. Экран "Disk VM" выклікаецца клавішай "v":

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

NVDISK - Гэта колькасць дыскаў ВМ. Каб паглядзець інфармацыю па кожным дыску, націсніце "e" і ўвядзіце GID цікавай для ВМ.

Значэнне астатніх параметраў на дадзеным экране зразумела з іх назваў.

Яшчэ адзін карысны пры пошуку праблем экран - Disk adapter. Выклікаецца клавішай “d” (на малюнку ніжэй выбраны палі A,B,C,D,E,G):

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

NPTH - колькасць шляхоў да месяцаў, якія бачныя з дадзенага адаптара. Каб атрымаць інфармацыю па кожным шляху на адаптары, націсніце "e" і ўвядзіце назву адаптара:

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

AQLEN - максімальны памер чаргі на адаптары.

Таксама на гэтым экране прадстаўлены лічыльнікі затрымак, пра якія я расказваў вышэй: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

На экране Disk device, які выклікаецца клавішай "u", прадстаўлена інфармацыя па асобных блокавых прыладах - месяцам (на малюнку ніжэй абраныя палі A, B, F, G, I). Тут можна ўбачыць стан чаргі да месяцаў.

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

DQLEN – памер чаргі для блокавай прылады.
ACTV – колькасць каманд уводу/высновы ў ядры ESXi.
QUED – колькасць каманд уводу/высновы ў чарзе.
%USD - ACTV / DQLEN × 100%.
Нагрузка - (ACTV + QUED) / DQLEN.

Калі %USD высокі, варта разгледзець магчымасць павелічэння чаргі. Чым больш каманд у чарзе, тым вышэй QAVG і, адпаведна, KAVG.

Таксама на экране Disk device можна паглядзець, ці працуе на СХД VAAI (vStorage API for Array Integration). Для гэтага трэба абраць палі A і O.

Механізм VAAI дазваляе перанесці частку працы з гіпервізара непасрэдна на СХД, напрыклад, зануленне, капіраванне блокаў ці блакаванні.

Аналіз прадукцыйнасці ВМ у VMware vSphere. Частка 3: Storage

Як відаць на малюнку вышэй, на дадзенай СХД VAAI працуе: актыўна выкарыстоўваюцца прымітывы Zero і ATS.

Парады па аптымізацыі працы з дыскавай падсістэмай на ESXi

  • Зважайце на памер блока.
  • Усталёўвайце аптымальны памер чаргі на HBA.
  • Не забывайце ўключаць SIOC на датастарах.
  • Выбірайце PSP у адпаведнасці з рэкамендацыямі вытворцы СХД.
  • Пераканайцеся, што VAAI працуе.

Карысныя артыкулы па тэме: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

Крыніца: habr.com

Дадаць каментар