VMware ESXi і NetApp FAS: тюнінг

В продовження теми про оптимізацію хоста для взаємодії з СГД NetApp FAS, ця стаття буде присвячена оптимізації продуктивності VMWare ESXi, попередні статті були присвячені тюнінгу ОС Linux і <a href=«habrahabr.ru/post/243153/>Windows в середовищі SAN. Компанія NetApp давно тісно співпрацює з VMware, підтвердженням цього може стати той факт, що технологія vVOL була реалізована однією з перших ще в релізі Clustered Data ONTAP 8.2.1 (Серпень 2014), в той час як vSphere 6.0 ще навіть не випущений. У зв'язку з чим системи зберігання NetApp FAS вкрай популярні в цьому оточенні.

Натройки VMWare ESXi можна розділити на наступні частини:

  • Оптимізація гіпервізора
  • Оптимізація гостьовий ОС (GOS)
  • Оптимальні налаштування SAN (FC/Fco iSCSI)
  • Налаштування NAS (NFS)
  • Перевірка сумісності обладнання, прошивок і


Є кілька основних документів, на які необхідно спиратися при налаштуванні VMware + NetApp:

TR-4068: VMware vSphere 5 on NetApp Clustered Data ONTAP
TR 3839: Використання NFS в VMware (7-Mode)
TR-3749: Керівництво по найкращим способам використання систем NetApp з VMware vSphere (7-Mode)
TR-3802: Ethernet для систем зберігання: найкращі методи (7-Mode)

Hypervisor


Віддавати гостьовий ОС всі ресурси сервера не варто, по-перше гіпервізору потрібно залишити мінімум 4ГБ ОЗП, по-друге іноді спостерігається зворотний ефект при додаванні ресурсів гостьовий ОС, це потрібно підбирати емпіричним шляхом.

SWAP

Рекомендується не використовувати файли підкачки віртуальної пам'яті на рівні гостьовий ОС, а замість цього використовувати файл підкачки гіпервізора. Має сенс виділити окремий датастор для зберігання файлів підкачки віртуальної пам'яті. Це дозволить більш раціонально використовувати місце в застосуванні зі снепшотами (і все що на них грунтується, наприклад реплікація) NetApp, не займаючи зайвий простір (і мережеві ресурси у разі реплікації) будучи захопленим в снепшот. Також з'явиться можливість призначати окремо рівень пріоритетів для SWAP-датастора.

Гостьові ОС


Тюнінг налаштувань потрібен для двох цілей:
  • Оптимізація швидкості рабоыты гостьових ОС
  • Нормальна робота HA парі, при відмові одного контролера (takeover) і відновлення його роботи (takeover)


Disk alignment

Для оптимізації продуктивності, можливо, буде потрібно усунути disk misalignment. Misalignment можна отримати у двох випадках:
  1. з-за неправильно обраної геометрії місяць при його створенні в СГД. Таку помилку можна створити тільки в SAN оточенні
  2. віртуальних дисків виртаульных машин. Може бути як в SAN так і в NAS оточенні

Давайте розберемо ці випадки.
Для початку розглянемо повністю выровнянные блоки по кордонах VMFS датастора і сховища.


Перший випадок-це коли є misalignment VMFS датастора щодо сховища. Для усунення першого типу проблеми необхідно створити лун з правильною геометрією і перемістити туди віртуальні машини.


Другу ситуацію, зі зміщеними розділами файлової системи всередині гостьовий ОС щодо файлової структури WAFL можна отримати в старих дистрибутивах Linux і ОС Windows 2003 і старіше. Як правило це пов'язано з оптимальним розміщенням таблиці розділів MBR або з машинами, які були конвертовані з фізичних у віртуальні. Перевірити це можна в гостьових ОС Windows за допомогою утиліти dmdiag.exe -v (значення поля Rel Sec має бути кратно 4KB на WAFL). Докладніше про діагностиці misalignment для Windows машин. Також розміщення файлової системи на диску може бути перевірено за допомогою утиліти mbralign для ESXi хоста, що входить до складу NetApp Host Utilities version 5.x і VSC. Докладніше як усувати такі ситуації описано в TR-3747 Best Practices for File System Alignment in Virtual Environments.


Ну і звичайно ж можна отримати misalignment відразу на двох рівнях: як на рівні VMFS датастора, так і на рівні файлової системи гостьовий ОС. Докладніше про пошуку misalignment з боку сховища NetApp FAS.


takeover/giveback

