8 мин

Узлы виртуализации надо покупать по модели отказа

Узлы виртуализации рассчитывают по нагрузке после отказа, сроку докупки и лицензиям, чтобы не переплачивать за рост и не терять резерв.

Узлы виртуализации надо покупать по модели отказа

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

Количество узлов нельзя вывести из одной цифры vCPU. Нужны фактическое потребление процессора и памяти, профиль хранения, размер крупнейшей виртуальной машины, время поставки, цена лицензий и допустимое время деградации. После этого вопрос «три или четыре?» превращается в проверяемую финансовую модель, а не в спор двух администраторов.

Покупайте отказоустойчивость сразу, а рост по мере спроса

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

Сначала зафиксируйте, какой отказ вы вообще обещаете пережить. Для обычного кластера в одном зале это часто потеря одного вычислительного узла, то есть N+1. Для двух стоек с независимым питанием расчетным событием может стать потеря целой стойки. Для распределенной площадки это уже отказ сайта, и простое добавление еще одного сервера задачу не решает. У каждого сценария свой набор одновременно недоступных процессоров, памяти, сетевых портов и копий данных.

Не смешивайте резерв на отказ и резерв на рост. Первый отвечает на вопрос, продолжит ли система работать сегодня после поломки. Второй показывает, когда придется расширяться при росте бизнеса. Если объединить их в условные «30 процентов запаса», никто не поймет, какую часть разрешено потребить новой нагрузкой. Через год весь запас роста уйдет, а администратор продолжит считать его аварийным.

Я использую три отдельных показателя:

  • аварийная емкость, которую нельзя занимать плановой нагрузкой;
  • эксплуатационный зазор для пиков, миграций и фоновых операций;
  • емкость роста, у которой есть дата или измеримый триггер закупки.

Два узла с внешним свидетелем могут образовать корректный кластер в некоторых стеках, но это не делает их удобной базой для роста. При обслуживании одного узла вся нагрузка остается на втором, а следующая неисправность останавливает сервис. Руководство Proxmox VE прямо говорит, что для высокой доступности надежный кворум требует как минимум трех узлов. Microsoft допускает двухузловые отказоустойчивые кластеры, но рекомендует свидетель кворума: он дает решающий голос и предотвращает одновременную работу двух разделившихся частей. Эти утверждения не противоречат друг другу. Кворум решает, кто имеет право работать, а расчет емкости решает, есть ли на чем работать.

N+1 не покрывает одновременное плановое обслуживание и еще один отказ, если вы обязаны сохранять полный сервис в обоих событиях. Для такой договоренности нужен N+2 либо заранее согласованное окно повышенного риска. Я не покупаю второй резерв автоматически: сначала проверяю, можно ли перенести обслуживание на часы низкой нагрузки, временно остановить некритичные задачи и быстро вернуть узел. Но если обновление занимает сутки, площадка удаленная, а простой запрещен, расчет должен удалить два узла и повторить все проверки размещения. Укажите отдельно, относится ли SLA к обычному режиму, одному отказу и режиму обслуживания. Иначе поставщик посчитает N+1, эксплуатация будет ожидать N+2, а разницу команда обнаружит во время первого обновления прошивки.

Считайте нагрузку после отказа, а не в штатном режиме

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

Для однородного кластера с отказом одного узла базовая проверка выглядит так:

CPU_after_failure = (nodes - 1) × physical_cores_per_node × target_cpu_utilization
RAM_after_failure = (nodes - 1) × (installed_ram - host_reserve) × target_ram_utilization
fit = workload_peak_cpu <= CPU_after_failure
   and workload_peak_ram <= RAM_after_failure

target_cpu_utilization не надо брать из чужой презентации. Выберите предел, при котором ваши приложения еще укладываются в задержку и окно пакетной обработки во время аварии. Для одного кластера это будет 65 процентов, для другого 80. Значение должно опираться на нагрузочный тест или историю метрик, а не на универсальное правило.

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

С памятью обратная ошибка встречается чаще: команды рассчитывают на такой же высокий коэффициент переподписки, как у CPU. Активную память, резерв гостевой ОС, большие страницы, NUMA и гарантии критичных ВМ нельзя свести к установленному объему. Если платформа использует динамическую память, берите пик фактического выделения плюс доказанный зазор. Не считайте дедупликацию или сжатие аварийной емкостью, пока не измерили их на своем наборе данных.

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

Собирайте метрики с интервалом, который видит короткие пики. Пятиминутное среднее может спрятать минутную очередь CPU или всплеск задержки, уже заметный пользователю. Одновременно слишком мелкий интервал создает шум и заставляет покупать сервер ради единичного выброса. Сохраните исходный ряд, посчитайте несколько интервалов агрегации и свяжите пики с журналом задач. Для сезонного бизнеса одного месяца мало: захватите закрытие года, приемную кампанию, массовые платежи или другой период, который определяет ваш максимум. Если ждать сезон нельзя, выделите неподтвержденную часть как отдельный риск и назначьте ранний пересмотр, а не выдавайте неполные данные за точный прогноз.

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

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

Возьмем кластер, где один узел имеет 1 ТБ памяти, а остальные три по 512 ГБ. Если на большом узле работают две ВМ по 420 ГБ, ни один малый узел не примет даже одну из них с прежним резервом. Общий свободный объем по кластеру может выглядеть достаточным, но память нельзя собрать с трех хостов для одной ВМ. Решение состоит не в еще одном проценте запаса, а в одинаковом размере узлов, уменьшении ВМ либо явном плане ее восстановления на другом профиле.

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

У гиперконвергентной системы вычислительный резерв связан с хранением еще жестче. Удаление узла одновременно убирает CPU, RAM, диски и путь к части данных. Затем начинается восстановление избыточности, которое повышает нагрузку на оставшиеся узлы. Поэтому расчет N+1 должен включать состояние «узел потерян, данные восстанавливаются». Спокойных десяти минут после автоматического перезапуска ВМ для проверки недостаточно.

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

Наконец, определите режим после отказа. «Сервис продолжает работать» может означать полный пик без изменений, временное ограничение фоновых задач либо работу одного критичного контура. Я допускаю управляемую деградацию, если владелец сервиса заранее подписал список отключаемых задач и максимальную длительность. Молчаливое ожидание, что пользователи как-нибудь потерпят, это не план емкости.

Четыре узла нужны там, где три проходят только в норме

Числовой пример быстро отделяет аварийный резерв от красивой диаграммы. Допустим, замеры показали пик рабочей нагрузки 58 эквивалентных физических ядер и 960 ГБ фактически выделенной памяти. Это условный проектный пример, а не типовой профиль. Каждый узел содержит 32 физических ядра и 512 ГБ RAM; 32 ГБ памяти оставляем хосту, целевую загрузку CPU после отказа ограничиваем 70 процентами, а используемую память хоста 80 процентами от остатка.

Один доступный узел дает 22,4 расчетного ядра и 384 ГБ рабочей памяти. У трехузлового кластера после отказа остаются два узла: 44,8 ядра и 768 ГБ. Он не проходит ни по CPU, ни по RAM. Четырехузловый кластер после такого же отказа оставляет три узла: 67,2 ядра и 1152 ГБ. Он проходит с зазором 9,2 ядра и 192 ГБ.

Сверка дает три коротких результата:

  • CPU: после отказа три узла оставляют 44,8 ядра, четыре узла оставляют 67,2 ядра при требовании 58;
  • RAM: после отказа три узла оставляют 768 ГБ, четыре узла оставляют 1152 ГБ при требовании 960 ГБ;
  • итог: трехузловая схема не проходит, четырехузловая проходит по обоим ограничениям.

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

Теперь проверим крупнейшую ВМ. Если ей нужно 448 ГБ гарантированной памяти, она помещается на узел с 480 ГБ после резерва хоста, но оставляет всего 32 ГБ для соседей. План размещения должен показать, куда уйдут остальные ВМ с отказавшего хоста. Возможно, придется поставить 768 ГБ на каждый узел, хотя суммарный расчет с 512 ГБ формально проходит. Именно поэтому таблица сумм идет перед симуляцией размещения, а не заменяет ее.

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

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

Цена ожидания выходит за пределы стоимости сервера

Понятная цепочка поставки узлов
Собственное производство в Казахстане дает прозрачность комплектации обеих очередей.
Узнать о решениях

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

Для каждой очереди я считаю две суммы:

buy_now = hardware_now + licenses_now + support_now + power_and_space
buy_later = hardware_later + licenses_later + integration_later
          + expected_shortage_cost + compatibility_risk

expected_shortage_cost =
    probability_capacity_exhausted_before_delivery
    × business_cost_of_restrictions_or_downtime

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

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

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

Срочная докупка редко повторяет первый узел байт в байт. Через 18 месяцев поставщик может заменить процессор, сетевую карту или накопитель. Даже совместимая модель потребует новой прошивки, проверки микрокода и повторного теста производительности. Заложите инженерные часы и окно изменений. Если закупочные правила требуют нового конкурса, календарный риск может быть важнее ожидаемой скидки на железо.

В итоге полезна не одна цифра окупаемости, а граница решения. Например: четвертый узел покупаем сейчас, потому что он нужен для N+1; пятый откладываем, пока прогнозная нагрузка после отказа не достигнет 75 процентов доступной CPU-емкости или 80 процентов памяти с учетом срока поставки. Порог должен оставлять время пройти закупку до исчерпания резерва.

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

Поэтапная закупка работает только с подготовленной совместимостью

Отложенный узел дешевле сегодня лишь тогда, когда его можно без переделки включить завтра. Спецификация первой очереди должна описывать допустимый профиль будущего узла, сетевые порты, лицензии, место в стойке, питание и правила совместимости процессоров. Фраза «добавим такой же» устаревает раньше, чем приходит следующий бюджет.

Для CPU заранее определите общий набор инструкций, который разрешен виртуальным машинам. Разные поколения процессоров часто могут жить в одном кластере через режим совместимости, но новые инструкции останутся недоступны части или всем ВМ. Если приложение покупают ради конкретного ускорения или если база лицензируется по ядрам, более новый процессор меняет сразу производительность и стоимость. Проверьте матрицу гипервизора и производителя сервера до фиксации модели, а не во время монтажа.

Для памяти сохраните симметричную раскладку каналов и понятный путь расширения. Узел с наполовину заполненными слотами может казаться предусмотрительным, но будущие модули нужной емкости и ранга не всегда совместимы с установленными. Иногда дешевле сразу поставить целевой объем на четыре узла, чем позже заменить весь комплект модулей. Это решение надо считать по спецификации платформы, не по общей емкости DIMM.

Сеть и стойка обычно выдают непродуманную поэтапность. Зарезервируйте порты на обоих коммутаторах, адреса управления, оптические модули, кабели, блоки питания, розетки и тепловой бюджет. Если для пятого узла придется менять коммутатор, то «один сервер позже» на деле становится отдельным инфраструктурным проектом.

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

Хорошая спецификация второй очереди описывает функцию, а не один артикул:

  • минимальную полезную CPU-производительность по согласованному тесту;
  • объем и схему RAM, включая размер крупнейшей ВМ;
  • сетевые скорости, протоколы и требуемые резервные пути;
  • совместимые накопители, контроллеры и версии прошивок;
  • предел лицензируемых ядер, сокетов или узлов.

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

Лицензирование может сделать лишнее железо самым дорогим

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

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

Broadcom в статье базы знаний о лицензировании VMware vSphere указывает оплату каждого физического ядра и минимум 16 ядер на процессор. Там же приведена формула MAX(cores_per_socket, 16) × hosts × sockets. Следствие для поэтапной закупки простое: четвертый односокетный узел с 32 ядрами добавляет 32 лицензируемых ядра с момента ввода. Если купить сервер сейчас, но включить лицензию позже нельзя по условиям конкретного договора, стоимость ожидания растет. Условия подписки и коммерческого предложения надо проверить отдельно, потому что техническая формула не определяет срок оплаты и скидку.

