пятница, 15 декабря 2017 г.

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

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

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

В частности данные по оперативной памяти гипервизора 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 Home4 GB128GB
Windows Server 2016 Standard, Datacenter-24 TB
Windows 8 Professional, Enterprise 4 GB512 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, Ultimate4 GB192 GB
Windows 7 Home Premium4 GB16 GB
Windows 7 Home Basic4 GB8 GB
Windows 7 Starter2 GBN/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, Datacenter64 GB1 TB
Windows Server 2008 HPC Edition-128 GB
Windows Server 2008 Small Business Server,
Web Server, Standard
4 GB32 GB
Windows Vista Business, Enterprise, Ultimate4 GB128 GB
Windows Vista Home Premium4 GB16 GB
Windows Vista Home Basic4 GB8 GB
Windows Vista Starter1 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 GB32 GB
Windows XP4 GB128 GB   
Windows XP Starter Edition512 MBN/A

Комментариев нет:

Отправить комментарий