Допустим, у нас есть 2 сервера, один у нас-запад, а другой у нас-восток. Можно ли было бы их объединить в один сервер.
* один сервер, как в: общий ssh, я могу управлять двумя серверами с одного и того же ssh-соединения и общего хранилища, я могу получить доступ и к обоим из одного ftp-клиента. (Например, глобальный / домашний каталог)
Исследования оставили мне только: ssh: Как настроить доверенный ssh. Для общего пространства: только в локальных сетях, что мне в этом особо не помогает.
Итак, вопрос: возможно ли это вообще? Или мне лучше оставить их такими, какие есть.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не являюсь экспертом и никогда не использовал распределенные файловые системы или операционные системы. На самом деле никогда не чувствовал, что мне нужен какой-либо из них, и не хотел дополнительных накладных расходов, связанных с их обслуживанием. Но я читал о них. Итак, это мои два цента.
Я могу управлять 2 серверами с одного и того же ssh-соединения
С технической точки зрения, по определению должно быть две связи. SSH не является протоколом многоадресной рассылки. Однако это можно сделать, если вы захотите переключиться на распределенная операционная система (например, Inferno). Вы бы достигли своей цели, подключившись по SSH к сетевым адаптерам одной из машин и позволив изменениям, сделанным на одной машине, распространяться на другую машину, используя протоколы синхронизации операционной системы.
Теперь, если это кажется слишком большим (что вполне может быть), вы жестяная банка настроить общие каталоги (используя nfs
, например. Я бы рекомендовал против samba
по соображениям безопасности). Общий SSH на самом деле не имеет особого смысла, хотя вы можете использовать нестандартный SSH-клиент, который отправляет команды SSH сразу нескольким клиентам, из которых есть несколько простых для Google параметров (включая multissh
среди многие другие).
Строка поиска "управлять несколькими машинами одновременно по ssh" меня куча полезных хитов на duckduckgo.
Или мне лучше оставить их такими, какие есть.
Упомянутый выше материал multi-ssh не повлечет за собой каких-либо потерь производительности и не требует специальной конфигурации серверов, поэтому, если вы хотите начать использовать один из этих инструментов, нет причин не делать этого, но
сетевые файловые системы замедлят работу. Производительность файловой системы сильно зависит от задержки ввода-вывода, и самые высокие задержки ввода-вывода происходят из сети. В настоящий момент, когда один из этих серверов хочет получить файл, ему нужно только получить доступ к общему диску через высокоскоростное соединение в том же центре обработки данных (читай: в том же здании). Если вы распределяете файловую систему по двум машинам, то их синхронизация всегда будет требовать, чтобы пакеты перемещались по ненадежным каналам на всем пути по стране. Даже при условии идеального соединения и при условии отсутствия задержки обработки пакетов каждый раз это займет несколько дополнительных миллисекунд (из-за физических ограничений скорости света). Обычно, если вы собираетесь использовать общий файловый ресурс или распределенную файловую систему, вы хотите ограничить это машинами в одном здании. В противном случае задержка станет серьезно раздражающей проблемой.
Распределенная операционная система может быть хорошей идеей, а может и не быть. Во-первых, AFAIK ни одна из них не широко используется или широко нацелена в качестве поддерживаемых платформ для программного обеспечения, поэтому вам нужно принять тот факт, что любая программа, которую вы хотите запустить, вероятно, не будет работать на выбранной вами операционной системе. Для приложений научных вычислений - если вы ожидаете выполнения большого количества вычислений, которые можно разбить на кучу независимых ресурсоемких подзадач, не требующих большого взаимодействия, - распределенная операционная система - отличная идея. Однако, опять же, вы также можете сделать это с компьютерами в одном центре обработки данных. Или просто используйте одну машину, которая вдвое мощнее.