top
logo


Memory Overhead виртуальных ПК на платформе VMware Horizon View 5.2. PDF Печать E-mail
10.01.14 10:16

Не так давно мы уже писали о накладных расходах на виртуализацию по памяти для виртуальных машин на платформе VMware vSphere, а сегодня поговорим о виртуальных ПК, которые предъявляют дополнительные требования к объему памяти сверх выделенного на обеспечение работы различных графических режимов в гостевой ОС.

Для начала отметим, что на платформе VMware Horizon View 5.2 появились следующие изменения по сравнению с предыдущими версиями в плане графических режимов виртуальных ПК:

  • Horizon View 5.2 не позволяет установить 24-битную цветовую палитру, теперь используется только 32-битная.
  • Horizon View 5.2 позволяет устанавливать разрешения только 1680×1050, 1920×1200 и 2560×1600. Дефолтным является 1920×1200.

Теперь о накладных расходах по памяти для виртуальных машин.

3D Software Rendering отключен

В этом случае расходы дополнительной памяти сервера на виртуальный ПК зависят от используемого разрешения и количества мониторов для виртуальной машины (значения приведены в мегабайтах):

Затраты памяти Число мониторов
Разрешение/Мониторы 1 2 3 4
1680×1050 6.73 21.54 32.30 43.07
1920×1200 8.79 28.13 42.19 56.25
2560×1600 31.25 62.5 93.75 125

Как вы знаете, в ESXi 5.0 появились возможности VMX Swap, которые позволяют создать swap-файл для сегментов данных процесса vmx, куда сбрасываются страницы памяти, но только в случае нехватки физической оперативной памяти на хосте. Он в разы уменьшает использование физической памяти на Overhead виртуальных машин в случае недостатка ресурсов.

Затраты хранилищ (в мегабайтах) на создание второго *.vswp файла для механизма VMX Swap рассчитываются следующим образом:

VMX SWAP Число мониторов
Разрешение/Мониторы 1 2 3 4
1680×1050 107 163 207 252
1920×1200 111 190 248 306
2560×1600 203 203 461 589

Как мы видим, для некоторых виртуальных ПК может потребоваться более полугигабайта дополнительного дискового пространства.

3D Software Rendering включен

Для виртуальных ПК отдельно или в пределах пула можно установить объем видеопамяти (VRAM, не путать с vRAM) доступный гостевой системе, что влияет на накладные расходы на виртуализацию.

В этом случае дополнительно требуемая физическая память будет рассчитываться как 64 МБ + 16 дополнительных МБ на каждый монитор.

Что касается SWAP-файла, то требуемый для него объем существенно выше, чем в первом случае. Он зависит от выделенной видеопамяти:

VRAM .vswp (МБ)
64 MB 1076
128MB 1468
256MB 1468
512MB 1916

То есть, в некоторых случаях дополнительные затраты на хранилище отдельной виртуальной машины могут достигать 2 ГБ. Чтобы это все учитывать при планировании инфраструктуры виртуальных ПК, можно воспользоваться калькулятором от Andre Leibovici, по материалам которого и написана эта заметка.


Таги: VMware, View, Memory, Enterprise, Blogs, vSphere, ESXi, VMachines

8 фактов о файлах подкачки виртуальных машин на платформе VMware vSphere (Virtual Machine Swap File - vswp).

Мы уже не раз затрагивали тему vswp-файлов виртуальных машин (файлы подкачки), которые используются для организации swap-пространства гипервизором VMware ESXi. Эти файлы выполняют роль последнего эшелона среди техник оптимизации памяти в условиях недостатка ресурсов на хосте. Напомним, что в гипервизоре VMware ESXi есть такие техники как Transparent Page Sharing, Memory Ballooning, a также Memory Compression, которые позволяют разбираться с ситуациями нехватки памяти, необходимой виртуальным машинам.