Для відпрацювання при takeover/giveback необхідно налаштувати павильные таймаут гостьових ОС:
ОС Historical Guest OS Tuning for SAN: ESXi 3.х/4.х і Data ONTAP 7.3/8.0 Updated Guest OS Tuning for SAN: ESXi 5 та вище, або Data ONTAP 8.1 і новіше
Windows disk timeout = 190 disk timeout = 60
Linux disk timeout = 190 disk timeout = 60
Solaris disk timeout = 190; busy retry = 300; not ready retry = 300; reset retry = 30; max. throttle = 32; min. throttle = 8 disk timeout = 60; busy retry = 300; not ready retry = 300; reset retry = 30; max. throttle = 32; min. throttle = 8; corrected VID/PID specification
Дефолтні значення ОС у разі використання NFS задовільні, і налаштування для гостьових ОС не потрібно змінювати.

Встановлюються ці значення вручну або за допомогою скриптів доступних у складі VSC.
Windows: Встановити значення затримки доступу до диска 60 сек за допомогою реестара (задається в секундах, шеснадцатиричной формі).
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk]
"TimeOutValue"=dword:0000003c

Linux: Встановити значення затримки доступу до диска 60 сек за допомогою створення udev правила (задається в секундах, шеснадцатиричной формі).
DRIVERS=="sd", SYSFS{TYPE}=="0/7/14", RUN+="/bin/sh-c 'echo 60 > /sys$$DEVPATH/timeout'"
(Linux дистрибутиви можуть мати різне розташування встановлення правил udev). VMware Tools для гостьової Linux ОС автоматично встановлює udev правило зі значенням затримки для віртуального диска дорівнює 180 секунд. Ви можете запустити команду grep для VMware» vendor ID в папці з правилами udev щоб знайти скрипт який устанваливает це значення і змінити його при необхідності. Не забудьте перевірити це значення.

Solaris: Встановити значення 60 сек затримки (задається в секундах, шеснадцатиричной формі) для диска можна у файлі /etc/system
set sd:sd_io_time=0x3c

Додаткові налаштування можуть бути внесені в файл /kernel/drv/sd.conf:
Solaris 10.0 GA — Solaris 10u6:

sd-config-list="NETAPP LUN","netapp-sd-config",
"VMware Virtual","netapp-sd-config";
netapp-sd-config=1,0x9c01,32,0,0,0,0,0,0,0,0,0,300,300,30,0,0,8,0,0;

Solaris 10u7 і новіше і Solaris 11:

sd-config-list= "NETAPP LUN","physical-block-size:4096,retries-busy:300,retries-timeout:16,retries-notready:300,retries-reset:30,throttle-max:32,throttle-min:8",
"VMware Virtual","physical-block-size:4096,retries-busy:300,retries-timeout:16,retries-notready:300,retries-reset:30,throttle-max:32,throttle-min:8";

Зверніть увагу: на два пробіли між vendor ID NETAPP і ID LUN, також як і між словами «VMware» і «Virtual» в конфіги вище.

Налаштування FC/Fco Switch Zoning



cDOT 8.x: LIF інтерфейс налаштовується поверх фізичного інтерфейсу. Один фізичний інтерфейс може мати кілька vserver'ів, переконайтеся, що як мінімум один LIF інтерфейс був налаштований на тій ноде, на якій розташований LUN щоб вони могли бути використаний як FC або Fco target'и. Таргетам повинен бути проасоциированы WWPN'и і кожен отримав ID від свіча за допомогою NPIV.
Для обох cDOT 8.x і 7-Mode 7.3/8.x: Ви повинні використовувати «soft zoning» з WWPN'ами для FC Fco щоб зменшити I/O переривання. Такі переривання спостерігаються в «hard zoning» на портах свіча. Докладніше про траблшутинге NetApp + VMWare з SAN.
Детальніше налаштування зонування NetApp FAS.

ALUA

Для систем NetApp FAS з 7-Mode ALUA рекомендований для FC/Fco. А для Систем NetApp FAS cDOT ALUA рекомендований до застосування для всіх блокових протоколів: iSCSI/FC/Fco.
ESXi визначить включений ALUA. Якщо ALUA включений, Storage Type Array plug-in VMW_SATP_ALUA, якщо ALUA вимкнено, то рекомендується використовувати політику балансування шляхів Fixed + необхідно вказати вручну оптимальні/переважні шляхи. У разі використання ALUA, дозволяється до використання алгоритм Most Recently Used або Round Robin — будь-який.


