Назад | Перейти на главную страницу

Объедините несколько физических серверов в 1 виртуальный сервер

Текущая виртуализация разделяет один большой физический сервер на более мелкие виртуальные серверы. Но можно ли объединить несколько физических серверов в 1 виртуальный сервер?

ОБНОВЛЕНИЕ: у нас есть несколько разных систем, которым требуется собственный сервер для выполнения задач с интенсивным использованием ЦП. Что мы пытаемся сделать, так это создать 2 виртуальных сервера, распределенных на 6-8 серверов меньшей емкости. Программное обеспечение для виртуализации, которое мы исследовали, включает 1 большой физический сервер и делится на 2-3 сервера меньшей емкости.

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

Эта идея утопична?

Вы описываете кластерные вычисления (например, Google «Beowulf Cluster»). Он ведет себя не совсем так, как вы описываете (то есть он не будет претендовать на роль одной ОС, и вам понадобится какой-то планировщик / диспетчер заданий, чтобы указать, какие машины запускать какие процессы, если вы не специально написанный ваш код для использования библиотек MPICH чем-то похож на автоматическое распространение по всем машинам).

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

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

Без подробностей о том, что вы пытаетесь сделать, трудно дать более точный совет.

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

Я не уверен, что понимаю ваш вопрос (похоже, он не связан с виртуализацией - похоже, вы говорите о консолидации ролей?).

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

Если технически возможно объединить функциональность 10 физических машин в одну физическую (и это не нарушит чего-то важного, например требований безопасности / соответствия), то вы, безусловно, можете сделать это и в виртуальной среде.

Вы хотите объединить их функции \ роли в одну ВМ? Да, потенциально. Как заявил Chopper3, расскажите нам, что у вас есть и чего вы пытаетесь достичь, и мы посмотрим, сможем ли мы вам помочь.

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

Я знаю известные мне решения (обратите внимание, что они предназначены только для Linux): LinuxPMI / OpenMosix, OpenSSI, Kerrighed и ScaleMP. Все с открытым исходным кодом, кроме ScaleMP. У меня нет опыта использования ни одного из них.

Вы можете прочитать очень старое сравнение первых трех в: http://hal.inria.fr/inria-00070604/en/

С уважением, М.В.

Вы не можете сделать это прозрачно - я никогда не видел в Linux прозрачной распределенной системы с общей памятью, которая делала бы это полностью в фоновом режиме. Все системы DSM на базе Unix или Linux, о которых я когда-либо слышал, требуют, чтобы программа была связана с библиотекой.

Если ваше приложение может быть кластеризовано, вы можете просто запускать серверы как узлы кластера, в противном случае вам, возможно, придется купить сервер большего размера. К счастью, в наши дни это не так уж и дорого и, вероятно, намного дешевле, чем попытки модифицировать параллелизм в существующем приложении (если это возможно даже с вашими приложениями).