Напомним также, что первым эшелоном оптимизации памяти является техника Memory Ballooning. Она работает за счет использования драйвера vmmemctl.sys (для Windows), поставляемого вместе с VMware Tools. Он позволяет "надуть" шар внутри гостевой ОС (balloon), который захватывает физическую память, выделенную этой ОС (если ее много), и отдает ее другим гостевым операционным системам, которые в ней нуждаются. Этот balloon не позволяет гостевой ОС производить работу приложений с данной областью памяти, поэтому если им потребуется дополнительная память - она будет уходить в гостевой своп. Это более правильный подход, чем свопировать гостевую ОС в файл подкачки vswp на томе VMFS, поскольку операционная система сама лучше разбирается, что и когда ей класть и доставать из свопа (соответственно, быстродействие выше).

Однако, когда памяти у всех виртуальных машин совсем мало или отдельной ВМ ее требуется больше, чем сконфигурировано, а также происходит постоянное обращение к памяти (особенно, если в гостевых ОС нет VMware Tools), гипервизор начинает использовать vswp-файл подкачки, который по умолчанию находится в папке с виртуальной машиной. Мы уже писали о том, что в целях повышения быстродействия можно положить vswp-файлы виртуальных машин на локальные SSD-хранилища серверов ESXi, а также о том, как удалять мусорные файлы vswp.

Ниже мы приведем 8 фактов о swap-файлах виртуальных машин, которые основаны на вот этой заметке Фрэнка Деннемана:

1. Хранение vswp-файлов на локальных дисках сервера ESXi (в том числе Swap to Host Cache) увеличивает время vMotion. Это очевидно, так как приходится копировать vswp-файл в директорию ВМ (или другую настроенную директорию), чтобы его видел целевой хост.

2. С точки зрения безопасности: vswp-файл не чистится перед созданием. То есть там лежат не нули, а предыдущие данные блоков. Напоминаем, что размер файла подкачки равен размеру сконфигурированной памяти ВМ (если не настроен Reservation). Если же у машины есть Reservation, то размер vswp-файла определяется по формуле:

Configured memory – memory reservation = size swap file

То есть, если в настройках памяти машины ей выделено 4 ГБ, а Reservation настроен в 1 ГБ, то vswp-файл будет составлять 3 ГБ.

3. Как происходит копирование vswp-файла при vMotion? Сначала создается новый vswp-файл на целевом хосте, а потом копируются только swapped out страницы с исходного в целевой vswp-файл.

4. Что происходит при разнице в конфигурации размещения vswp-файлов в кластере и для отдельных хостов? Напомним, что в настройках кластера VMware vSphere есть 2 опции хранения vswp-файлов: в папке с ВМ (по умолчанию) и в директории, которая указана в настройках хоста:

Если на одном хосте настроена отдельная директория для vswp, а на другом нет (то есть используется папка ВМ), то при vMotion такой виртуальной машины vswp-файл будет скопирован (в папку с ВМ), несмотря на то, что целевой хост видит эту директорию на исходном.

5. Обработка файлов подкачки при нехватке места. Если в указанной директории не хватает места для свопа ВМ, то VMkernel пытается создать vswp-файл в папке с ВМ. Если и это не удается, то виртуальная машина не включается с сообщением об ошибке.

6. vswp-файл лучше не помещать на реплицируемое хранилище. Это связано с тем, что используемые страницы памяти, находящиеся в двух синхронизируемых файлах, будут постоянно реплицироваться, что может вызывать снижение производительности репликации, особенно если она синхронная и особенно при vMotion в недефолтной конфигурации (когда происходит активное копирование страниц и их репликация):

7. Если вы используете снапшоты на уровне хранилищ (Datastore или LUN), то лучше хранить vswp-файлы отдельно от этих хранилищ - так как в эти снапшоты попадает много ненужного, содержащегося в своп-файлах.

8. Нужно ли класть vswp-файлы на хранилища, которые развернуты на базе thin provisioned datastore (на уровне LUN)? Ответ на этот вопрос зависит от того, как вы мониторите свободное место на тонких лунах и устройствах своего дискового массива. При создании vswp-файла VMkernel определяет его размер и возможность его создания на уровне хоста ESXi, а не на уровне устройства дискового массива. Поэтому если vswp-файл активно начнет использоваться, а вы этого не заметите при неправильной конфигурации и отсутствии мониторинга тонких томов - то могут возникнуть проблемы с их переполнением, что приведет к сбоям в работе ВМ.


Таги: VMware, vSphere, VMachines, Storage, swap, VMFS, Blogs, ESXi

Мусорные vswp-файлы виртуальных машин на хранилищах VMware vSphere.

Если у вас в виртуальной инфраструктуре большой набор хранилищ, хостов VMware ESXi и виртуальных машин, то легко не заметить один интересный момент - бесполезные vswp-файлы для виртуальных машин, размещенные в папке с ВМ. Выглядят они как <что-то там>.vswp.<номер чего-то там>:

Как видно из картинки, файлы эти не маленькие - размер vswp равен объему памяти, сконфигурированной для виртуальной машины (vRAM) без Reservation для RAM (если есть reservation, то размер vswp = vRAM - Reservation). Так вот эти файлы с номерами - это ненужный мусор. Образуются они тогда, когда хост ESXi падает в PSOD с запущенными виртуальными машинами.

Эти файлы, понятно дело, надо удалить. Для этого удобнее всего использовать PowerCLI:

dir vmstores:\ -Recurse -Include *.vswp.* | Select Name,Folderpath

Пример вывода мусорных файлов vswp с путями:

Ну а дальше сами знаете, что с ними делать.


Таги: VMware, ESXi, Storage, Обучение, vSphere

Залоченные файлы виртуальной машины в VMware vSphere - Could not power on VM: Lock was not free.

При эксплуатации виртуальной инфраструктуры VMware vSphere иногда случается ситуация, когда виртуальную машину нельзя включить из-за того, что ее какой-нибудь из ее файлов оказывается залоченным. Происходит это при разных обстоятельствах: неудачной миграции vMotion / Storage vMotion, сбоях в сети хранения и прочих.

Наиболее распространенная ошибка при этом выглядит так:

Could not power on VM: Lock was not free

Встречаются также такие вариации сообщений и ошибок при попытке включения виртуальной машины, которое зависает на 95%:

  • Unable to open Swap File
  • Unable to access a file since it is locked
  • Unable to access a file <filename> since it is locked
  • Unable to access Virtual machine configuration

Ну а при попытке соединения с консолью ВМ получается вот такое:

Error connecting to <path><virtual machine>.vmx because the VMX is not started

Все это симптомы одной проблемы - один из следующих файлов ВМ залочен хост-сервером VMware ESXi:

  • <VMNAME>.vswp
  • <DISKNAME>-flat.vmdk
  • <DISKNAME>-<ITERATION>-delta.vmdk
  • <VMNAME>.vmx
  • <VMNAME>.vmxf
  • vmware.log

При этом залочил файл не тот хост ESXi, на котором машина зарегистрирована. Поэтому решение проблемы в данном случае - переместить ВМ холодной миграций на тот хост, который залочил файл и включить ее там, после чего уже можно переносить ее куда требуется. Но как найти тот хост ESXi, который залочил файл? Об этом и рассказывается ниже.

Поиск залоченного файла ВМ

Хорошо если в сообщении при запуске виртуальной машины вам сообщили, какой именно из ее файлов оказался залоченным (как на картинке выше). Но так бывает не всегда. Нужно открыть лог vmware.log, который расположен в папке с виртуальной машиной, и найти там строчки вроде следующих:

Failed to initialize swap file : Lock was not free

Тут видно, что залочен .vswp-файл ВМ.

За логом на экране можно следить командой (запустите ее и включайте ВМ):

tail /vmfs/volumes/<UUID>/<VMDIR>/vmware.log

Проверка залоченности файла ВМ и идентификация владельца лока

После того, как залоченный файл найден, нужно определить его владельца. Сначала попробуем команду touch, которая проверяет, может ли бы обновлен time stamp файла, т.е. можно ли его залочить, или он уже залочен. Выполняем следующую команду:

# touch /vmfs/volumes/<UUID>/<VMDIR>/<filename>

Если файл уже залочен, мы получим вот такое сообщение для него:

cannot touch: Device or resource busy

Дальше выполняем такую команду:

# vmkfstools -D /vmfs/volumes/<UUID>/<VMDIR>/<filename>

В значении "owner" мы видим MAC-адрес залочившего файл хоста VMware ESXi (выделено красным). Ну а как узнать MAC-адрес хоста ESXi - это вы должны знать. Дальше просто делаем Cold Migration виртуальной машины на залочивший файл хост ESXi и включаем ее там.

Те, кто хочет дальше изучать вопрос, могут проследовать в KB 10051.

Источник: "Could not power on VM - lock was not free".


Таги: VMware, vSphere, Troubleshooting, Bugs, ESXi

Файлы снапшотов (snapshots) виртуальных машин VMware vSphere 5 и поддерживаемые операции.

О снапшотах виртуальных машин VMware vSphere мы уже много писали (например, можно пискать по тэгу "Snapshot"). Постараемся в этой заметке просуммировать информацию о том, что из себя представляют файлы снапшотов виртуальных машин vSphere 5 и как они обрабатываются.

Для того, чтобы снять снапшот виртуальной машины (virtual machine snapshot), можно кликнуть на ней правой кнопкой в vSphere Client и выбрать соответствующий пункт "Take Snapshot" из контекстного меню:

Далее появится окно снятия снапшота ВМ:

Обратите внимание на опцию "Snapshot the virtual machine's memory". Если эту галку убрать, то снапшот не будет содержать состояние памяти виртуальной машины, т.е. при откате к нему ВМ будет в выключенном состоянии. Плюс такого снапшота - он создается намного быстрее, поскольку не надо сохранять память машины в отдельный файл.

Вторая опция - это возможность "заморозки" файловой системы виртуальной машины на время создания снапшота. Она доступна только при условии установленных в гостевой ОС VMware Tools, в составе которых идет Sync Driver. Эта функциональность нужна для создания консистентного состояния виртуальной машины для снапшота на уровне файловой системы, что особенно необходимо при создании резервных копий (используют все системы резервного копирования для виртуализации, например, Veeam Backup and Replication). Данная возможность (quiesce) поддерживается не всегда - об условиях ее применения можно прочитать тут.

После создания снапшота заглянем в Datastore Browser на хосте VMware ESXi через vSphere Client:

Выделенные зеленым объекты - это абстрации двух снапшотов виртуальных машин. Чтобы понять, что собой представляют эти абстрации, откроем каталог с виртуальной машины в консоли (Putty по SSH):

Здесь мы уже видим, что снапшот на самом деле - это набор из четырех файлов:

  • <имя ВМ>-[шесть цифр]-delta.vmdk - файл данных диска отличий от базового диска
  • <имя ВМ>-[шесть цифр].vmdk - заголовочный файл
  • <имя ВМ>.vmsd - текстовый файл с параметрами снапшота (связи в дереве, SCSI-нода, время создания и т.п.)
  • <имя ВМ>.vmsn - файл с сохраненной памятью виртуальной машины

Самый главный файл - это, конечно, <имя ВМ>-[шесть цифр]-delta.vmdk. Он содержит блоки данных хранимые в формате так называемых redo-логов (он же дочерний диск - child disk). Он же sparse-диск, то есть диск, который использует технологию Copy-On-Write (COW) при работе с данными. Идея технологии copy-on-write — при копировании областей данных создавать реальную копию только когда ОС обращается к этим данным с целью записи. Таким образом, этот виртуальный диск содержит только измененные от родительского диска области данных (delta).

По умолчанию размер COW-операции составляет 64 КБ, что эквивалентно 128 секторам (подробнее). Но сам снапшот растет блоками данных по 16 МБ. То есть запись 64 КБ данных исходного диска может породить прирост 16 МБ данных в диске снапшота.

Следующий интересный тип файла - <имя ВМ>.vmsd. Это обычный текстовый файл, который можно открыть в редакторе и увидеть все отношения между родительским и дочерними дисками, а также другую интересную информацию:

Ну и последнее - это память виртуальной машины, хранящаяся в файле <имя ВМ>.vmsn. Его, понятное дело, может не быть, если вы создавали снапшот выключенной ВМ или убрали галку, о которой написано в самом начале.

По умолчанию снапшоты складываются в папку на VMFS-томе, где лежит виртуальная машина. Но это размещение можно сменить, поменяв рабочую папку (Working Directory) в настройках виртуальной машины через vSphere Client или в vmx-файле, для чего нужно добавить или поменять строчку:

workingDir="/vmfs/volumes/SnapVolume/Snapshots/"

Кстати, эта же папка задает и размещение файла подкачки ВМ (*.vswp). Если вы его хотите оставить на прежнем месте, нужно добавить строчку:

sched.swap.dir = "/vmfs/volumes/VM-Volume1/MyVM/"

Ну и напоследок, какие операции поддерживаются для виртуальных машин со снапшотами:

Операция Требования и комментарии
Storage vMotion Для хостов ESX/ESXi 4.1 или более ранних - не поддерживатся. Для ESXi 5.0 или более поздних - поддерживается.
vMotion Поддерживается. Файлы снапшотов должны быть доступны на целевом хосте. Необходима версия hardware version 4 или более поздняя (ESX/ESXi 3.5 и выше).
Cold migration Поддерживается для хостов ESX/ESXi 3.5 или более поздних.
Fault Tolerance Не поддерживается. Для создания снапшота нужно отключить FT.
Hot clone Поддерживается, но снапшотов не должно быть больше 31 штуки.
Cold clone Поддерживается. Однако целевая ВМ будет без снапшотов.

Более подробную информацию о снапшотах можно найти в KB 1015180.

Ну и небольшая подборка ссылок по траблшутингу снапшотов в VMware vSphere:

И отдельно выделим вот эту потрясающую библию снапшотов: Troubleshooting Virtual Machine snapshot problems.


Таги: VMware, vSphere, Snapshot, Обучение, ESX, ESXi, VMachines, Troubleshooting

Swap to Host cache (Swap to SSD) в VMware vSphere 5.

В новой версии платформы виртуализации VMware vSphere 5 появилась интересная возможность - Host Cache. Это механизм, который позволяет пользователю vSphere 5 выделить определенное место на локальных дисков хост-сервера ESXi (лучше всего, если это будут SSD-диски) для хранения свопируемых страниц памяти виртуальных машин. Это позволяет существенно увеличить скорость работы файлов подкачки виртуальных машин (vswp), так как они находятся на локальных высокопроизводительных дисках, и, соответственно, увеличить общее быстродействие инфраструктуры виртуализации.

Хорошая и развернутая статья о Swap to Host cache в VMware vSphere 5 есть у Duncan'а Epping'а, а здесь мы приведем основные ее выдержки.

Прежде всего, после установки VMware ESXi 5 хост может не увидеть локальные SSD-хранилища как пригодные для хранения кэша виртуальных машин. Для этого есть вот такой хак от Вильяма Лама. Далее мы идем на вкладку Configuration в vSphere Client и выбираем секцию Host Cache Configuration:

Тут мы можем задать объем дискового пространства на локальном томе VMFS, который мы можем использовать для файлов подкачки виртуальных машин, работающих на этом хосте. После включения этой возможности на этом локальном томе VMFS появится куча vswp-файлов, в которые гостевые ОС виртуальных машин этого хоста будут складывать свои свопируемые страницы памяти.

Поскольку эти своп-файлы находятся только на этом хосте, то при миграции vMotion содержимое страниц памяти из этих файлов надо скопировать на другой хост в его Host Cache или в vswp-файл в папке с виртуальной машиной на общем хранилище. Это, само собой, увеличивает время на миграцию vMotion, и это надо учитывать.

Что касается надежности при отказе хост-сервера, то тут нет проблем - так как при отказе хоста все равно его виртуальные машины перезапускаются на других хостах, то данные из файлов подкачки для ВМ уже не будут нужны.

Наблюдать за использованием Host Cache можно из VMware vCenter 5 с помощью метрик "Swap in from host cache" и "Swap out to host cache" (а также "rate..."). В результатах вывода консольной утилиты esxtop это метрики LLSWR/s и LLSWW/s.

Что будет когда место на локальном свопе Host Cache закончится? Сервер ESXi начнет копировать страницы в обычный vswp-файл, который находится в папке с виртуальной машиной, что само собой повлияет на производительность. Кстати, размер Host Cache можно изменять при работающем хосте и виртуальных машинах, поэтому лучше увеличивать его вовремя, да и в целом не доводить до большого свопа виртуальных машин (то есть, правильно сайзить хосты по памяти для ВМ). К примеру, Duncan рекомендует 128 ГБ SSD-диски в RAID-1 для 128 ГБ оперативной памяти хоста.

Альтернатива Host Cache - это задать параметр VM swapfile location для виртуальной машины в ее настройках, указав, например, локальный SATA или SSD-диск (можно использовать и быстрые общие хранилища).


Таги: VMware, vSphere, Storage, ESXi, Performance, Blogs, Enteprise, VMachines

Информация об использовании памяти виртуальными машинами VMware vSphere.

Как обычно, Duncan Epping написал отличный пост об использовании памяти виртуальными машинами на хостах VMware ESX. Постараемся объяснить это на русском языке. Итак, если открыть вкладку Summary в vSphere Client для виртуальной машины, мы увидим вот такую картину:

Здесь есть 2 главных параметра:

  • Memory - это то количество оперативной памяти, которое вы выделили виртуальной машине при создании. За это количество гостевая ОС не выйдет при ее использовании. Это же количество памяти вы увидите в гостевой ОС.
  • Memory Overhead - это количество памяти, которое может потребоваться гипервизору на поддержание работы виртуальной машины сверх используемой памяти (т.е. расчетные накладные расходы на виртуализацию, но не текущие).

Далее мы видим панель Resources, здесь есть такие показатели:

  • Consumed Host Memory - это количество физической памяти хоста ESX, выделенной виртуальной машине. Обычно это значение не больше значения Memory на предыдущей картинке. Но может быть и больше, поскольку Consumed Host Memory включает в себя и Memory Overhead, но не с картинки выше, а реально используемый гипервизором Overhead (о котором будет идти речь ниже). И важный момент - счетчик Consumed для Memory на вкладке "Performance" не включает в себя Overhead.
  • Active Guest Memory - это количество памяти, которое по мнению гипервизора VMkernel активно используется гостевой операционной системой. Вычисляется этот параметр на базе статистических показателей. То есть, если ОС не очень активно использует память, то можно ей ее немного подрезать в условиях нехватки ресурсов.

Теперь идем на вкладку "Resource Allocation". Здесь все немного сложнее:

Появляются вот такие показатели:

Для Host Memory (видим, что это 2187 МБ = сконфигурированная память 2048 МБ + Overhead):

  • Consumed - это, опять-таки, объем потребляемой виртуальной машиной физической памяти хоста ESX (постоянно меняется). И он включает в себя накладные расходы гипервизора по памяти.
  • Overhead Consumption - это текущий объем затрат памяти на поддержание виртуальной машины (здесь 42 МБ в отличие от расчетного в 110 МБ)

А формула такова: Consumed = Private + Overhead Comsumption

Для Guest Memory (2048 МБ сконфигурировано в настройках):

  • Private - это объем памяти физически хранимый хостом для виртуальной машины (см. формулу выше).
  • Shared - это объем памяти, который отдается другим виртуальным машинам от разницы между сконфигурированным объемом (Configured Memory) и потребляемым (Consumed). Суть в том, что ОС Windows при загрузке очищает всю память виртуальной машины, но потом эти пустые страницы приложениями не используются. Поэтому гипервизор отдает их другим ВМ, пока ВМ, владеющая памятью не потребует их. Эти страницы и есть Shared. Как мы видим, Private + Shared = Guest Memory.
  • Swapped - это объем памяти, ушедший в файл подкачки vswp. То есть это не файл подкачки Windows, а файл подкачки в папке с виртуальной машиной. Само собой этот показатель должен быть нулевым или совсем небольшим, поскольку своппинг, который делает ESX (а точнее VMkernel) - это плохо, т.к. он не знает (в отличие от Windows), какие страницы нужно складывать в своп, поэтому кладет все подряд.
  • Compressed - это объем памяти, который получен после сжатия страниц с помощью механизма Memory Compression (то есть, хранимый в VM Compression Cache).
  • Ballooned - это объем памяти, который забрал balloon-драйвер (vmmemctl), чтобы отдать ее другим нуждающимся виртуальным машинам.
  • Unaccessed - это память, к которой гостевая ОС ни разу не обращалась (у Windows - это близко к нулю, так как она обнуляет память при загрузке, у Linux должно быть как-то иначе).
  • Active - опять-таки, активно используемая память на основе статистики гипервизора.

На хорошем и производительном хосте VMware ESX метрики Compressed, Ballooned, Unaccessed - должны быть около нуля, так как это означает что машины не борются за ресурсы (то есть не сжимают страницы и не перераспределяют память между собой). Ну и, конечно, если показатель Active маленький, стоит задуматься об урезании памяти (но сначала посмотрите в гостевую ОС, она лучше знает, чем гипервизор, все-таки).

Ну и последняя секция Resource Settings:

  • Reservation, Limit, Shares, Configured - смотрим сюда.
  • Worst Case Allocation - это сколько будет выделено виртуальной машине при самом плохом раскладе (максимальное использование ресурсов), то есть вся память будет использоваться, да еще и накладные расходы будут (т.е., Configured + максимальный Overhead).
  • Overhead Reservation - это сколько зарезервировано памяти под Overhead гипервизором.

Ну и в заключение очень рекомендую документ "The Yin and Yang of Memory Overcommitment in Virtualization" - как раз для VMware vSphere.


Таги: VMware, vSphere, Memory, ESX, vCenter, Performance, Производительность, Blogs

Memory Ballooning в VMware ESX - некоторые аспекты работы техник Overcommit.

Многим пользователям платформы виртуализации VMware vSphere / ESX известен такой механизм оптимизации работы виртуальных машин с оперативной памятью как Memory Ballooning (о нем хорошо написано в документе "Understanding Memory Resource Management in VMware ESX Server"). Если вкратце - то это техника гипервизора по работе с оперативной памятью, которая позволяет запустить на хосте ESX виртуальные машины, совокупная выделенная память которых больше суммарной памяти хоста.

Достигается это за счет использования драйвера vmmemctl.sys, поставляемого вместе с VMware Tools. Он позволяет "надуть" шар внутри гостевой ОС (balloon), который захватывает физическую память, выделенную этой ОС, и отдает ее другим гостевым операционным системам, которые в ней нуждаются. Этот balloon не позволяет гостевой ОС производить работу приложений с данной областью памяти, поэтому если им потребуется дополнительная память - она будет уходить в гостевой своп. Это более правильный подход, чем свопировать гостевую ОС в файл подкачки vswp на томе VMFS, поскольку операционная система сама лучше разбирается, что и когда ей класть и доставать из свопа (соответственно, быстродействие выше).

Недавно у известного блоггера Дункана Эппинга спросили вот про такой интересный случай. Пользователь запустил команду esxtop на странице с показателями памяти для виртуальных машин и получил вот такой результат:

Собственно, какова ситуация, если смотреть по счетчикам на картинке:

Глобальные статистики:

  • 1393 Free -> Сейчас 1393 МБ физической памяти хоста доступно
  • High State -> Состояние, в котором считается, что хост не испытывает проблем с памятью
  • SWAP /MB 146 Cur -> 146 МБ находится в свопе
  • SWAP /MB 83 Target -> Целевой объем памяти, который должен быть в свопе - 83 МБ
  • 0.00 r/s -> Из свопа ничего не читается
  • 0.00 w/s -> В своп ничего не пишется

Статистики виртуальной машины (обведено красным):

  • MCTLSZ 1307.27 -> Объем физической памяти гостевой системы, заполненной balloon-драйвером - 1307.27 МБ
  • MCTLTGT 1307.27 -> Объем физической памяти гостевой системы, который будет сохарнен balloon-драйвером - 1307.27 МБ
  • SWCUR 146.61 -> В свопе находится 146.61 МБ данных.
  • SWTGT 83.75 -> Целевой объем памяти, который который должен быть в свопе - 83.75 МБ

С одной стороны хост ESX выглядит типично overcommited, то есть balloon-драйвер раздулся. С другой же стороны, сервер VMware ESX находится в состоянии High State, что означает, что свободно более 6% памяти и проблем с ней нет (кроме того, ничего не пишется и не читается из файла подкачки). Казалось бы, здесь есть некоторое противоречие - если у хоста нет проблем с памятью, то почему balloon до сих пор надут и не сдувается?

