Соображения при выделении памяти ВМ

Вернее — одно из соображений. Самое простое для понимания. 
Другие моменты выделения памяти (избыточного выделения) тесно связаны с процессором, поэтому их в данную статью включать не буду.

Итак, приступим.
Каждое новое поколение серверов поддерживает все больше и больше оперативной памяти. И при каждом новом релизе гипервизора повышаются конфигурационные максимумы как хоста, так и виртуальной машины.

 В частности данные по оперативной памяти гипервизора ESXi следующие:
Параметры виртуальных машин 
 ESXi 5.5 
 ESXi 6.0 
 ESXi 6.5 
Оперативной памяти (RAM) на хост
4 ТБ
12 ТБ
12 ТБ
RAM на ВМ
1 ТБ
4 ТБ
6 ТБ
Как изменялись другие параметры можно узнать в статье Изменение основных максимумов виртуальной инфраструктуры от VMware vSphere 5.5 до 6.5.
Эти максимумы труднодостижимы в части реальной потребности сервисов. И совершенно нетрудно поддаться эйфории и вообразить что максимумы где-то там, высоко-высоко. В облаках. А сюда еще примешиваются и тезисы виртуализации «гибкость, масштабируемость».
И создается обманчивое впечатление что виртуальной машине можно добавить много, очень много ресурсов. В пределах имеющихся на хосте, конечно же.

Не так страшно когда заказчик попадается на уловку «безграничности виртуальных ресурсов» и «выкатывает» нереально высокие требования к ВМ. Гораздо хуже когда махать шашкой и раздавать ресурсы, в данном случае RAM, начинает администратор vmware. Это справедливо и в части vCPU, но сейчас мы поговорим именно про оперативную память.

Возьмем типичный пример. Миграция сервиса из физической инфраструктуры в виртуальную. Причина миграции: в том числе и в недостаточности оперативной памяти на физическом сервере. Сервер старый, ограниченное число слотов для планок памяти. Да и быстродействие памяти не мешало бы повысить. Решение — переезд в облако (ну то есть виртуализация сервера). И тогда должно наступить счастье. Составили план миграции, выделили окно, осуществили миграцию. Назначили ВМ 64 Гб ОЗУ (как того хотел заказчик) и …. счастье не наступило. Стали разбираться в чем дело.
А дело в том, что сервис, который был виртуализирован, работал на ОС Windows 2008 R2 Standart. Которая поддерживает только 32 Гб ОЗУ. И внутри ВМ мы видим следующее:

 

И по моему мнению именно администратор vmware должен был сказать: «Никаких 64 Гб — ВАША операционная система столько не поддерживает.»
И когда администратор vmware получает техзадание на создание ВМ с нуля то он также должен прежде всего продумывать как ВМ будет функционировать в его виртуальной инфраструктуре. Ибо заверяя заказчика что: «Да, я могу дать машине 64 или даже 128 Гб ОЗУ» он берет на себя определенные обязательства.
А дать 64 Гб никто не мешает:
Проблемы всплывут уже позже, когда сервис упрется в лимит операционной системы.
Поэтому администратор vmware должен знать не только лимиты vmware, но и лимиты операционных систем. И не забывать про них.
Информация о лимитах доступна на сайте Microsoft — Memory Limits for Windows and Windows Server Releases

Более компактный вид привожу здесь.

 

Версия  X86  X64
Windows 10 Pro, Education, Enterprise
4 GB    2 TB  
Windows 10 Home 4 GB 128GB
Windows Server 2016 Standard, Datacenter 24 TB
Windows 8 Professional, Enterprise  4 GB 512 GB
Windows 8 128 GB
Windows Server 2012 Standard, Datacenter 4 TB
Windows Server 2012 Essentials 64 GB
Windows Server 2012 Foundation 32 GB
Windows Storage Server 2012 Workgroup 32 GB
Windows Storage Server 2012 Standard 4 TB
Hyper-V Server 2012 4 TB
Windows 7  Professional, Enterprise, Ultimate 4 GB 192 GB
Windows 7 Home Premium 4 GB 16 GB
Windows 7 Home Basic 4 GB 8 GB
Windows 7 Starter 2 GB N/A
Windows Server 2008 R2 Enterprise, Datacenter 2 TB
Windows Server 2008 R2 Foundation 8 GB
Windows Server 2008 R2 Standard 32 GB
Windows HPC Server 2008 R2 128 GB
Windows Web Server 2008 R2 32 GB
Windows Server 2008 Enterprise, Datacenter 64 GB 1 TB
Windows Server 2008 HPC Edition 128 GB
Windows Server 2008 Small Business Server,
Web Server, Standard
4 GB 32 GB
Windows Vista Business, Enterprise, Ultimate 4 GB 128 GB
Windows Vista Home Premium 4 GB 16 GB
Windows Vista Home Basic 4 GB 8 GB
Windows Vista Starter 1 GB
Windows Server 2003,
2003 R2 Enterprise, Datacenter
 64 GB
(16 with 4GT) 
1 TB
Windows Server 2003
Windows Server 2003 R2 Standard Edition
4 GB 32 GB
Windows XP 4 GB 128 GB   
Windows XP Starter Edition 512 MB N/A

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Добро пожаловать в блог IT-пилот

Введите Ваш Email чтобы подписаться

Подписка оформлена!