Новости Статьи VMware Veeam StarWind vStack Microsoft Nakivo Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6290 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / Articles / Как работают Limit, Reservation и Shares для пулов ресурсов в VMware vSphere / ESX.

Как работают Limit, Reservation и Shares для пулов ресурсов в VMware vSphere / ESX.

Как работают Limit, Reservation и Shares для пулов ресурсов в VMware vSphere / ESX.

Автор: Александр Самойленко
Дата: 28/05/2010

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Статья:

Большинству пользователей виртуальной инфраструктуры VMware vSphere известны такие параметры как Limit, Reservation и Shares для пулов ресурсов (Resource Pool) в пределах кластеров VMware DRS и отельных хостов ESX. Именно этими тремя параметрами определяется потребление виртуальными машинами оперативной памяти и процессорных ресурсов хоста VMware ESX.

Limit

Этот параметр определяет ограничение потребления физических ресурсов виртуальной машиной (в пределах хоста ESX) или пулом (в пределах кластера) при любых обстоятельствах. Некоторые думают, что Limit (по аналогии с Shares) начинает работать тогда, когда виртуальные машины на хосте ESX начинают бороться за ресурсы. Но это не так. Если вы поставили виртуальной машине Limit в 500 МГц, то именно с такой максимальной производительностью и будет работать ее vCPU, даже если на хосте с 4-мя физическими процессорами по 3 МГц больше никаких машин нет. При этом, если для двухпроцессорной виртуальной машины установлен Limit в 1000 МГц, то оба ее процессора в совокупности не получат более 1000 миллионов циклов CPU в секунду, оставшиеся свободные циклы в эту секунду планировщик ESX будет просто ждать.

Если говорить о памяти, то если ее потребление виртуальной машиной (или пулом ресурсов) доходит до параметра Limit, оставшаяся часть просто уходит в своп.

То же самое происходит и для пулов ресурсов - совокупное потребление ресурсов виртуальных машин в пределах пула при установленном параметре Limit никогда не выйдет за его пределы. Поэтому вы должны быть очень осторожны с параметром Limit, который можно установить и забыть, а потом долго разбираться в чем же проблема производительности.

Теперь обратите внимание на картинку, где задаются параметры потребления ресурсов для отдельной виртуальной машины:

В качестве ограничения можно задать ресурсов больше, чем есть на отдельном хосте VMware ESX (потому как рассматриваются ресурсы всего пула), но это не значит, что виртуальная машина может исполняться на нескольких хостах. Одна ВМ всегда исполняется только на одном хосте ESX.

Когда необходимо устанавливать параметр Limit для виртуальных машин или пулов? Тогда, когда вы хотите разделить два окружения (тестовое и производственное), а точнее отделить тестовое окружение, защитив производственное (при этом, по каким-то причинам они смешаны в одном кластере DRS). Например, ваши разработчики используют несколько виртуальных машин, которые работают нестабильно и могут оказать влияние на производительность хоста VMware ESX и продуктивных виртуальных машин. Очевидно, что установка параметра Limit - совершенно негибкий инструмент, поскольку жестко ограничивает виртуальную машину даже тогда, когда свободных ресурсов очень много. Были случаи использования параметра Limit для ограничения ресурсов на уровне отделов (например, жестко ограничить бухгалтерию), но такой путь управления ресурсами видится не очень эффективным.

Reservation

Параметр Reservation для виртуальной машины или пула ресурсов в VMware vSphere определяет, сколько физической памяти или ресурсов процессора будет гарантировано виртуальной машине при работе (но не при старте!), если ей это потребуется. Параметр используется планировщиками VMware DRS (в пределах кластера) и VKernel (в пределах хоста ESX), а также компонентом Admission Control кластера VMware HA.

Величина разницы между размером памяти в конфигурации виртуальной машины и параметром Reservation определяется, исходя из параметров Shares, установленных для пула ресурсов или отдельной виртуальной машины на хосте ESX (про Shares см. ниже).

Reservation также влияет на размер файла подкачки (vswp, находится в директории с виртуальной машиной). Размер этого файла определяется по формуле:

Configured memory – memory reservation = size swap file

В Resource Management Guide можно найти также такую фразу:

If a virtual machine has a memory reservation but has not yet accessed its full reservation, the unused memory can be reallocated to other virtual machines.

То есть, если виртуальная машина еще не достигла значения параметра Reservation по памяти, то неиспользуемая память может быть отдана другим виртуальным машинам. Но вот если ВМ уже достигла своего уровня Reservation, то планировщик уже не будет отнимать у нее память, даже если она использовать ее не будет и требования к памяти упадут ниже уровня Reservation.

Однако такая ситуация может случиться только с ОС Linux, которая по мере загрузки и роста нагрузки адресует страницы памяти, а вот Windows - обнуляет всю свою память при загрузке, что сразу же приводит к достижению уровня Reservation для виртуальной машины.

Для пулов ресурсов есть также параметр Expandable Reservation, который позволяет дочернему пулу забирать ресурсы из родительского при условии наличия в последнем ресурсов.

