- PVSM.RU - https://www.pvsm.ru -
В продолжение темы об оптимизации хоста для взаимодействия с Linux [1] и Windows [2] в среде vVOL была реализована [3] одной из первых ещё в релизе Clustered Data ONTAP 8.2.1 (Август 2014), в то время как vSphere 6.0 ещё даже не выпущен. В связи с чем системы хранения NetApp FAS крайне популярны в этом окружении.
Натройки VMWare ESXi можно разделить на следующие части:
Есть пару основных документов, на которые необходимо опираться при настройке VMware + NetApp:
TR-4068: VMware vSphere 5 on NetApp Clustered Data ONTAP [4]
TR 3839: Использование NFS в VMware (7-Mode) [5]
TR-3749: Руководство по наилучшим способам использования систем NetApp с VMware vSphere (7-Mode) [6]
TR-3802: Ethernet для систем хранения: наилучшие методы (7-Mode) [7]
Отдавать гостевой ОС все ресурсы сервера не стоит, во-первых гипервизору нужно оставить минимум 4ГБ ОЗУ, во-вторых иногда наблюдается обратный эффект при добавлении ресурсов гостевой ОС, это нужно подбирать эмпирическим путём.
Рекомендуется не использовать файлы подкачки виртуальной памяти на уровне гостевой о снепшотах и резервном копировании для NetApp FAS [10]. Вынеся SWAP «наружу», появится возможность назначать отдельно от гостевой ОС, уровень приоритетов для SWAP-датастора.
Тюнинг настроек нужен для двух целей:
Для оптимизации производительности, возможно, потребуется устранить disk misalignment. Misalignment можно получить в двух случаях:
Давайте разберем эти случаи.
Для начала рассмотрим полностью выровнянные блоки по границах VMFS датастора и хранилища.
Первый случай это когда есть misalignment VMFS датастора относительно хранилища. Для устранения первого типа проблемы необходимо создать лун с правильной геометрией и переместить туда виртуальные машины.
Вторую ситуацию, со смещенными разделами файловой системы внутри гостевой гостевых ОС Windows [13] при помощи утилиты dmdiag.exe -v (значение поля Rel Sec должно быть кратно 4KB на диагностике misalignment для Windows [14] машин. Также размещение файловой системы на диске может быть проверено при помощи утилиты mbralign для ESXi хоста [15], входящей в состав NetApp Host Utilities version 5.x [16] и VSC [17]. Подробнее как устранять такие ситуации описано в TR-3747 Best Practices for File System Alignment in Virtual Environments [18].
Ну и конечно же можно получить misalignment сразу на двух уровнях: как на уровне поиске misalignment со стороны хранилища NetApp FAS [19].
Для отработки при 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 [17].
Windows: Установить значение задержки доступа к диску 60 сек при помощи реестара (задаётся в секундах, в шеснадцатиричной форме).
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDisk]
"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» в конфиге выше.
Для cDOT 8.x: LIF интерфейс настраивается поверх физического интерфейса. Один физический интерфейс может меть несколько vserver'ов, удостоверьтесь, что как минимум один LIF интерфейс был настроен на той ноде, на которой расположен LUN чтобы они могли быть использован как FC или FCoE target'ы. Таргетам должен быть проасоциированы WWPN'ы и каждый получил ID от свича при помощи NPIV.
Для обоих NetApp + VMWare с SAN [22].
Подробнее о настройках зонирования для NetApp FAS [23].
Для систем NetApp FAS с 7-Mode ALUA рекомендован для FC/FCoE. А для Систем NetApp FAS с cDOT ALUA рекомендован к применению для всех блочных протоколов: iSCSI/FC/FCoE.
ESXi определит включён ли ALUA. Если ALUA включён, Storage Array Type plug-in будет VMW_SATP_ALUA, если ALUA выключен, то рекомендуется использовать политику балансировки путей Fixed + необходимо указать вручную оптимальные/предпочтительные пути. В случае использования ALUA, разрешается к использованию алгоритм Most Recently Used или Round Robin — любой.
Round Robin будет более производительнее если путей больше чем один к контроллеру. В случае использования Microsoft Cluster + RDM дисков к применению рекомендован механизм балансировки Most Recently Used.
Ниже таблица рекомендуемых настроек балансировки нагрузки. Подробнее о логике работы NetApp FAS, ALUA и балансировке нагрузки для блочных протоколов [25].
Mode | ALUA | Protocol | Политика ESXi | Балансировка путей ESXi |
---|---|---|---|---|
7-Mode 7.x/8.x | Enabled | FC/FCoE | VMW_SATP_ALUA | Most Recently Used или Round Robin |
7-Mode 7.x/8.x | Disabled | FC/FCoE | AA SATP | Fixed PSP (выбрать оптимальные пути) |
7-Mode 7.x/8.x | Disabled | iSCSI | AA SATP | Round Robin PSP |
cDOT 8.x | Enabled | FC/FCoE/iSCSI | VMW_SATP_ALUA | Most Recently Used или Round Robin |
Для оптимальной работй ESXi хоста необходимо установить рекомендуемые для него параменты.
Параметр | ESXi 4.x с DataONTAP 8.1.x [27] | ESXi 5.x с DataONTAP 7.3/8.x [28] |
---|---|---|
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 [29]) |
Disk.QFullThreshold | 8 | 8 (для 5.1 настраивается на каждом LUNe [29]) |
Есть несколько способов это сделать:
#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
#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
#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
#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
# esxcli storage core device set --device naa.60a98000486e5334524a6c4f63624558 --queue-full-sample-size 32 --queue-full-threshold 8
# esxcli storage core device list
NetApp рекомендует использовать для FAS систем с хостом ESXi «значения по умолчанию» для HBA, устанавливаемые производителем адаптера. Если они были изменены, необходимо их вернуть к заводским настройкам.
Доступна версия как для «толстого» (старого) клиента так и для нового веб-клиента.
В случае использования Ethernet с NetApp FAS [33].
Также не забудьте что порт-группа установленная для виртуального сетевого адаптера вашей виртуальной машине должна быть подключена к виртуальному свичу с установленной настройкой MTU 9000 для всего свича.
Системы NetApp VSC [17] может выполнить установку NFS VAAI плагин автоматически из vCenter.
Широко применяйте матрицу совместимости [38] в вашей практике для уменьшения потенциальных проблем в инфрастурктуре NetApp [39] и VMware [40].
Уверен, что со временем мне будет что добавить в эту статью по оптимизации ESXi хоста, так что заглядывайте сюда время от времени.
Сообщения по ошибкам в тексте прошу направлять в ЛС.
Замечания и дополнения напротив прошу в комментарии
Автор: bbk
Источник [41]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/78419
Ссылки в тексте:
[1] Linux: http://habrahabr.ru/post/245357/
[2] Windows: http://habrahabr.ru/post/243153/
[3] vVOL была реализована: http://community.netapp.com/t5/Tech-OnTap-Articles/NetApp-Unlocks-the-Power-of-VMware-VVOLs/ta-p/86939
[4] TR-4068: VMware vSphere 5 on NetApp Clustered Data ONTAP: http://www.netapp.com/us/media/tr-4068.pdf
[5] TR 3839: Использование NFS в VMware (7-Mode): http://netwell.ru/download/documents/techlibrary/16%20-%20%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20NFS%20%D0%B2%20VMware.pdf
[6] TR-3749: Руководство по наилучшим способам использования систем NetApp с VMware vSphere (7-Mode): http://netwell.ru/download/documents/techlibrary/24%20-%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%BF%D0%BE%20%D0%BD%D0%B0%D0%B8%D0%BB%D1%83%D1%87%D1%88%D0%B8%D0%BC%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B0%D0%BC%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%20NetApp%20%20%D1%81%20VMware%20vSphere.pdf
[7] TR-3802: Ethernet для систем хранения: наилучшие методы (7-Mode): http://netwell.ru/download/documents/techlibrary/12%20-%20Ethernet%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%20%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%20%D0%BD%D0%B0%D0%B8%D0%BB%D1%83%D1%87%D1%88%D0%B8%D0%B5%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B..pdf
[8] Hypervisor: #Hypervisor
[9] SWAP: #SWAP
[10] о снепшотах и резервном копировании для NetApp FAS: http://habrahabr.ru/post/244923/
[11] Гостевые ОС: #GOS
[12] Disk alignment: #alignment
[13] гостевых ОС Windows: https://kb.netapp.com/support/index?page=content&id=1013644&actp=search&viewlocale=en_US&searchid=1419848156220
[14] диагностике misalignment для Windows: https://kb.netapp.com/support/index?page=content&id=1010803&actp=search&viewlocale=en_US&searchid=1419848156220
[15] mbralign для ESXi хоста: https://kb.netapp.com/support/index?page=content&id=1011402
[16] NetApp Host Utilities version 5.x: http://mysupport.netapp.com/NOW/download/software/sanhost_esx/ESX/
[17] VSC: #VSC
[18] TR-3747 Best Practices for File System Alignment in Virtual Environments: http://media.netapp.com/documents/tr-3747.pdf
[19] поиске misalignment со стороны хранилища NetApp FAS: http://habrahabr.ru/post/243045/#Misalignment
[20] takeover/giveback: #takeover-giveback
[21] Настройки FC/FCoE Switch Zoning: #zoning
[22] NetApp + VMWare с SAN: https://kb.netapp.com/support/index?page=content&id=1012699&impressions=false
[23] о настройках зонирования для NetApp FAS: http://habrahabr.ru/post/243045/#zoning
[24] ALUA: #ALUA
[25] логике работы NetApp FAS, ALUA и балансировке нагрузки для блочных протоколов: http://habrahabr.ru/post/243045/#Likbez
[26] Настройки ESXi хоста: #ESXI_configurations
[27] ESXi 4.x с DataONTAP 8.1.x: https://kb.netapp.com/support/index?page=content&id=1013162
[28] ESXi 5.x с DataONTAP 7.3/8.x: https://kb.netapp.com/support/index?page=content&id=1013275&actp=LIST
[29] 5.1 настраивается на каждом LUNe: https://kb.netapp.com/support/index?page=content&id=1013944
[30] HBA: #HBA
[31] Ethernet: #Ethernet
[32] Jumbo frames: #Jumbo_frames
[33] Ethernet с NetApp FAS: http://habrahabr.ru/post/243119/#jumboframe
[34] ESXi & MTU9000: #ESXi_and_MTU9000
[35] NAS: #NAS
[36] VASA: #VASA
[37] Совместимость: http://habrahabr.ru/post/154205/#compatibility
[38] применяйте матрицу совместимости: http://habrahabr.ru/post/154205/#Matrix
[39] NetApp: https://kb.netapp.com
[40] VMware: http://kb.vmware.com
[41] Источник: http://habrahabr.ru/post/246871/
Нажмите здесь для печати.