Round Robin буде більш продуктивніше шляхів якщо більше ніж один до контролера. У разі використання Microsoft Cluster + RDM дисків до застосування рекомендований механізм балансування Most Recently Used.

Нижче таблиця рекомендованих настройок балансування навантаження. Докладніше про логіці роботи NetApp FAS, ALUA і балансування навантаження для блокових протоколів.
Mode ALUA Protocol Політика ESXi
Балансування шляхів ESXi
7-Mode 7.x/8.x Enabled FC/Fco VMW_SATP_ALUA Most Recently Used або Round Robin
7-Mode 7.x/8.x Disabled FC/Fco AA SATP Fixed PSP (вибрати оптимальні шляхи)
7-Mode 7.x/8.x Disabled iSCSI AA SATP Round Robin PSP
cDOT 8.x Enabled FC/Fco/iSCSI VMW_SATP_ALUA Most Recently Used або Round Robin


Налаштування ESXi хоста


Для оптимальної работй ESXi хоста необхідно встановити рекомендовані для нього параменты.
Параметр ESXi 4.x з DataONTAP 8.1.x
ESXi 5.x з DataONTAP 7.3/8.x
Net.TcpipHeapSize 30 32
Net.TcpipHeapMax 120 For vSphere 5.0/5.1 set 128. For vSphere 5.5 set 512
NFS.MaxVolumes 64 256
NFS.HeartbeatMaxFailures 10 10
NFS.HeartbeatFrequency 12 12
NFS.HeartbeatTimeout 5 5
NFS.MaxQueueDepth - 64
Disk.QFullSampleSize 32 32 (для 5.1 налаштовується на кожному LUNe
Disk.QFullThreshold 8 8 (5.1 налаштовується на кожному LUNe
Є кілька способів це зробити:

  • Використовуючи Command Line Interface (CLI) на ESXi 5.x хостах.
  • Використовуючи vSphere Client/vCenter Server.
  • Використовуючи Remote CLI tool від VMware.
  • Використовуючи Using the VMware Management Appliance (VMA).
  • Примеяя Host Profile разворячивая його з вже налаштованого ESXi 5.x на інші хости.
Приклад налаштування додаткових параметрів з ESX 4.x CLIУтиліта esxcfg-advcfg испольуемая в цих прикладах розташовується в /usr/sbin папці для ESXi хоста.

#esxcfg-advcfg-s 30 /Net/TcpipHeapSize
#esxcfg-advcfg-s 120 /Net/TcpipHeapMax

#esxcfg-advcfg-s 64 /NFS/MaxVolumes
#esxcfg-advcfg-s 10 /NFS/HeartbeatMaxFailures
#esxcfg-advcfg-s 12 /NFS/HeartbeatFrequency
#esxcfg-advcfg-s 5 /NFS/HeartbeatTimeout

#esxcfg-advcfg-s 32 /Disk/QFullSampleSize
#esxcfg-advcfg-s 8 /Disk/QFullThreshold


Перевіряємо розширені налаштування з ESX 4.x CLI

#esxcfg-advcfg-g /Net/TcpipHeapSize
#esxcfg-advcfg-g /Net/TcpipHeapMax

#esxcfg-advcfg-g /NFS/MaxVolumes
#esxcfg-advcfg-g /NFS/HeartbeatMaxFailures
#esxcfg-advcfg-g /NFS/HeartbeatFrequency
#esxcfg-advcfg-g /NFS/HeartbeatTimeout

#esxcfg-advcfg-g /Disk/QFullSampleSize
#esxcfg-advcfg-g /Disk/QFullThreshold


Приклад налаштування додаткових параметрів з ESX 5.x CLIУтиліта esxcfg-advcfg испольуемая в цих прикладах розташовується в /usr/sbin папці для ESXi хоста.

#esxcfg-advcfg-s 32 /Net/TcpipHeapSize
#esxcfg-advcfg-s 128 /Net/TcpipHeapMax(For vSphere 5.0/5.1) 
#esxcfg-advcfg-s 512 /Net/TcpipHeapMax(For vSphere 5.5)

#esxcfg-advcfg-s 256 /NFS/MaxVolumes
#esxcfg-advcfg-s 10 /NFS/HeartbeatMaxFailures
#esxcfg-advcfg-s 12 /NFS/HeartbeatFrequency
#esxcfg-advcfg-s 5 /NFS/HeartbeatTimeout 
#esxcfg-advcfg-s 64 /NFS/MaxQueueDepth

#esxcfg-advcfg-s 32 /Disk/QFullSampleSize
#esxcfg-advcfg-s 8 /Disk/QFullThreshold


Перевіряємо розширені налаштування з ESX 5.x CLI

#esxcfg-advcfg-g /Net/TcpipHeapSize
#esxcfg-advcfg-g /Net/TcpipHeapMax

#esxcfg-advcfg-g /NFS/MaxVolumes
#esxcfg-advcfg-g /NFS/HeartbeatMaxFailures
#esxcfg-advcfg-g /NFS/HeartbeatFrequency
#esxcfg-advcfg-g /NFS/HeartbeatTimeout
#esxcfg-advcfg-g /NFS/MaxQueueDepth

#esxcfg-advcfg-g /Disk/QFullSampleSize
#esxcfg-advcfg-g /Disk/QFullThreshold


Приклад налаштування додаткових параметрів з ESX 5.1 CLI

# esxcli storage core device set --device naa.60a98000486e5334524a6c4f63624558 --queue-full-sample-size 32 --queue-full-threshold 8


Перевіряємо розширені налаштування з ESX 5.1 CLI

# esxcli storage core device list 


HBA

NetApp рекомендує використовувати для FAS систем з хостом ESXi «значення за замовчуванням» для HBA, що встановлюються виробником адаптера. Якщо вони були змінені, необхідно їх повернення до заводських налаштувань.

VSC

Плагін NetApp VSC (є безкоштовним ), встановлює рекомендовані налаштування на ESXi хості HBA адаптер: чергу, затримки та інші. Сам плагін інтегрується в vCenter. Економить час і усуває під час тесту человечиский фактор при налаштуванні параметрів на ESXi хості для більш ефективної роботи з NetApp. Дозволяє виконувати базові операції для управління сховищем з vCenter, необхідні адміністратору віртуалізованих середовищ. Права доступу до сховища за допомогою VSC можуть бути гнучко налаштовані для декількох користувачів за допомогою RBAC.
image

Доступна версія як для «товстого» (старого) клієнта так і для нового веб-клієнта.


Ethernet


Jumbo frames

У разі використання iSCSI вкрай рекомендується використовувати Jumbo Frames в Ethernet зі швидкістю вище або дорівнює 1Gb. Докладніше в статті про Ethernet з NetApp FAS.

ESXi & MTU9000

У разі використання оточення ESXi, не забудьте створити правильний мережевий адаптер — E1000 для 1GB мереж або VMXNET3 якщо у вас мережа вище ніж 1Gb. E1000 і VMXNET3 підтримують MTU 9000, а стандартний віртуальний мережевий адаптер типу «Flexible» не підтримує.


Також не забудьте, що порт-група встановлена для віртуального мережевого адаптера вашій віртуальній машині повинна бути підключена до віртуального свичу з встановленою налаштуванням MTU 9000 для всього свіча.


NAS


Системи NetApp FAS підтримують примітиви VMware VAAI сгружая частину рутинних завдань з управління сховищем з хоста на сховище, де це більш логічно виконувати. SAN оточенні з ESXi 4.1+ і вище з системами NetApp FAS Data ONTAP 8.0 і вище VAAI автоматично підтримується і не вимагає яких-небудь маніпуляцій. Для NAS оточення компанія NetApp випустила плагін який дозволяє виконувати подібну оптимізацію для протоколу NFS. Це вимагає установки модуля ядра NetAppNFSVAAI для кожного ESXi хоста. VSC може виконати установку NFS VAAI плагін автоматично з vCenter.

VASA

VASA — це безкоштовне яке дозволяє vCenter через API дізнаватися про можливості сховища і більш розумно використовувати його можливості. VASA інтегрується в VSC і дозволяє через GUI інтерфейс створювати профілі датасторов з певними можливостями сховища (наприклад наявність/відсутність Thing Provitioning, тип диска: SAS/SATA/SSD, наявність кеша другого рівня і т. д.) і включати повідомлення по досягненню певного рівня (наприклад заповненість або навантаження).

Сумісність


Широко застосовуйте матрицю сумісності у вашій практиці для зменшення потенційних проблем у инфрастурктуре ЦОД. Для траблшутинга звертайтеся в KB NetApp і VMware.

Впевнений, що з часом мені буде що додати цю статтю з оптимізації ESXi хоста, так що заглядайте сюди час від часу.

Повідомлення щодо помилок у тексті прошу направляти в ЛС.
Зауваження і доповнення навпроти прошу в коментарі

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.