В продолжение темы об оптимизации ESXi хоста для взаимодействия с СХД NetApp ONTAP, эта статья будет просвещена оптимизации производительности VMWare ESXi 6.X, предыдущие статьи были посвящены тюнингу ОС Linux, Windows и VMware ESXi 5.X в среде SAN. Компания NetApp давно тесно сотрудничает с VMware, подтверждением тому может стать тот факт, что нашумевшая технология vVOL была реализована одной из первых ещё в релизе Clustered Data ONTAP 8.2.1 (Август 2014), в то время как vSphere 6.0 ещё даже не был выпущен. Компания NetApp первой объявила поддержку vVol c NFS (Возможно NetApp по-прежнему здесь единственный, не слежу). В связи с чем системы хранения ONTAP крайне популярны в этом окружении.
Эта статья будет полезна владельцам систем хранения с ONTAP, а часть про Disk Alignment будет полезна не только владельцам NetApp`а.
Для поиска узкого места обычно выполняют методику последовательного исключения. Предлагаю перво-наперво начать с СХД. А дальше двигаться СХД -> Сеть (Ethernet / FC) -> Хост ( Windows / Linux / VMware ESXi ) -> Приложение.
Есть пару основных документов, на которые необходимо опираться при настройке VMware + NetApp:
How to configure VMware vSphere 6.x on ONTAP 8.x
Virtual Storage Console 6.0 for VMware vSphere Installation
TR-4128: vSphere 6 on NetApp MetroCluster 8.3
Отдавать гостевой ОС все ресурсы сервера не стоит, во-первых гипервизору нужно оставить минимум 4ГБ ОЗУ, во-вторых иногда наблюдается обратный эффект при добавлении ресурсов гостевой ОС, это нужно подбирать эмпирическим путём.
Этот раздел вынесен в отдельный пост.
Тюнинг настроек нужен для двух целей:
Для оптимизации производительности, возможно, потребуется устранить disk misalignment. Misalignment можно получить в двух случаях:
Давайте разберем эти случаи
Для отработки при takeover/giveback в HA паре, необходимо настроить правильные таймауты гостевых ОС. Так как в кластере могут находиться СХД разных моделей, дисковые, гибридные и All Flash системы, а данные могут мигрировать между этими системами, рекомендуется использовать наихудшее значение таймаутов (у дисковых систем), а именно 60 секунд:
Дефолтные значения ОС в случае использования NFS удовлетворительны, и настройки для гостевых ОС не нужно менять.
Устанавливаются эти значения вручную или при помощи скриптов доступных в составе VSC:
Подробнее о рекомендациях зонирования для NetApp в картинках.
Для ONTAP 8.X и 9.X ALUA всегда включён для всех блочных протоколов: iSCSI/FC/FCoE.
Если хост правильно определил ALUA, то Storage Array Type plug-in будет отображать VMW_SATP_ALUA. Для ALUA, разрешается к использованию алгоритм Most Recently Used или Round Robin — любой.
Round Robin будет более производительнее если путей больше чем один к контроллеру. В случае использования Microsoft Cluster + RDM дисков к применению рекомендован механизм балансировки Most Recently Used.
Ниже таблица рекомендуемых настроек балансировки нагрузки. Подробнее о логике работы NetApp ONTAP, ALUA и балансировке нагрузки для блочных протоколов.
Для оптимальной работы ESXi хоста необходимо установить рекомендуемые для него параметры.
Есть несколько способов это сделать:
NetApp как правило рекомендует использовать для ONTAP систем с хостом ESXi «значения по умолчанию» для HBA, устанавливаемые производителем адаптера. Если они были изменены, необходимо их вернуть к заводским настройкам. Проверьте соответствующие лучшие практики. К примеру, если речь о виртуализации DB2 в среде VMware на NetApp, то рекомендуется (смотри стр. 21) увеличить длину очереди до 64 на ESXi (как это сделать написано в Vmware KB 1267).
VSC
Эта статья будет полезна владельцам систем хранения с ONTAP, а часть про Disk Alignment будет полезна не только владельцам NetApp`а.
Для поиска узкого места обычно выполняют методику последовательного исключения. Предлагаю перво-наперво начать с СХД. А дальше двигаться СХД -> Сеть (Ethernet / FC) -> Хост ( Windows / Linux / VMware ESXi ) -> Приложение.
Есть пару основных документов, на которые необходимо опираться при настройке VMware + NetApp:
How to configure VMware vSphere 6.x on ONTAP 8.x
Virtual Storage Console 6.0 for VMware vSphere Installation
TR-4128: vSphere 6 on NetApp MetroCluster 8.3
Hypervisor
Отдавать гостевой ОС все ресурсы сервера не стоит, во-первых гипервизору нужно оставить минимум 4ГБ ОЗУ, во-вторых иногда наблюдается обратный эффект при добавлении ресурсов гостевой ОС, это нужно подбирать эмпирическим путём.
SWAP
Этот раздел вынесен в отдельный пост.
Гостевые ОС
Тюнинг настроек нужен для двух целей:
- Оптимизация скорости работы гостевых ОС
- Нормальная работа в HA паре, при отказе одного контроллера (takeover) и возобновлении его работы (giveback)
Disk alignment
Для оптимизации производительности, возможно, потребуется устранить disk misalignment. Misalignment можно получить в двух случаях:
- из-за неправильно выбранной геометрии луна при его создании в СХД. Такую ошибку можно создать только в SAN окружении
- внутри виртуальных дисков виртуальных машин. Может быть, как в SAN так и в NAS окружении
Давайте разберем эти случаи
Полностью выровненные блоки на VMFS датасторе
Для начала рассмотрим полностью выровненные блоки по границах VMFS датастора и хранилища.
Первый случай - Misalignment с VMFS
Первый случай — это когда есть misalignment VMFS датастора относительно хранилища. Для устранения первого типа проблемы необходимо создать лун с правильной геометрией и переместить туда виртуальные машины.
Второй случай - смещение внутри гостевой ОС
Вторую ситуацию, со смещенными разделами файловой системы внутри гостевой ОС относительно файловой структуры WAFL можно получить в старых дистрибутивах Linux и ОС Windows 2003 и старее. Так как проблема «внутри виртуальной машины», она может наблюдаться как на NFS так и на VMFS датасторах, а также в RDM и vVOL. Как правило это связано с не оптимальным размещением таблицы разделов MBR или с машинами, которые были конвертированы из физических в виртуальные. Проверить это можно в гостевых ОС Windows при помощи утилиты dmdiag.exe -v (значение поля Rel Sec должно быть кратно 4KB на WAFL). Подробнее о диагностике misalignment для Windows машин. Подробнее как устранять такие ситуации описано в TR-3747 Best Practices for File System Alignment in Virtual Environments.
Misalignment на двух уровнях
Ну и конечно же можно получить misalignment сразу на двух уровнях: как на уровне VMFS датастора, так и на уровне файловой системы гостевой ОС. Подробнее о поиске misalignment со стороны хранилища ONTAP.
В ново созданной VMFS5 (не апгрейд с VMFS3) блок имеет размер 1MB с суб-блоками 8KB.
В ново созданной VMFS5 (не апгрейд с VMFS3) блок имеет размер 1MB с суб-блоками 8KB.
takeover/giveback
Для отработки при takeover/giveback в HA паре, необходимо настроить правильные таймауты гостевых ОС. Так как в кластере могут находиться СХД разных моделей, дисковые, гибридные и All Flash системы, а данные могут мигрировать между этими системами, рекомендуется использовать наихудшее значение таймаутов (у дисковых систем), а именно 60 секунд:
ОС | Updated Guest OS Tuning for SAN: ESXi 5 и новее, или ONTAP 8.1 и новее (SAN) |
---|---|
Windows | disk timeout = 60 |
Linux | disk timeout = 60 |
Solaris | 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:
Дополнительные настройки могут быть внесены в файл /kernel/drv/sd.conf:
Solaris 10.0 GA — Solaris 10u6:
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
Обратите внимание: на два пробела между vendor ID NETAPP и ID LUN, также, как и между словами «VMware» и «Virtual» в конфиге выше.
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/FCoE Switch Zoning
Подробнее о рекомендациях зонирования для NetApp в картинках.
ALUA
Для ONTAP 8.X и 9.X ALUA всегда включён для всех блочных протоколов: iSCSI/FC/FCoE.
Если хост правильно определил ALUA, то Storage Array Type plug-in будет отображать VMW_SATP_ALUA. Для ALUA, разрешается к использованию алгоритм Most Recently Used или Round Robin — любой.
Round Robin будет более производительнее если путей больше чем один к контроллеру. В случае использования Microsoft Cluster + RDM дисков к применению рекомендован механизм балансировки Most Recently Used.
Ниже таблица рекомендуемых настроек балансировки нагрузки. Подробнее о логике работы NetApp ONTAP, ALUA и балансировке нагрузки для блочных протоколов.
Mode | ALUA | Protocol | Политика ESXi |
Балансировка путей ESXi |
---|---|---|---|---|
ONTAP 9.x / 8.x (Clustered) | Enabled | FC/FCoE/iSCSI | VMW_SATP_ALUA | Most Recently Used |
ONTAP 9.x / 8.x (Clustered) | Enabled | FC/FCoE/iSCSI | VMW_SATP_ALUA | Round Robin |
Проверим применившуюся политику к проверяемому луну/датастору
~ # esxcli storage nmp device list
naa.60a980004434766d452445797451376b
Device Display Name: NETAPP Fibre Channel Disk (naa.60a980004434766d452445797451376b)
Storage Array Type: VMW_SATP_ALUA
Storage Array Type Device Config: {implicit_support=on;explicit_support=off; explicit_allow=on;alua_followover=on;{TPG_id=1,TPG_state=ANO}{TPG_id=0,TPG_state=AO}}
Path Selection Policy: VMW_PSP_RR
Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0; lastPathIndex=0: NumIOsPending=0,numBytesPending=0}
Path Selection Policy Device Custom Config:
Working Paths: vmhba2:C0:T6:L119, vmhba1:C0:T7:L119
Is Local SAS Device: false
Is USB: false
Is Boot USB Device: false
Настройки ESXi хоста
Для оптимальной работы ESXi хоста необходимо установить рекомендуемые для него параметры.
Параметр | Протокол(ы) | ESXi 6.x с DataONTAP 8.x | ESXi 6.x с DataONTAP 9.x |
---|---|---|---|
Net.TcpipHeapSize | iSCSI/NFS | 32 | |
Net.TcpipHeapMax | iSCSI/NFS | 512 | |
NFS.MaxVolumes | NFS | 256 | |
NFS41.MaxVolumes | NFS 4.1 | 256 | |
NFS.HeartbeatMaxFailures | NFS | 10 | |
NFS.HeartbeatFrequency | NFS | 12 | |
NFS.HeartbeatTimeout | NFS | 5 | |
NFS.MaxQueueDepth | NFS | 64 | |
Disk.QFullSampleSize | iSCSI/FC/FCoE | 32 | |
Disk.QFullThreshold | iSCSI/FC/FCoE | 8 |
Есть несколько способов это сделать:
- Используя Command Line Interface (CLI) на ESXi 6.x хостах.
- Используя vSphere Client/vCenter Server.
- Используя Remote CLI tool от VMware.
- Используя VMware Management Appliance (VMA).
- Применяя Host Profile разворачивая его с уже настроенного ESXi 6.x на другие хосты.
Пример настройки расширенных параметров из ESX 6.x CLI
Утилита esxcfg-advcfg используемая в этих примерах располагается в /usr/sbin папке для ESXi хоста.
#Для протоколов iSCSI/NFS
#esxcfg-advcfg -s 32 /Net/TcpipHeapSize
#esxcfg-advcfg -s 512 /Net/TcpipHeapMax
#Для протокола NFS
#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
#Для протокола NFS v4.1
#esxcfg-advcfg -s 256 /NFS41/MaxVolumes
#Для протоколов iSCSI/FC/FCoE
#esxcfg-advcfg -s 32 /Disk/QFullSampleSize
#esxcfg-advcfg -s 8 /Disk/QFullThreshold
Проверяем расширенные настройки из ESX 6.x CLI
#Для протоколов iSCSI/NFS
#esxcfg-advcfg -g /Net/TcpipHeapSize
#esxcfg-advcfg -g /Net/TcpipHeapMax
#Для протокола NFS
#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
#Для протокола NFS v4.1
#esxcfg-advcfg -g /NFS41/MaxVolumes
#Для протоколов iSCSI/FC/FCoE
#esxcfg-advcfg -g /Disk/QFullSampleSize
#esxcfg-advcfg -g /Disk/QFullThreshold
HBA
NetApp как правило рекомендует использовать для ONTAP систем с хостом ESXi «значения по умолчанию» для HBA, устанавливаемые производителем адаптера. Если они были изменены, необходимо их вернуть к заводским настройкам. Проверьте соответствующие лучшие практики. К примеру, если речь о виртуализации DB2 в среде VMware на NetApp, то рекомендуется (смотри стр. 21) увеличить длину очереди до 64 на ESXi (как это сделать написано в Vmware KB 1267).
Пример настройки HBA Qlogic на ESXi
# посмотреть драйвер для Qlogic на ESXi 5.5 и 6.0
# esxcli system module list | grep qln
# Установить значение для Qlogic на ESXi 5.5 и 6.0
# esxcli system module parameters set -p qlfxmaxqdepth=64 -m qlnativefc
VSC
Плагин NetApp VSC (является бесплатным ПО), устанавливает рекомендуемые настройки на ESXi хосте и HBA адаптере: очередь, задержки и другие. Сам плагин интегрируется в vCenter. Экономит время и устраняет во время теста человеческий фактор при настройке параметров на ESXi хосте для более эффективной работы с NetApp. Позволяет выполнять базовые операции для управления хранилищем из vCenter, необходимые администратору виртуализированных сред. Права доступа к хранилищу при помощи VSC могут быть гибко настроены для нескольких пользователей при помощи RBAC. VSC является обязательным для настройки vVOL.
Доступна версия плагина только для веб-клиента. Поддерживается версия 6 и более новые.
Ethernet
Jumbo frames
В случае использования iSCSI крайне рекомендуется использовать Jumbo Frames в Ethernet со скоростью выше или равно 1Gb. Подробнее в статье про Ethernet с NetApp ONTAP. Не забывайте также о рекомендациях VMware по настройкам LACP, Port-channel, Spanning Tree, PortFast, Flowcontrol.
ESXi & MTU9000
Не забудьте создать правильный сетевой адаптер — VMware рекомендует использовать VMXNEЕ3. Начиная с версии ESXi 5.0 VMXNET3 поддерживает Jumbo Frames. Сетевой адаптер E1000e поддерживает скорость 1GB сетей и MTU 9000 — он устанавливается для всех создаваемых VM по умолчанию (кроме Linux). Стандартный виртуальный сетевой адаптер типа «Flexible» поддерживает MTU 1500. Подробнее.
Также не забудьте, что порт-группа установленная для виртуального сетевого адаптера вашей виртуальной машине должна быть подключена к виртуальному свичу с установленной настройкой MTU 9000 для всего свича.
NAS и VAAI
Системы ONTAP поддерживают примитивы VMware VAAI сгружая часть рутинных задач по управлению данными на датасторе с хоста на хранилище, где это более логично выполнять. В SAN окружении с ESXi 4.1+ и выше с системами ONTAP 8.0 и выше VAAI автоматически поддерживается и не требует каких-либо манипуляций. Для NAS окружения компания NetApp выпустила плагин, который позволяет выполнять подобную оптимизацию для протокола NFS. Это требует установки модуля ядра NetAppNFSVAAI для каждого ESXi хоста. VSC может выполнить установку NFS VAAI плагина автоматически из vCenter. Чтобы он функционировал необходимо правильно настроить NFS шару для VAAI, для чего необходимо удовлетворить несколько требований:
- Настроить доступ ESXi сервера (RO, RW и Superuser должны быть в состоянии SYS или ANY, и должны быть активирован доступ по протоколам NFS3 И NFS4). Даже если NFS4 не будет использоваться, он должен быть в списке доступа.
- Все родительские вольюмы в junction path должны разрешать root read доступ и NFSv4 доступ. В большинстве случаев это означает, что root volume для Storage Virtual Server (Vserver) минимально должен иметь настройку superuser установленную в значение SYS для соответствующего клиента, который будет использовать VAAI доступ к одному из вложенных вольюмов. Рекомендуется запретить доступ на запись непосредственно в Vserver root вольюм.
- Необходимо включить поддержку vStorage на вольюме.
Пример настройки VAAI на ONTAP
cm3240c-rtp::> export-policy rule show -vserver vmware -policyname vmware_access -ruleindex 2
(vserver export-policy rule show)
Vserver: vmware
Policy Name: vmware_access
Rule Index: 1
Access Protocol: nfs3 <---- needs to be 'nfs' or 'nfs3,nfs4'
Client Match Spec: 192.168.1.7
RO Access Rule: sys
RW Access Rule: sys
User ID To Which Anonymous Users Are Mapped: 65534
Superuser Security Flavors: sys
Honor SetUID Bits In SETATTR: true
cm3240c-rtp::> export-policy rule show -vserver vmware -policyname root_policy -ruleindex 1
(vserver export-policy rule show)
Vserver: vmware
Policy Name: root_policy
Rule Index: 1
Access Protocol: nfs <--- like requirement 1, set to nfs or nfs3,nfs4
Client Match Spec: 192.168.1.5
RO Access Rule: sys
RW Access Rule: never <--- this can be never for security reasons
User ID To Which Anonymous Users Are Mapped: 65534
Superuser Security Flavors: sys <--- this is required for VAAI to be set, even in the parent volumes like vsroot
Honor SetUID Bits In SETATTR: true
Allow Creation of Devices: true
cm3240c-rtp::> nfs modify -vserver vmware -vstorage enabled
VASA
VASA — это бесплатное ПО которое позволяет vCenter через API узнавать о возможностях хранилища и более разумно использовать их. VASA интегрируется в VSC и позволяет через GUI интерфейс создавать профили датасторов с определёнными возможностями хранилища (к примеру наличие/отсутствие Thing Provitioning, тип диска: SAS/SATA/SSD, наличие кэша второго уровня и т.д.) и включать уведомления по достижению некого уровня (к примеру занятое пространство или нагрузка). Начиная с версии 6.0 VASA является обязательным компонентом VSC и является важной (и обязательной) частью парадигмы VMware vVOL.
Space Reservation — UNMAP
Начиная с ESXi 5.0 поддерживается возврат высвобожденных блоков из тонкого луна (датастора) назад, хранилищу. В версиях ESXi 5.X/6.0 с VMFS необходим ручной запуск для возврата пространства, для ESXi 6.X с vVOL работает автоматически, а начиная с версии 6.5 работает автоматически (с задержкой) на VMFS-6 датасторах. На стороне ONTAP этот функционал всегда по умолчанию выключен, для его включения необходимо выполнить несколько не сложных команд на СХД.
vVOL
Эта тема заслуживает особого внимания и вынесена в отдельную статью.
Совместимость
Широко применяйте матрицу совместимости в вашей практике для уменьшения потенциальных проблем в инфрастурктуре ЦОД. Для траблшутинга обращайтесь в KB NetApp и VMware.
Уверен, что со временем мне будет что добавить в эту статью по оптимизации ESXi хоста, так что заглядывайте сюда время от времени.
Выводы
Правильные настройки для среды виртуализации VMWare позволят не только повысить производительность вашей инфраструктуры, но и повысить её отказоустойчивость. Обязательно следуйте рекомендациям VMware и NetApp при начальном запуске вашей инфраструктуры. Во время запуска обязательно создайте план тестирования состоящий как из нагрузочного тестирования, так и тестирования отказоустойчивости, для того чтобы устранить возможные ошибки конфигурации и иметь представление о возможностях и поведении вашей инфраструктуры в режиме нормальной работы, и работы при сбоях.
Здесь могут содержаться ссылки на Habra-статьи, которые будут опубликованы позже.
Сообщения по ошибкам в тексте прошу направлять в ЛС.
Замечания и дополнения напротив прошу в комментарии
Плагин NetApp VSC (является бесплатным ПО), устанавливает рекомендуемые настройки на ESXi хосте и HBA адаптере: очередь, задержки и другие. Сам плагин интегрируется в vCenter. Экономит время и устраняет во время теста человеческий фактор при настройке параметров на ESXi хосте для более эффективной работы с NetApp. Позволяет выполнять базовые операции для управления хранилищем из vCenter, необходимые администратору виртуализированных сред. Права доступа к хранилищу при помощи VSC могут быть гибко настроены для нескольких пользователей при помощи RBAC. VSC является обязательным для настройки vVOL.
Доступна версия плагина только для веб-клиента. Поддерживается версия 6 и более новые.
Ethernet
Jumbo frames
В случае использования iSCSI крайне рекомендуется использовать Jumbo Frames в Ethernet со скоростью выше или равно 1Gb. Подробнее в статье про Ethernet с NetApp ONTAP. Не забывайте также о рекомендациях VMware по настройкам LACP, Port-channel, Spanning Tree, PortFast, Flowcontrol.
ESXi & MTU9000
Не забудьте создать правильный сетевой адаптер — VMware рекомендует использовать VMXNEЕ3. Начиная с версии ESXi 5.0 VMXNET3 поддерживает Jumbo Frames. Сетевой адаптер E1000e поддерживает скорость 1GB сетей и MTU 9000 — он устанавливается для всех создаваемых VM по умолчанию (кроме Linux). Стандартный виртуальный сетевой адаптер типа «Flexible» поддерживает MTU 1500. Подробнее.
Также не забудьте, что порт-группа установленная для виртуального сетевого адаптера вашей виртуальной машине должна быть подключена к виртуальному свичу с установленной настройкой MTU 9000 для всего свича.
NAS и VAAI
Системы ONTAP поддерживают примитивы VMware VAAI сгружая часть рутинных задач по управлению данными на датасторе с хоста на хранилище, где это более логично выполнять. В SAN окружении с ESXi 4.1+ и выше с системами ONTAP 8.0 и выше VAAI автоматически поддерживается и не требует каких-либо манипуляций. Для NAS окружения компания NetApp выпустила плагин, который позволяет выполнять подобную оптимизацию для протокола NFS. Это требует установки модуля ядра NetAppNFSVAAI для каждого ESXi хоста. VSC может выполнить установку NFS VAAI плагина автоматически из vCenter. Чтобы он функционировал необходимо правильно настроить NFS шару для VAAI, для чего необходимо удовлетворить несколько требований:
- Настроить доступ ESXi сервера (RO, RW и Superuser должны быть в состоянии SYS или ANY, и должны быть активирован доступ по протоколам NFS3 И NFS4). Даже если NFS4 не будет использоваться, он должен быть в списке доступа.
- Все родительские вольюмы в junction path должны разрешать root read доступ и NFSv4 доступ. В большинстве случаев это означает, что root volume для Storage Virtual Server (Vserver) минимально должен иметь настройку superuser установленную в значение SYS для соответствующего клиента, который будет использовать VAAI доступ к одному из вложенных вольюмов. Рекомендуется запретить доступ на запись непосредственно в Vserver root вольюм.
- Необходимо включить поддержку vStorage на вольюме.
Пример настройки VAAI на ONTAP
cm3240c-rtp::> export-policy rule show -vserver vmware -policyname vmware_access -ruleindex 2
(vserver export-policy rule show)
Vserver: vmware
Policy Name: vmware_access
Rule Index: 1
Access Protocol: nfs3 <---- needs to be 'nfs' or 'nfs3,nfs4'
Client Match Spec: 192.168.1.7
RO Access Rule: sys
RW Access Rule: sys
User ID To Which Anonymous Users Are Mapped: 65534
Superuser Security Flavors: sys
Honor SetUID Bits In SETATTR: true
cm3240c-rtp::> export-policy rule show -vserver vmware -policyname root_policy -ruleindex 1
(vserver export-policy rule show)
Vserver: vmware
Policy Name: root_policy
Rule Index: 1
Access Protocol: nfs <--- like requirement 1, set to nfs or nfs3,nfs4
Client Match Spec: 192.168.1.5
RO Access Rule: sys
RW Access Rule: never <--- this can be never for security reasons
User ID To Which Anonymous Users Are Mapped: 65534
Superuser Security Flavors: sys <--- this is required for VAAI to be set, even in the parent volumes like vsroot
Honor SetUID Bits In SETATTR: true
Allow Creation of Devices: true
cm3240c-rtp::> nfs modify -vserver vmware -vstorage enabled
VASA
VASA — это бесплатное ПО которое позволяет vCenter через API узнавать о возможностях хранилища и более разумно использовать их. VASA интегрируется в VSC и позволяет через GUI интерфейс создавать профили датасторов с определёнными возможностями хранилища (к примеру наличие/отсутствие Thing Provitioning, тип диска: SAS/SATA/SSD, наличие кэша второго уровня и т.д.) и включать уведомления по достижению некого уровня (к примеру занятое пространство или нагрузка). Начиная с версии 6.0 VASA является обязательным компонентом VSC и является важной (и обязательной) частью парадигмы VMware vVOL.
Space Reservation — UNMAP
Начиная с ESXi 5.0 поддерживается возврат высвобожденных блоков из тонкого луна (датастора) назад, хранилищу. В версиях ESXi 5.X/6.0 с VMFS необходим ручной запуск для возврата пространства, для ESXi 6.X с vVOL работает автоматически, а начиная с версии 6.5 работает автоматически (с задержкой) на VMFS-6 датасторах. На стороне ONTAP этот функционал всегда по умолчанию выключен, для его включения необходимо выполнить несколько не сложных команд на СХД.
vVOL
Эта тема заслуживает особого внимания и вынесена в отдельную статью.
Совместимость
Широко применяйте матрицу совместимости в вашей практике для уменьшения потенциальных проблем в инфрастурктуре ЦОД. Для траблшутинга обращайтесь в KB NetApp и VMware.
Уверен, что со временем мне будет что добавить в эту статью по оптимизации ESXi хоста, так что заглядывайте сюда время от времени.
Выводы
Правильные настройки для среды виртуализации VMWare позволят не только повысить производительность вашей инфраструктуры, но и повысить её отказоустойчивость. Обязательно следуйте рекомендациям VMware и NetApp при начальном запуске вашей инфраструктуры. Во время запуска обязательно создайте план тестирования состоящий как из нагрузочного тестирования, так и тестирования отказоустойчивости, для того чтобы устранить возможные ошибки конфигурации и иметь представление о возможностях и поведении вашей инфраструктуры в режиме нормальной работы, и работы при сбоях.
Здесь могут содержаться ссылки на Habra-статьи, которые будут опубликованы позже.
Сообщения по ошибкам в тексте прошу направлять в ЛС.
Замечания и дополнения напротив прошу в комментарии
Не забудьте создать правильный сетевой адаптер — VMware рекомендует использовать VMXNEЕ3. Начиная с версии ESXi 5.0 VMXNET3 поддерживает Jumbo Frames. Сетевой адаптер E1000e поддерживает скорость 1GB сетей и MTU 9000 — он устанавливается для всех создаваемых VM по умолчанию (кроме Linux). Стандартный виртуальный сетевой адаптер типа «Flexible» поддерживает MTU 1500. Подробнее.
Также не забудьте, что порт-группа установленная для виртуального сетевого адаптера вашей виртуальной машине должна быть подключена к виртуальному свичу с установленной настройкой MTU 9000 для всего свича.
NAS и VAAI
Системы ONTAP поддерживают примитивы VMware VAAI сгружая часть рутинных задач по управлению данными на датасторе с хоста на хранилище, где это более логично выполнять. В SAN окружении с ESXi 4.1+ и выше с системами ONTAP 8.0 и выше VAAI автоматически поддерживается и не требует каких-либо манипуляций. Для NAS окружения компания NetApp выпустила плагин, который позволяет выполнять подобную оптимизацию для протокола NFS. Это требует установки модуля ядра NetAppNFSVAAI для каждого ESXi хоста. VSC может выполнить установку NFS VAAI плагина автоматически из vCenter. Чтобы он функционировал необходимо правильно настроить NFS шару для VAAI, для чего необходимо удовлетворить несколько требований:
- Настроить доступ ESXi сервера (RO, RW и Superuser должны быть в состоянии SYS или ANY, и должны быть активирован доступ по протоколам NFS3 И NFS4). Даже если NFS4 не будет использоваться, он должен быть в списке доступа.
- Все родительские вольюмы в junction path должны разрешать root read доступ и NFSv4 доступ. В большинстве случаев это означает, что root volume для Storage Virtual Server (Vserver) минимально должен иметь настройку superuser установленную в значение SYS для соответствующего клиента, который будет использовать VAAI доступ к одному из вложенных вольюмов. Рекомендуется запретить доступ на запись непосредственно в Vserver root вольюм.
- Необходимо включить поддержку vStorage на вольюме.
Пример настройки VAAI на ONTAP
cm3240c-rtp::> export-policy rule show -vserver vmware -policyname vmware_access -ruleindex 2
(vserver export-policy rule show)
Vserver: vmware
Policy Name: vmware_access
Rule Index: 1
Access Protocol: nfs3 <---- needs to be 'nfs' or 'nfs3,nfs4'
Client Match Spec: 192.168.1.7
RO Access Rule: sys
RW Access Rule: sys
User ID To Which Anonymous Users Are Mapped: 65534
Superuser Security Flavors: sys
Honor SetUID Bits In SETATTR: true
cm3240c-rtp::> export-policy rule show -vserver vmware -policyname root_policy -ruleindex 1
(vserver export-policy rule show)
Vserver: vmware
Policy Name: root_policy
Rule Index: 1
Access Protocol: nfs <--- like requirement 1, set to nfs or nfs3,nfs4
Client Match Spec: 192.168.1.5
RO Access Rule: sys
RW Access Rule: never <--- this can be never for security reasons
User ID To Which Anonymous Users Are Mapped: 65534
Superuser Security Flavors: sys <--- this is required for VAAI to be set, even in the parent volumes like vsroot
Honor SetUID Bits In SETATTR: true
Allow Creation of Devices: true
cm3240c-rtp::> nfs modify -vserver vmware -vstorage enabled
VASA
VASA — это бесплатное ПО которое позволяет vCenter через API узнавать о возможностях хранилища и более разумно использовать их. VASA интегрируется в VSC и позволяет через GUI интерфейс создавать профили датасторов с определёнными возможностями хранилища (к примеру наличие/отсутствие Thing Provitioning, тип диска: SAS/SATA/SSD, наличие кэша второго уровня и т.д.) и включать уведомления по достижению некого уровня (к примеру занятое пространство или нагрузка). Начиная с версии 6.0 VASA является обязательным компонентом VSC и является важной (и обязательной) частью парадигмы VMware vVOL.
Space Reservation — UNMAP
Начиная с ESXi 5.0 поддерживается возврат высвобожденных блоков из тонкого луна (датастора) назад, хранилищу. В версиях ESXi 5.X/6.0 с VMFS необходим ручной запуск для возврата пространства, для ESXi 6.X с vVOL работает автоматически, а начиная с версии 6.5 работает автоматически (с задержкой) на VMFS-6 датасторах. На стороне ONTAP этот функционал всегда по умолчанию выключен, для его включения необходимо выполнить несколько не сложных команд на СХД.
vVOL
Эта тема заслуживает особого внимания и вынесена в отдельную статью.
Совместимость
Широко применяйте матрицу совместимости в вашей практике для уменьшения потенциальных проблем в инфрастурктуре ЦОД. Для траблшутинга обращайтесь в KB NetApp и VMware.
Уверен, что со временем мне будет что добавить в эту статью по оптимизации ESXi хоста, так что заглядывайте сюда время от времени.
Выводы
Правильные настройки для среды виртуализации VMWare позволят не только повысить производительность вашей инфраструктуры, но и повысить её отказоустойчивость. Обязательно следуйте рекомендациям VMware и NetApp при начальном запуске вашей инфраструктуры. Во время запуска обязательно создайте план тестирования состоящий как из нагрузочного тестирования, так и тестирования отказоустойчивости, для того чтобы устранить возможные ошибки конфигурации и иметь представление о возможностях и поведении вашей инфраструктуры в режиме нормальной работы, и работы при сбоях.
Здесь могут содержаться ссылки на Habra-статьи, которые будут опубликованы позже.
Сообщения по ошибкам в тексте прошу направлять в ЛС.
Замечания и дополнения напротив прошу в комментарии