Как можно объединить несколько машин в один кластер, чтобы они работали как одна, чтобы запускать несколько виртуальных машин на этой кажущейся единственной машине? [дубликат]

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

В какой операционной системе (ах) это можно сделать? Или какой софт нужен?

10
задан 12 January 2015 в 12:09
3 ответа

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

Для Например, есть кластеры базы данных (скажем, кластеры Oracle RAC или MSSQL), которые только для загрузки базы данных могут быть настроены так, чтобы действовать как один - обычно для повышения производительности и / или устойчивости.

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

Поэтому, когда мы говорим о «кластере», на самом деле мы имеем в виду «кластер, выполняющий xxxxx».

2
ответ дан 2 December 2019 в 22:04

Тип кластера, который отображается как единый Операционная система с большим объемом памяти, несколькими процессорами и может запускать все, что обычно работает в некластеризованной версии этой ОС, называется Единым образом системы . Это берет несколько узлов кластера и делает то, что вы сказали, объединяет их в один экземпляр ОС.

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

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

Если взять одноузловую операционную систему общего назначения, такую ​​как Linux, и преобразовать ее в кластер в стиле SSI, потребуется много переработать внутреннее устройство ядра. Такие концепции, как локальность памяти (см. Также: ), чрезвычайно важны в такой системе, и стоимость переключения процесса на другой ЦП может быть намного выше. Во-вторых, очень важна концепция, которой в действительности нет в Linux, расположение процессора; если у вас многопоточный процесс, то наличие двух процессов, запущенных на одном узле, и двух на другом, может выполняться намного медленнее, чем все четыре, запущенные на одном узле. Операционная система должна выбрать локальный или удаленный выбор для процессов, которые, вероятно, не замечают таких различий.

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

13
ответ дан 2 December 2019 в 22:04

Примечание: я не эксперт в этой теме.

Насколько я понимаю вас, вас интересуют высокопроизводительные компьютерные кластеры (в отличие от других кластерных подходов, таких как High -Доступность или Балансировка нагрузки ). Вы, вероятно, захотите Super -, Grid - или Распределенные -вычисления.

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

Без специального оборудования (см., например, Межсоединение Torus или InfiniBand ) вы ограничены подключением компьютеров через Ethernet (что означает, что вы можете выполнять распределенные или сетевые вычисления). Но не следует забывать или недооценивать разницу в скорости локальной высокоскоростной компьютерной шины в отличие от Ethernet!

Теперь вопрос, следует ли вам стремиться к грид- или распределенным вычислениям, во многом зависит от задач, которые вы хотите выполнить. С таким узким местом, как Ethernet, сетевые или распределенные вычисления имеют значение только для тактов / приложений, которые не должны быть очень отзывчивыми и должны выполнять очень ресурсоемкие задачи. Что (в широком смысле дисквалифицирует любое приложение, не имеющее научного характера. Кроме того, приложение, вероятно, должно быть запрограммировано таким образом, чтобы оно могло в полной мере использовать преимущества распределенной природы своего хоста.

Если вам все еще интересно, , вот список совместимых операционных систем: Единый образ системы

3
ответ дан 2 December 2019 в 22:04

Теги

Похожие вопросы