Як розподіляється пам'ять на сервері ESXi?


17

У нас є сервер ESXi 4.1 з оперативною пам’яттю 48 ГБ.

Для кожного VM ми виділяємо 4 Гб пам'яті. Оскільки на сервері буде 13 віртуальних машин, мій менеджер вважає, що це неправильно.

Я збираюся пояснити їм, що ESXi насправді буде керувати самою пам'яттю, але вони запитали мене, скільки пам'яті я виділив для самого сервера ESXi.

Я не виділив жодного (я навіть не чув про варіант розподілу пам'яті для самого сервера ESXi).

Як розподіляється пам'ять для ESXi-сервера? Як це без проблем розподіляти / розподіляти ОЗУ серед віртуальних машин?

Відповіді:


26

Тут йдеться про набагато більше, ніж лише ESXi,

  1. Кожна віртуальна машина буде споживати до 4GBs + «над головою» , яка документально тут . Це залежить від vCPU, + виділеної пам'яті. Як мінімум кожен VM використовуватиме 4261,98 Мб (4096 + 165,98)
  2. Власна пам'ять ESXi, це залежить від обладнання. Найпростіший варіант - подивитися використання системної пам’яті в клієнті vSphere. З пам’яті я пам'ятаю, що вона становить приблизно 1,3 ГБ, але, як зазначено, дуже залежить від обладнання.

Розподіл пам'яті та перевиконання пам’яті

Зауважте, що гіпервізор не буде виділяти всю цю пам'ять наперед , це залежить від використання VM. Однак варто зрозуміти, що станеться, якщо віртуальні машини намагатимуться виділити та використовувати всю виділену їм пам'ять.

Максимум, який намагатиметься використовувати хост VM +, буде приблизно, пробіг 55 ГБ може змінюватись

  • 1,3 ГБ, що використовується ESXi
  • 4261,98 Мб * 13, що використовується ВМ

Існує ще один аспект, який слід врахувати, і це пороги пам'яті. За замовчуванням VMware має на меті отримати 6% вільного (високий поріг пам'яті). Таким чином, 55 Гб використовуваної пам'яті потрібно скоротити до ~ 45 ГБ

Це означає, що хост матиме приблизно 10 500 МБ пам'яті, яку йому потрібно повернути звідкись, якщо віртуальні машини використовуватимуть виділену їм пам'ять. Є три речі, які ESX робить, щоб знайти додаткові 10,5 ГБ.

Методи рекультивації пам'яті

  1. Прозорий обмін сторінками
  2. Повітряна куля
  3. Гіпервізорний обмін

Ви повинні прочитати та зрозуміти Розуміння управління ресурсами пам'яті на сервері VMware® ESX ™ .

Залежно від великої кількості факторів, комбінація всіх трьох волів / може статися на надмірно відданому хості. Вам потрібно перевірити своє оточення та відстежувати ці показники, щоб зрозуміти вплив надмірного скоєння.

Деякі грубі правила, які варто знати (усі у вищенаведеному документі та інших джерелах).

  1. Прозоре обмін сторінками не відбувається для віртуальних машин, які використовують 2/4 МБ сторінок. Оскільки ви виділили 4096 Мб для своїх віртуальних машин Windows, вони використовуватимуть сторінки 2/4 Мб за замовчуванням (залежно від PAE). Тільки під тиском пам'яті VMware розбиває великі сторінки до 4 КБ сторінок, якими можна ділитися. TPS покладається на використання непрацюючих циклів процесора та сканування сторінок пам'яті з певною швидкістю. Він повертає пам'ять відносно повільно (думайте годину, а не хвилину). Тож завантажувальний шторм означає, що TPS не допоможе вам. З трьох, це має найменший вплив на продуктивність. Більше з документа,