Это дает почти неограниченную гибкость в управлении физическими ресурсами хост-сервера VMware ESX.

Admission Control

Данный компонент имеет отношение только к памяти и контролирует запуск виртуальных машин с параметром Reservation в пределах виртуальной инфраструктуры VMware vSphere. Есть три уровня работы этого компонента:

  • Хост VMware ESX - если при старте виртуальной машины хост не может обеспечить Reservation и некоторый overhead на поддержание работы ВМ (зависящий от гостевой ОС и конфигурации ВМ), то виртуальная машина просто не запускается.

  • Кластер VMware HA - механизм Admission Control для кластера HA использует параметры Reservation виртуальных машин для расчета размера слота, от которого зависит значение Failover Capacity (по-сути число одновременных отказов хостов, которое может пережить кластер). Если Failover Capacity не обеспечивается, то включенный Admission Control не позволяет запустить виртуальную машину.

  • Кластер VMware DRS - у DRS есть также свой Admission Control, но он не рассматривает параметр Reservation в расчетах при балансировке нагрузки виртуальных машин на хосты (вместо этого используется сконфигурированные в настройках ВМ параметры).

Если подвести итог, то Reservation - это очень гибкий механизм гарантирования ресурсов на уровне виртуальных машин или пулов ресурсов. По-сути Reservation - это залог того, что ваша виртуальная машина обеспечена физической памятью хост-сервера VMware ESX. Лучше использовать Reservation на уровне пулов ресурсов, которые могут отражать различные классы обслуживания для виртуальных машин в этих пулах.

Shares

Этот параметр определяет приоретизацию потребления виртуальных машин между собой в пределах хоста ESX или пула ресурсов. В отличие от Limit и Reservation, Shares имеют значение только тогда, когда ощущается нехватка ресурсов в рамках хоста VMware ESX, пула ресурсов или кластера DRS. Есть три стандартные настройки Shares - High, Medium и Low. Они обозначают соотношение приоритетов использования ресурсов 8000:4000:2000 (4:2:1) соответственно. Чем больше значение Shares - тем больше машина получит ресурсов в пределах пула или отдельного хоста ESX. Можно задать значение Custom и самому расставить соотношение приоритетов, ресурсы будут раздаваться относительно этих значений.

Shares вступает в действие при нехватке ресурсов CPU или памяти в той части ресурсов, которая находится между Reservation (обеспечено физическими ресурсами) и сконфигурированной памятью или CPU виртуальной машины. В пределах хоста есть также Shares по дисковым ресурсам, об этом есть отдельная статья на VM Guru.

С Shares для пулов ресурсов можно попасть в неприятную ситуацию. Многие предполагают использовать Shares пулов ресурсов для разграничения классов обслуживания виртуальных машин. Например, для продуктивного пула сделать Shares размеров в 2000, а для тестового - 1000. Но это неверно!

Ведь управление ресурсами в пределах кластера VMware DRS для пулов происходит на их уровне, а не на уровне отдельных виртуальных машин. Например, есть такая конфигурация:

Здесь пулу RP-01 дано 2000 Shares, а пулу RP-02 - 1000 Shares. Но в первом пуле 6 машин, а во втором - только 3. Первый пул получает 66% всех ресурсов, а второй - 33%. Но в пределах каждого из пулов каждая машина получает: 66%/6 = 33%/3 = 11%! То есть все машины получают ресурсов поровну. Не ошибитесь когда будете планировать свою виртуальную инфраструктуру VMware vSphere.

Источники:

http://frankdenneman.nl/2009/12/impact-of-memory-reservation/ - офигенная статья про Memory Reservation

http://frankdenneman.nl/2010/05/resource-pools-memory-reservations/ - еще одна хорошая статья того же автора

http://www.yellow-bricks.com/2010/02/22/the-resource-pool-priority-pie-paradox/ - парадокс ресурсных пулов по Reservation

http://www.yellow-bricks.com/drs-deepdive/ - объяснение работы VMware DRS

http://www.yellow-bricks.com/vmware-high-availability-deepdiv/ - объяснение работы VMware HA

http://www.yellow-bricks.com/2010/05/18/limiting-your-vcpu/ - заметка про Limit для CPU.

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Broadcom Offtopic Microsoft Veeam Cloud StarWind VMachines NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Enterprise Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V vSAN Private AI VCPP VCF Workstation Labs Backup Explore vDefend Data Protection ONE Tanzu AI Intel Live Recovery VCP V2V HCX Aria NSX DPU Update EUC Avi Community Skyline Host Client Chargeback Horizon SASE Workspace ONE Networking Ransomware Tools Performance Lifecycle Network AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile VMUG SRM ARM HCI Converter Photon OS Operations VEBA App Volumes Certification VMConAWS Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey Kubernetes vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics NVMe HCIBench SureBackup Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V KB VirtualCenter NFS ThinPrint Memory SIOC Troubleshooting Stretched Bugs Director ESA Android Python Upgrade ML Hub Guardrails CLI Driver Foundation HPC Orchestrator Optimization SVMotion Diagram Ports Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2025, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge