Transparent Page Sharng (TPS) будет отключена по умолчанию в VMware vSphere 6
Технологии Transparent Page Sharing (TPS), которая по-умолчанию используется в VMware vSphere, нет будущего. Напомним, что TPS - это механизм поиска и удаления дубликатов страниц памяти в целях экономии физического пространства RAM (вместо самой дублирующейся страницы хранится ссылка на нее).
Технология потеряла актуальность, когда вовсю стали применяться большие страницы памяти (Large Memory Pages), для которых размер страницы равен 2 МБ, а значит вероятность появления двух полностью одинаковых страниц очень низка.
Ну вот и пришло время эту технологию отключать. На днях компания VMware выпустила статью базы знаний "Security considerations and disallowing inter-Virtual Machine Transparent Page Sharing", в которой заявляется о том, что в будущих релизах платформы виртуализации VMware vSphere функции TPS будут по умолчанию отключены (хотя и доступны).
Это во многом связано с тем, что TPS (помимо негативного влияния на производительность хоста) - это еще и потенциальный источник проблем, связанных с неавторизованным доступом к данным оперативной памяти. Эти моменты основаны на аналитическом исследовании, выводы из которого опубликованы в статье базы знаний "Additional Transparent Page Sharing management capabilities in ESXi 5.5 patch October 16, 2014 and ESXi 5.1 and 5.0 patches in Q4, 2014 (2091682)".
Вот когда TPS будет отключен в VMware vSphere:
- ESXi 5.5 Update release – Q1 2015
- ESXi 5.1 Update release – Q4 2014
- ESXi 5.0 Update release – Q1 2015
- VMware ESX 6.x и более поздние версии
Более подробно о проблемах с TPS написано вот в этой статье на блогах VMware.
Если же вы хотите отключить этот механизм уже прямо сейчас, то нужно сделать следующее:
- Залогиниться на ESX\ESXi или vCenter Server через vSphere Client.
- Выбрать нужный хост и зайти на вкладку Configuration, затем перейти в Advanced Settings в секции Software.
- Выбираем раздел Mem и в нем устанавливаем значение параметра Mem.ShareScanGHz в 0.
После патча и обновлений ESXi механизм TPS можно будет включить следующим образом (Advanced Settings в секции Software):
- Параметр Mem.ShareForceSalting (включение TPS на уровне всего хоста ESXi). Если значение стоит 0 - то значит TPS по-прежнему работает на хосте, если 1 - механизм отключен.
- Параметр sched.mem.pshare.salt (ставится на уровне ВМ) позволяет включать/отключать TPS для отдельных виртуальных машин (например, старые Windows или линуксы - для них можно было бы включить). Когда параметр ShareForceSalting установлен в значение 1, то для нуждающихся в TPS машин в их Advanced Configuration нужно установить одинаковые значения "соли". Без этого TPS не работает - соответственно, он отключен