У Proxmox VE другая геометрия: официальная страница подписок считает занятые физические сокеты, а не ядра, и требует подписку для каждого узла кластера; уровень подписки в кластере должен совпадать. Односокетный сервер с большим числом ядер поэтому может быть выгоднее по подписке гипервизора, чем два менее плотных узла. Но плотность увеличивает объем нагрузки, который исчезает при отказе, и может поднять стоимость программ, лицензируемых по ядрам. Экономия одной строки не должна менять модель отказа незаметно.

Microsoft Product Terms для Windows Server 2025 при лицензировании физических ядер устанавливает минимум 8 лицензий на процессор и 16 на сервер. Полностью лицензированный Standard дает права на две виртуальные OSE, а каждый следующий набор лицензий на все ядра сервера добавляет еще две; Datacenter разрешает любое число OSE на полностью лицензированном сервере. Поэтому хост, на который Windows-ВМ переедут при отказе, нельзя считать бесплатным резервом. Его права должны покрывать фактический пик запускаемых экземпляров. Документ Microsoft о виртуализации отдельно предупреждает, что лицензии физических ядер нельзя свободно переставлять между серверами на короткий срок.

Для Windows Server доступно лицензирование по виртуальным машинам при подписке или активной Software Assurance: Microsoft указывает минимум восемь лицензий ядер на ВМ и 16 на клиента. Такой вариант может сохранить смысл поэтапного расширения при небольшом количестве Windows-ВМ, но его надо сравнить с физическим лицензированием на ваших числах. Для плотного кластера Datacenter часто становится понятнее в эксплуатации, однако границу определяют цены договора и число одновременно работающих OSE, а не популярное правило из блога.

SQL Server добавляет еще один слой. Текущее руководство Microsoft требует при лицензировании ВМ по модели Per Core не меньше четырех лицензий ядер на каждую виртуальную OSE и активную Software Assurance либо подписку. Enterprise с лицензированием всех физических ядер и соответствующими правами может разрешать неограниченную виртуализацию, но тогда каждый потенциальный хост базы резко увеличивает лицензионную базу. Иногда пятый узел для общего кластера стоит меньше самой базы лицензий, которую надо на него распространить. В таком случае выделенный кластер баз или правила, запрещающие их запуск на части хостов, экономят больше, чем отсрочка железа.

Слои удобно записать четырьмя строками:

  • гипервизор считает ядро, сокет или узел, поэтому новый хост меняет метрику своей физической конфигурацией;
  • гостевая ОС считает физические ядра либо vCPU и ВМ, поэтому важны права на аварийный запуск;
  • база данных считает физическое или виртуальное ядро, а цену меняют разрешенные места запуска ВМ;
  • поддержка и управление считают узел, сокет или нагрузку, часто начиная с даты подключения объекта.

Эта таблица не заменяет лицензионную консультацию. Она не дает продавцу спрятать увеличение метрики в общей цене проекта. Окончательное право задают договор и актуальные Product Terms, а не калькулятор архитектора.

Холодный запас на складе редко заменяет работающий узел

Совместимый профиль будущего сервера
Зафиксируем требования к CPU, памяти, сети и прошивкам для последующего расширения.
Обсудить проект

Сервер в коробке сохраняет совместимость партии и не требует части эксплуатационных лицензий до ввода, если договор это допускает. За это он платит временем восстановления и неизвестным состоянием. Администратор узнает о дефектном модуле, устаревшей прошивке или неполном комплекте в день аварии, когда на проверку меньше всего времени.

Работающий резерв участвует в кластере каждый день. Он получает обновления, проходит мониторинг, принимает ВМ во время обслуживания и подтверждает, что сеть, хранилище и автоматика действительно работают. Холодный запас дает только детали. Чтобы заменить отказавший узел, команда должна установить сервер, привести прошивки к совместимой версии, настроить сеть, зарегистрировать его в управлении, подключить хранилище и проверить политики. Срок этой процедуры должен укладываться в RTO, иначе запас не решает заявленную задачу.

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

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

Компромиссный вариант состоит в том, чтобы держать дополнительный узел включенным, но ограничить на нем обычную нагрузку. Это облегчает тесты и обслуживание, хотя не освобождает от лицензий, питания и поддержки. Я предпочитаю равномерно распределять ВМ по всем узлам и сохранять логический резерв через admission control: так каждый сервер работает, а система все равно запрещает занять аварийную емкость. Отдельный «пустой» хост часто стареет незаметно и первым ломается при реальной миграции.

Триггер расширения надо подписать вместе со спецификацией

Решение «докупим потом» закончено только тогда, когда известны метрика, порог, срок реакции, бюджетный владелец и допустимая замена модели. Без этого мониторинг покажет нехватку, но закупка начнется после исчерпания резерва. Триггер должен смотреть вперед как минимум на полный срок согласования, поставки и ввода.

Рассчитайте дату заказа от прогнозной нагрузки после отказа:

order_threshold =
    failure_capacity
    - growth_rate_per_month × procurement_and_installation_months
    - forecast_error_margin

Если после отказа доступно 67,2 расчетного ядра, текущий подтвержденный пик равен 58, рост составляет 1 ядро в месяц, а закупка и ввод занимают четыре месяца, ждать 67 ядер нельзя. Даже без ошибки прогноза заказ нужен не позднее 63 ядер. При малом зазоре из примера решение, скорее всего, надо запускать сразу либо снижать рост за счет миграции и оптимизации.

Порог по CPU не отменяет пороги по RAM, хранилищу, сетевым портам и лицензиям. Заказ запускает первый достигнутый показатель. Я фиксирую еще два события: появление ВМ, которая не помещается ни на один узел после резерва, и окончание гарантированного окна совместимости текущей модели. Они могут потребовать закупку раньше, чем средняя загрузка.

В документе решения должны остаться пять ответов:

  1. Какой одновременный отказ выдерживает первая очередь и при каком пике?
  2. Какая нагрузка временно ограничивается после отказа?
  3. Какая лицензия оплачивается сразу, а какая при вводе следующего узла?
  4. Какой измеримый порог и кто запускает закупку?
  5. Какая конфигурация допустима, если исходная модель снята с поставки?

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

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

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

FAQ

Сколько узлов нужно для кластера виртуализации?

Минимум определяет не название гипервизора, а выбранный сценарий отказа и нагрузка после него. Для N+1 берите столько узлов, чтобы после потери одного оставшиеся держали подтвержденный пик по CPU, RAM, хранению и сети с эксплуатационным зазором.

Можно ли начать с двух узлов и добавить третий позже?

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

Что означает запас N+1 в виртуализации?

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

Какой процент свободной мощности оставить в кластере?

Универсального процента нет. Отдельно держите емкость отказавшего узла, измеренный зазор для пиков и резерв роста; пределы CPU и RAM подтвердите тестом на своих приложениях.

Нужно ли покупать резервный узел сразу?

Если без него кластер не выдерживает согласованный отказ на текущем пике, покупать его надо в первой очереди. Узел, нужный только для будущего роста, можно отложить при заранее подготовленных портах, лицензиях, совместимости и триггере заказа.

Чем холодный резерв хуже включенного узла?

Холодный сервер не участвует в автоматическом перезапуске и впервые проходит полную проверку в момент аварии. Он подходит только там, где ручной ввод укладывается в RTO и команда регулярно тестирует оборудование и процедуру.

Как лицензии Windows Server влияют на число хостов?

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

Почему нельзя считать кластер по сумме vCPU?

vCPU показывает назначенную параллельность, а не фактическое потребление физических ядер. Для емкости используйте временные ряды CPU и задержки, а vCPU оставьте для проверки планировщика, размеров ВМ и лицензий.

Когда запускать закупку следующего узла?

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

Стоит ли делать все узлы одинаковыми?

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