Есть ли способ запустить операционную систему Linux на виртуальной машине, которая объединяет ресурсы физических машин в локальной сети и действует как единый суперкомпьютер? Если возможно, как?
Спасибо.
Я думаю, вы бы посмотрели на что-то вроде LVS или кластера beowolf;
"Виртуальный сервер Linux - это высокомасштабируемый и высокодоступный сервер, построенный на кластере реальных серверов. Архитектура кластера серверов полностью прозрачна для конечных пользователей, и пользователи взаимодействуют с кластерной системой, как если бы это был всего лишь один высокопроизводительный виртуальный сервер ».
"Одно из основных различий между Beowolf а кластер рабочих станций (COW) заключается в том, что Беовульф ведет себя больше как одна машина, чем как множество рабочих станций ».
На самом деле, что бы вы ни использовали, вы столкнетесь с проблемами распределенных вычислений, которые заключаются в одновременном доступе к данным и поддержании согласованности между узлами. Как правило, это приводит к тому, что другой плакат упомянул, что более подходящими являются некоторые более конкретные технологии, такие как распределенные файловые системы или реализации сетки.
Возможно, да. То есть можно запустить операционную систему Linux на нескольких компьютерах и представить их как единую логическую систему с объединенными физическими ресурсами.
Это самая легкая часть, но как это сделать - немного сложнее. Чего именно вы хотите добиться?
Чтобы сохранить букву вопроса, я хотел бы изучить создание инфраструктуры для представления единой логической системы. OpenSSI. SSI означает единый образ системы.
В соответствии с духом, существует широкий спектр доступных не SSI, но кластерных системных параметров, что возвращает нас к моему предыдущему вопросу о предполагаемом результате.
Небольшое предупреждение: для большинства кластерных решений, включая OpenSSI, перед выпуском требуется значительная часть разработки ядра. В результате получается «законченный» продукт, основанный на более старом ядре, чем, возможно, доступно для выбранного вами бескластерного дистрибутива Linux. OpenSSI, например, в настоящее время использует ядро Linux 2.6.12.
MOSIX (и openMosix) можно было бы использовать для этого, но я не знаю его текущего состояния.
Как уже упоминалось, OpenMOSIX, OpenSSI и (не упомянуто) Kerrighed представляют собой кластеры изображений одной системы, то есть они создают иллюзию одной большой системы SMP. Это отлично подходит для параллельных задач, которые порождают несколько процессов с минимальным взаимодействием и небольшим объемом дискового ввода-вывода, поскольку балансировка нагрузки распределяет их по разным узлам. Я не уверен в статусе этих проектов, OpenMOSIX мертв, а OpenSSI кажется менее динамичным, с множеством застойных веб-страниц.
Ищите кластер одного образа системы
Единый образ системы [wikipedia.org]
Лично я собираюсь попробовать OpenSSI. Он имеет: пространство одного процесса, один корень, одно пространство ввода-вывода и одно пространство IPC.
Я не знаю ваш бюджет, но покупка старых сетевых коммутаторов / карт Infiniband снизит вашу задержку между узлами (все еще не слишком дешево). Помните, что вы можете протестировать различные сценарии на виртуальных машинах, прежде чем реализовывать их на реальном оборудовании.