Посмотрим на соотношение свободной памяти хоста ESX и размер области, занятой balloon'ом: 1393 МБ и 1307.27 МБ, соответственно. Они приблизительно равны. Это означает, что при сдутии balloon'а гостевая ОС, в которой он был надут, начнет отъедать физическую память хоста ESX (да и еще выгружать своп). Это приведет к тому, что объем доступной памяти хоста ESX упадет и он снова окажется в ситуации, когда необходимо снова надувать balloon.

То есть VMware ESX (и драйвер vmmemctl) не делают резких движений, растут и сдуваются постепенно, делая оглядку на то, какая ситуация может получиться.

 


Таги: VMware, ESX, Memory, vSphere, VMachines

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


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

Производительность сервера VMware ESX и виртуальных машин - решение проблем с помощью esxtop и resxtop.

Зачастую бывает необходимо понять причины, по которым та или иная виртуальная машина на сервере VMware ESX испытывает проблемы производительности (тормозит). Можно воспользоваться встроенными графиками производительности VMware vCenter (вкладка Performance), однако этого может оказаться недостаточно. В консольной ОС VMware ESX (Service Console) есть утилита esxtop, которая позволяет отслеживать все аспекты производительности сервера виртуализации, а для VMware ESXi доступна утилита resxtop, которую можно запустить с помощью VMware vSphere Management Assistant.


Таги: VMware, ESX, esxtop, Performance, Производительность, ESXi, vSphere, resxtop

Калькулятор размера LUN под том VMFS для виртуальных машин VMware vSphere.

Интересный калькулятор дискового пространства LUN под том VMFS для виртуальных машин появился на vsphere-land.com.

В целом, достаточно адекватный. Надо помнить, что хранилище виртуальных машин надо расчитывать исходя из общего объема виртуальных дисков VMDK, места под снапшоты, vswp файлы и suspend-файлы vmss. При этом нужно 70% тома VMFS держать свободным на случай использования снапшотов и дисков типа thin (возможность VMware Thin Provisioning). При этом не рекомендуется держать на одном LUN больше 10-15 виртуальных машин. И, конечно же, помните о правиле - только 1 LUN для 1 тома VMFS (не используйте экстенты!).


Таги: VMware, vSphere, VMFS, VMDK, Storage, ESX

Обзор продукта Veeam Monitor для мониторинга серверов VMware ESX / vSphere.

Компания Veeam Software известна своими продуктами для управления и автоматизации виртуальной инфраструктуры VMware VI / vSphere. Флагманский продукт компании Veeam Backup для резервного копирования инфраструктуры виртуализации VMware vSphere уже завоевал популярность не только на Западе, но и в России (банки, телекоммуникационные компании), а вот про Veeam Monitor я хотел бы сегодня рассказать отдельно, потому как это единственное в своем роде качественное средство централизованного мониторинга хостов VMware ESX.


Таги: VMware, Veeam, Monitor, ESX, vSphere

Что такое Transparent Page Sharing на VMware ESX / ESXi и как он влияет на производительность?

Компания VMware имеет проприетарную технологию Transparent Page Sharing в платформе VMware ESX / ESXi, которая позволяет более эффективно расходовать RAM хоста.

Что такое Transparent Page Sharing у VMware ESX / ESXi? Это механизм поиска одинаковых страниц в оперативной памяти гостевой ОС виртуальной машины, при котором в случае нахождения одинаковых страниц, вместо копии вставляется ссылка на оригинальную страницу памяти. Тем самым сокращается необходимое количество RAM на хосте ESX / ESXi.

Компания VMware говорит о том, что механизм Transparent Page Sharing сокращает требуемое количество памяти на хосте ESX / ESXi на величину от 5 до 30 процентов в зависимости от задачи (чем однотипнее задачи в виртуальных машинах – тем больше одинаковых страниц и больше экономия). По умолчанию Transparent Page Sharing включен на хостах ESX / ESXi.

А теперь о недостатках Transparent Page Sharing...
Таги: VMware, ESX, ESXi

 

источник: http://www.vmgu.ru/search/vswp|1

{jcomments on}

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика