Выберите ваш город

Как выбрать сервер для виртуализации

15.04.2022
15 мин на чтение
17539

Ранее в нашем блоге выходила статья с советами по выбору виртуалки и про ценообразование хостинг-провайдеров. Но не всем подходят облачные решения из-за проблем с функционалом, конфиденциальностью и безопасностью. Тогда компании принимают решение создать своё — родное, куда никто не залезет и ничего не испортит. Об этом и поговорим :) 

Эта статья подойдет всем, кто решил создать или модернизировать собственную IT-инфраструктуру для виртуализации. Здесь будут конкретные советы по подбору физического сервера виртуализации, но без углублений в софт. 

Что такое виртуализация серверов

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

Сервер, который разбивается на виртуалки, называется хост-машиной (шкатулка), а виртуальные машины, которые получились в результате, называются гостевыми машинами (все внутренние отсеки)

Во главе всего процесса находится гипервизор, который бывает нескольких видов: 

  • Гипервизор 1-ого типа — bare-metal или аппаратный гипервизор (Xen, KVM, ESXi)


Между виртуальной машиной и железом сервера только одна прослойка — гипервизор

  • Гипервизор 2-ого типа — хостовый гипервизор (VMware Workstation, OpenVZ)


Между виртуальной машиной и железом сервера две прослойки — операционная система и гипервизор

Существует ещё 3-ий — гибридный тип, но о нём ходит много споров, так что не буду перегружать вас ненужной информацией.

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

Проще говоря, системный администратор — это мастер по дереву, а гипервизор — его инструмент, с помощью которого он вытачивает шкатулку и определяет, какого размера будут внутренние отсеки, сколько их будет, из какого дерева и материалов будет шкатулка.

Преимущества виртуализации серверов

Глоссарий VMware выделяет следующие основные преимущества виртуализации серверов:

  • Уменьшение времени простоев серверов;

  • Удешевление обслуживания серверов;

  • IT-инфраструктуру можно сделать меньше и проще;

  • Лёгкое клонирование и перенос ВМ;

  • Ускоренное развертывание рабочих нагрузок.

Зачем нужна виртуализация серверов

 

Виртуализация серверов позволяет эффективнее использовать IT-инфраструктуру. В своей статье “Как выбрать сервер для 1С” я делал вкусную аналогию между виртуализацией и пиццей :) Она очень наглядна и легка в восприятии, поэтому я не буду изобретать каменную печь, а сделаю схожее сравнение.

5 причин, для чего нужна виртуализация серверов:

1) Чтобы сэкономить

Пицца

Виртуализация

Заказать большую пиццу на компанию всегда выгоднее по деньгам, чем несколько маленьких каждому по отдельности.

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

 

2) Чтобы использовать разные среды

Пицца

Виртуализация

Есть пиццы, которые совмещают сразу несколько начинок, например “4 сезона”.

На одной тестовой основе делают 4 любых вкуса: мясная, веганская, с томатным соусом, со сливочным, острая и т.д.

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

Например, Windows и Linux запущенные на одном сервере.

 

3) Чтобы изолировать пользователей, их действия и данные друг от друга

Пицца

Виртуализация

Пицца, заказанная на компанию, не мешает вам взять любой кусок, достать из него весь лук и оливки, залить табаско, обмакнуть в майонез и съесть. И никто не запретит вам разрезать кусок на две части поделиться ещё с кем-то.

 

На других кусках это никак не скажется.

Виртуализация позволяет изолировать пользователей друг от друга. Они могут хранить важные персональные данные и делать всё что угодно, хоть развернуть виртуализацию внутри виртуализации.

 

Другие пользователи даже не узнают об этом, так как все виртуалки полностью изолированы друг от друга.

 

4) Чтобы не было простоев мощностей

Пицца

Виртуализация

Представьте, что вам очень захотелось любимой пиццы (легко, правда?), но она диаметром 50 см — слишком большая, чтобы съесть одному. Вам хватит всего 3-4 кусочка из 8, чтобы наесться от пуза.

 

К сожалению, остальным кускам придётся лежать в холодильнике до завтра, что не добавит баллов ко вкусу.

Виртуализация позволяет избежать простоя мощностей, когда, например, из 100% возможностей сервера используется лишь небольшая часть.

 

Например, 10% ресурсов сервера выделены под почту, 30% под базы данных, а оставшиеся 60% под терминальный сервер.

 

5) Чтобы равномерно распределить нагрузку между несколькими серверами

Пицца

Виртуализация

Например, вы голодны и заказали две пиццы по 25см каждую — себе и ребёнку. Свою съели быстро и не наелись, а ребёнок так объелся, что больше ходить не может :) Логичнее было бы разделить пиццы соразмерно голоду, а не покупать одинаковые пиццы под разные потребности.

Виртуализация позволяет избежать неравномерного распределения нагрузки, когда, например, один сервер загружен на 20%, а два соседних в стойке на все 100% (и ещё куча задач в очереди).

 

Надеюсь, вы не сильно проголодались, так что давайте двигаться дальше :)

Как выбрать сервер под виртуальные машины


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

А нам этого не надо, правда?


“Сервер” в коробке из-под обуви. Без комментариев.

Чтобы сэкономить, многие компании перепрофилируют оборудование, которое покупалось под другие задачи: ПК или старые серверы. Однако у этого подхода есть значительные минусы:

  • ПК не рассчитаны на беспрерывное обслуживание большого количества пользователей;

  • ПК и серверы, купленные под другие задачи, могут не подойти под будущий вертикальный рост (возможность заменить комплектующие на более мощные или добавить ещё ресурсов);

  • Маломощный процессор и малый объем памяти ухудшают производительность ВМ;

  • Недостаточное количество оперативной памяти ограничивает максимальное количество ВМ.

Для начала надо проработать задачу, определить, какой сервер нужен, а уже потом смотреть, подойдёт ли ваше оборудование. Тесты позволяют выявить слабые места уже через неделю-месяц.

Железо (bare metal) для виртуализации


Bare metal сервер от Dell

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

Бюджетные модели не могут похвастаться хорошей вертикальной масштабируемостью. Поэтому оптимальный сервер для виртуализации — это среднебюджетная модель в форм-факторе 2U и больше. Желательно в пределах двух последних поколений. При этом современные 1U серверы с SSD также отлично подойдут. 

Например:

ПОДБОРКА СЕРВЕРОВ ДЛЯ ВИРТУАЛИЗАЦИИ

Dell PowerEdge R750 12LFF
CPU:
2x Intel Xeon
Gold 5315Y (8C 12M Cache 3.2GHz)
2x Intel Xeon Gold 5315Y (8C 12M Cache 3.2GHz)
RAM:
2x 16GB DDR4
RDIMM 3200MHz Dell
2x 16GB DDR4 RDIMM 3200MHz Dell
RAID:
RAID Dell H745 (4GB+BBU)
БП:
DELL 1100W Hot-Plug x2
Net:
2 port 1Gb/s
(Integrated)
2 port 1Gb/s (Integrated)
HDD:
noHDD (до 12 HDD 3.5'' LFF)
HPE ProLiant DL380 Gen11 16SFF
CPU:
2x Intel Xeon
Bronze 3408U (8C 22.5M Cache 1.80 GHz)
2x Intel Xeon Bronze 3408U (8C 22.5M Cache 1.80 GHz)
RAM:
2x 16GB DDR5
RDIMM 4800MHz (Поддержка до 8TB максимально, 32 DIMM портов)
2x 16GB DDR5 RDIMM 4800MHz (Поддержка до 8TB максимально, 32 DIMM портов)
RAID:
HPE MR216i-p Gen11 (ZM)
БП:
HP 800W
Net:
4 port 1Gb/s
RJ-45 (Integrated)
4 port 1Gb/s RJ-45 (Integrated)
HDD:
noHDD (до 16 HDD 2.5'' SFF)
% выгодное предложение % выгодно
Dell PowerEdge R640 8SFF
CPU:
2x Intel Xeon
Gold 6154 (18C 24.75M Cache 3.00 GHz)
2x Intel Xeon Gold 6154 (18C 24.75M Cache 3.00 GHz)
RAM:
8x 16GB DDR4
RDIMM 2933MHz (Поддержка до 3Тб максимально, 24 DIMM портов)
8x 16GB DDR4 RDIMM 2933MHz (Поддержка до 3Тб максимально, 24 DIMM портов)
RAID:
RAID Dell H730p (2GB+BBU)
БП:
DELL 1100W x2
Net:
4 port 1Gb/s
(Integrated)
4 port 1Gb/s (Integrated)
HDD:
noHDD (до 8 HDD 2.5'' SFF)

Если говорить о железе, то на производительность ВМ больше всего влияет четыре параметра: CPU, RAM, дисковая подсистема и сетевой адаптер.

Процессор для сервера виртуализации (CPU)


На рынке есть два основных игрока: Intel и AMD. Что касается производительности, если сравнивать процессоры в приблизительно одном ценовом сегменте, то ситуация очень схожа. В рамках нескольких поколений каждый вендор перетягивает одеяло на себя. Постоянно выходят новые линейки, которые надо тестировать, чтобы выявить однозначного лидера. В некоторых задачах и тестах лучше Intel, в других — AMD; выбор чем-то напоминает святые сражения под Купертино между пользователями Android и iOS. 

ВАЖНО! На базе Intel бóльший выбор моделей серверов, в том числе восстановленных, которые выигрывают в цене у новых без потерь в надёжности. Недавно Intel сильно опережала своего конкурента в корпоративном сегменте, а потому моделей серверов на AMD намного меньше в предыдущих поколениях. Сейчас же картина более-менее выравнивается, но нужно учитывать, оптимизацию вашего софта и рекомендации компании-разработчика.

Если говорить о новейших поколениях, то AMD сделала занятную страницу на своем сайте, где можно оценить TCO (Total Cost of Ownership — совокупная стоимость владения) серверной виртуализации на Intel Scalable и AMD EPYC. Результат не в пользу Intel, но другого и не ожидаешь от сайта конкурента :) Но процессоры EPYC действительно показывают отличное соотношение цена-производительность в последних поколениях.

Для аппаратного ускорения виртуализации конкурирующие вендоры разработали проприетарные технологии, которые реализованы разными способами, но по функционалу почти не отключаются:

  • AMD предлагает пользователям технологию AMD-V (Virtualization Technology), Vi;

  • У Intel схожая технология называется Intel VT (Virtualization Technology), VT-x, VT-d и VT-c

Если ситуация у вендоров схожая, что выбрать? 

  1. Совет по выбору бренда CPU: Выбирайте тот же бренд процессора, на котором уже работает ваша IT-инфраструктура. Монобрендовые системы зачастую работают эффективнее из-за хорошей совместимости. Выстраивайте виртуализацию, опираясь на конкретные функции, которые хотите реализовать, а не из привязки к бренду. 

  2. Совет по характеристикам CPU: Если вы ограничены в пространстве под IT-инфраструктуру, то берите процессоры с большим количеством ядер и высокой тактовой частотой . Но учитывайте, что они дороже и больше греются. Если же главное — это производительность ВМ, то тактовая частота важнее, чем количество ядер. Чем больше ядер, тем больше виртуалок можно сделать. 

  3. Совет по распределению vCPU (виртуальный процессор с одним ядром): Консервативное правило, которое используют админы — 1 vCPU на 1 виртуальную машину. Не предоставляйте ВМ слишком много vCPU по умолчанию. Во-первых, вы ограничите себя в максимальном количестве виртуальных машин на физическом сервере. Во-вторых, нужно проводить тесты, которые покажут: действительно ли этому приложению нужно несколько ядер; действительно ли оно постоянно использует мощность процессора. Те же SQL-серверы требуют больше ядер, чем почтовые, файловые или радиус серверы. 

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

Оперативная память для сервера виртуализации (RAM)


У сервера должен быть достаточный объем оперативной памяти для ОС/гипервизора, каждой виртуальной машины и приложений , установленных на ВМ. Зачастую памяти для виртуализации нужно много. И лучше иметь запас 30% (можно и больше). 

Совет по выбору серверной RAM: Производители брендовых серверов определяют/одобряют конкретных вендоров оперативки, чьи продукты поддерживаются. Вставить первую попавшуюся не получится (за редкими исключениями). Из-за ограниченного выбора сильно не разгуляешься, а глобальной разницы между планками от разных производителей нет. Это скорее вопрос цены, совместимости и надёжности (например, у некоторых есть пожизненная гарантия). Поэтому выбор вендора RAM — не такой важный вопрос, как при выборе процессоров, которые влияют чуть ли не на всю IT-инфраструктуру. 

Совет — ответьте на 6 вопросов перед покупкой серверной RAM:

  1. DDR3 или DDR4? В конце 2021 года начался плавный переход на DDR5, поэтому смотреть в сторону DDR3 не советую;

  2. Сколько в материнской плате сервера слотов под DRAM?

  3. Сколько будет процессоров, и сколько каждый из них поддерживает памяти?

  4. Модули будут устанавливаться по 2, 3 или 4?

  5. Какая частота памяти?

  6. RDIMM или LRDIMM? 

Седьмым пунктом надо бы поставить объем RAM, но он кратно отличается для разных виртуальных рабочих нагрузок, поэтому не существует однозначных рекомендаций в этом вопросе. Но самое главное — не допустить нехватки памяти, иначе обделённые ВМ будут чаще обращаться к накопителю, что значительно снизит производительность ОС и приложений. Так что запас в 30% необходим, чтобы гипервизор в пределах ограничений мог динамически распределять доступный объем RAM между виртуалками. 

Совет по распределению vRAM: Даже если у хостовой машины большой объем оперативной памяти, не стоит выделять виртуалкам больше, чем требуется. Протестируйте, сколько в действительности нужно пользователю и (или) приложениям для нормальной работы. Например, рядовым пользователям, которые будут работать в офисных приложениях, таких как Windows 10 и пакет MS Office, вряд ли понадобится больше 4-5 ГБ оперативной памяти. Если выделите им 16 ГБ, лучше не станет.

Накопители


Да, SSD-накопители для виртуализации — лучший выбор из-за минимальных задержек и высоких скоростей, особенно в требовательных к дисковой подсистеме задачах, таких как высоконагруженные базы данных. Но цена на серверные SSD, мягко говоря, кусается. Несколько классических SAS HDD — неплохой выбор при ограниченном бюджете, если организовать RAID-массив с увеличенной скоростью чтения. 

Совет по типу накопителей:

  1. Избегайте SATA HDD для виртуализации — их производительности недостаточно в большинстве современных задач. Единственный сценарий использования SATA HDD — у вас нетребовательные к скорости чтения/записи задачи, а где-то в серверной лежат диски без дела. RAID 10, 30 или 50 подтянут их скорость;

  2. Определитесь: SSD или SAS HDD, смешивать и взбалтывать не нужно. Некоторые берут SSD для хостовой ОС и HDD для гостевых. В других задачах — это неплохое решение, чтобы получить высокую производительность при минимальных затратах, но не в нашей. Быстрый SSD хоста просто будет ждать, пока медленные HDD на виртуалках занимаются операциями ввода-вывода.

Сетевой адаптер


 

Неважно, локальная, гибридная или глобальная сеть у вас организована; сетевая карта с одним гигабитным портом может стать бутылочным горлышком . Для нормальной производительности и скорости работы смотрите в сторону 2 или 4-портовых сетевых плат. В 90% случаев хватает скорости в 1 Гбит/c, но если рабочие нагрузки требуют огромных скоростей, то берите 10 Гбит/c адаптер.

Совет по отказоустойчивости: Для некритичных ВМ и небольших инсталляций можно использовать одну сетевую карту, но учтите, что одна карта — одна точка отказа. Если хотите добиться высокой доступности для критически важных ВМ, нужен ещё один адаптер для избыточности.

Выводы

В этой статье я поговорил о физическом сервере для виртуализации, но не менее важный аспект — правильно подобрать и настроить софт. Однако тема настолько обширная, что не уместилась бы в рамки этой статьи.

Подытожим: не всем подходит хостинг, поэтому они выбирают собственный сервер для виртуализации. Иногда под эту задачу адаптируют уже существующую инфраструктуру. Она либо не подходила изначально, либо устарела со временем, что становится проблемой.

Если бюджет не позволяет взять новые серверы, есть способ сэкономить — купить восстановленные серверы Dell, HPE и Lenovo. Они в среднем дешевле на 30%, но показывают отличную производительность и надёжность, а мы дадим гарантию 5 лет. Если у вас остались вопросы, задавайте нашим менеджерам.

ОБРАТИТЬСЯ К КОНСУЛЬТАНТУ ЗА ПОМОЩЬЮ В ПОДБОРЕ СЕРВЕРА

Автор

СЕРВЕР МОЛЛ

Поделиться
Комментарии
(2)
Артём
23.04.2024
Здравствуйте. Не раскрыта тема соотношения vCPU и физический ядер CPU при выборе CPU. Какие тут могут быть рекомендации?
СЕРВЕР МОЛЛ:
Здравствуйте, спасибо за вопрос, постараюсь кратко, не зная вашей задачи. Главный параметр, на который нужно смотреть при ручной настройке — требования ваших конкретных гостевых приложений на хосте. Какой-то общей формулы нет, так как все приложения, их комбинации и характер нагрузки имеют разные требования: где-то нужно больше физических ядер (на ВМ это vCPU соответственно), где-то частота будет играть большую роль, иногда объём и тип кэша решает, а при HPC может понадобиться всё вместе. Если приложение не требует многопоточности, то оно может работать и с одним vCPU, а добавление дополнительных vCPU будет только увеличит накладные расходы. В этом плане помогает динамическое масштабирование vCPU. Оно есть во всех популярных платформах для виртуализации и гипервизорах: KVM, ESXi, XenServer и Proxmox. Этот функционал позволяет подстраивать количество vCPU под текущую нагрузку на систему. Советую обратить на него внимание :) Также упомяну, что современные серверные x86 процессоры поддерживают одновременную многопоточность: Hyper-Threading у Intel и Simultaneous Multithreading у AMD. Это позволяет каждому физическому ядру эмулировать несколько виртуальных ядер (как правило, два). Поэтому аппаратные характеристики CPU повлияют на максимальное количество vCPU, которые хост сможет эффективно обслуживать. Так что чем больше физических ядер у вашего CPU, тем больше vCPU вы сможете эффективно развернуть. Учтите, что в некоторых задачах многопоточность может улучшить производительность, а в других — ухудшить из-за конкуренции за ресурсы. Вы всегда можете обратиться к нашим менеджерам, которые подберут оптимальный CPU (или несколько) под вашу конкретную задачу.
Евгений
05.04.2024
Спасибо за статью. А что насчёт NVMe накопителей и объединения их в RAID?
СЕРВЕР МОЛЛ:
Евгений, добрый день! Серверы и СХД актуальных поколений почти всех брендов поддерживают объединение NVMe SSD накопителей в RAID разных уровней. Можно подобрать решение для улучшения отказоустойчивости и/или производительности. Вы всегда можете обратиться к нам чат или по телефону, сориентируем по конкретным моделям, исходя из бюджета и ваших задач.
Написать комментарий
Поля, отмеченные *, обязательны для заполнения

Больше статей

Подписаться на новости

Нажимая кнопку «Подписаться», я даю согласие
на обработку и хранение персональных данных и принимаю соглашение
icon-recall
Отправить ТЗ
client consultations icon-delivery discount icon-facebook franchise icon-google_plus it-solutions icon-jivosite icon-menu icon-up icon-message payment icon-recall shops-local shops-network icon-solutions icon-support tasks icon-twitter Group 8 icon-user icon-viber icon-vk icon-watsup icon-watsup-2
Мы используем файлы 'cookie', чтобы обеспечить максимальное удобство пользователям.