У системах віртуалізації з підтримкою апаратури (наприклад, Intel EPT Hardware Assist та AMD RVI Hardware Assist [6]) системи ESX автоматично повертає гостьові фізичні сторінки з великими фізичними сторінками хоста (2 МБ суміжної області пам'яті замість 4 КБ для звичайних сторінок) для кращі показники за рахунок менших пропусків TLB. У таких системах ESX не поділиться цими великими сторінками, оскільки: 1) ймовірність знайти дві великі сторінки, що мають однаковий вміст, низька, і 2) накладні витрати на порівняння біт-бітів для сторінки на 2 МБ набагато більше, ніж для сторінки 4 КБ. Однак ESX все ще генерує хеші для сторінок 4 КБ у межах кожної великої сторінки. Оскільки ESX не буде замінювати великі сторінки, під час розміщення хостів, велика сторінка буде розбита на невеликі сторінки, так що ці заздалегідь створені хеші можуть бути використані для обміну невеликими сторінками перед тим, як їх замінити. Коротше кажучи, ми не можемо спостерігати обмін будь-якими сторінками для апаратних систем віртуалізації пам’яті до тих пір, поки пам'ять хоста не буде перезапущена.

  1. Повітря на повітряній кулі натискає наступне (пороги налаштовуються, за замовчуванням - це тоді, коли хост має менше 6% вільної пам'яті (між високим і програмним забезпеченням)). Не забудьте встановити драйвер та стежити за Java та керованими програмами загалом. ОС не має уявлення про те, що буде робити сміттєзбірник далі, і в кінцевому підсумку буде потрапляти сторінки, які були замінені на диск. Не рідкість практика для серверів, які запускають додатки Java виключно, відключати своп, щоб гарантувати, що цього не відбудеться. Подивіться сторінку 17 управління vSphere Memory, SPECjbb

  2. Переміщення гіпервізора з трьох методів - єдиний, який гарантує, що "пам'ять" буде доступна гіпервізору за встановлений час. Це буде використано, якщо 1 і 2 не дасть йому достатньо пам’яті, щоб залишатися під жорстким порогом (за замовчуванням 2% вільної пам'яті). Прочитавши показники ефективності (зробіть своє), ви зрозумієте, що це найгірше з цих трьох. Намагайтеся уникати цього будь-якою ціною, оскільки вплив на продуктивність буде дуже помітним для майже всіх програм із двозначним відсотком

  3. Є ще один стан, який слід знати про низький (за замовчуванням 1%). З посібника це може різко знизити вашу ефективність,

У рідкісному випадку, коли вільна пам'ять хоста опускається нижче низького порогового значення, гіпервізор продовжує відновлювати пам'ять шляхом заміни та стиснення пам'яті, а також додатково блокує виконання всіх віртуальних машин, які споживають більше пам'яті, ніж їх цільовий обсяг пам'яті.

Підсумок

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

  1. Скільки може дати вам TPS? (Залежить від того, наскільки схожі ваші відеомагнітофони з їх ОС, пакетом оновлень та запущеними програмами)
  2. Як швидко ваші відеомашини розподіляють вашу пам'ять? Чим швидше вони роблять, тим більше шансів на те, що ви перейдете до наступного порогу, перш ніж менш вдала схема рекультивації пам'яті вдасться утримати вас у поточному порозі.
  3. Залежно від застосування, кожна схема рекультивації пам'яті матиме різний вплив.

Перевірте свій середній сценарій, ви склали 95% перцентильний сценарій і, нарешті, свій максимум, щоб зрозуміти, як буде працювати ваше середовище.


Редагуйте 1

Варто додати, що за допомогою vSphere 4 (або 4.1 не можу згадати), тепер можна помістити підкачку гіпервізора на локальний диск, але все-таки всмоктувати VM. Якщо ви використовуєте спільне зберігання, я настійно рекомендую перенести файл своп гіпервізора на локальний диск за замовчуванням. Це гарантує, що коли один хост знаходиться під сильним тиском пам'яті, він не впливає на всі інші VSphere хости / VM на одній спільній пам’яті.

Редагувати 2

На основі зауважень зробив той факт, що ESX не виділяє пам'ять вперед жирним шрифтом ...

Правка 3

Пояснили трохи більше про пороги пам’яті.


1
VMware не призначає пам'ять, яка не використовується; справжньою причиною того, що перевиконання працює, полягає в тому, що VM буде виділено максимальний об'єм пам'яті лише тоді, коли він цього вимагатиме . Як тільки все розподілено, запити на додаткову пам'ять надходять із свопом.
адаптор

1
Ви бачили цей біт, перш ніж додавати цей коментар? "Зауважте, що гіпервізор не буде виділяти всю цю пам'ять наперед, це залежить від використання VM. Однак, варто зрозуміти, що буде, якщо віртуальні машини намагатимуться виділити та використовувати всю виділену їм пам'ять",
М Афіфі

Оскільки це було цілком очевидно одним із головних проблем ОП (ЯК VMware створює пам'ять, що я НЕ МАЮ?), Вона повинна була опинитися високо в списку, а не як думка. Ви пояснюєте використання пам'яті назад, пояснюючи рекультивацію. Чому?
адаптор

Як це назад? Відповідь говорить: саме стільки пам'яті ви виділили. Це не буде виділяти його вперед. Якщо це так (на основі використання пам'яті VM), це вплив. Не можу сказати, що хтось не турбується про це Якщо ви перезавантажуєте пам'ять, ви повинні знати її вплив.
М Афіфі

4

VMware (та інші технології віртуалізації) ділять ресурсами (пам'ять, час процесора, введення / виведення різного виду) між VM за різними алгоритмами.

Можливе перевиконання ресурсів, оскільки не всі VM використовуватимуть весь час обробку, пам'ять або введення / виведення, які їм потрібні. Посібник з управління ресурсами VMware - це, мабуть, найкраще місце для ознайомлення з тим, що можливо в ESXi.

Ви також можете керувати ефектом алгоритмів, зважуючи різні VM для різних ресурсів - наприклад, ви можете надати VM серверу додатків більш високу вагу для процесора, ніж файловий сервер файлового сервера. Однак налаштування поза межами коробки дуже добре впораються з більшістю вимог. У деяких випадках робити тут певну конфігурацію достатньо, щоб розмістити менеджерів, які не зовсім її розуміють, але, звичайно, будьте уважні та прочитайте документи для вашої версії VMware та зрозумійте, що ви робите. Якщо ваш менеджер не потребує подальшого розміщення, просто використовуйте параметри за замовчуванням.

Зауважте, що надмірна комісія не завжди є хорошою ідеєю, особливо якщо ви віртуалізувались на одному сервері. Ви повинні стежити за використанням ресурсів у вашій власності ESXi та, якщо потрібно, додавати додаткові хости / ресурси, якщо ви часто споживаєте всі будь-які одні чи декілька ресурсів.


2

Нехай ваша установка VMWare ESXi впорається з цим. Ви можете перезавантажувати ресурси ОЗУ в системах VMWare завдяки використанню методів балонної пам’яті, стиснення та дедуплікації .

Якщо віртуальні машини використовують схожу операційну систему, там є певна економія. Обов’язково ввімкніть інструменти VMWare всередині гостьових машин, щоб повноцінно використовувати ці функції.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.