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

Кластеризация Linux

Я собираюсь запустить свой собственный простой кластер. Я хочу, чтобы мои узлы запускали операционную систему вне сети (сетевая загрузка), поскольку у них нет жесткого диска для хранения операционной системы. (Кстати, меня интересует Ubuntu). Я установил идеальный DHCP-сервер - сервер сетевой загрузки и tftp, и он отлично работает. В качестве теста я загрузил все узлы с помощью Ubuntu LiveCD !!!!!

Пока все в порядке, но вот мой вопрос: поскольку мне нужны эти узлы для параллельного программирования, у меня должны быть предустановленные приложения, которые я написал. LiveCD Ubuntu не имеет их (как и любой другой Linux-дистрибутив liveCD).

Могу ли я создать свой собственный загрузочный образ Ubuntu, в котором установлена ​​моя конфигурация? если да, как я могу это сделать?

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

Вы не сказали, сколько узлов было. Для небольшого числа, то есть менее 20, я бы просто nfs смонтировал ваш каталог программного обеспечения или программное обеспечение push / pull, используя mercurial или некоторые распределенные vcs (или просто http в случае двоичного развертывания) и установил несколько ssh без ключа. Затем просто запустите распространяемое программное обеспечение как обычно. Если вас беспокоит работа, связанная с установкой узлов, посмотрите на кикстарт или некоторые другие методики установки, связанные с сетевой загрузкой. В любом случае, вероятно, не стоит тратить время на полную загрузку по сети, если у вас не намного больше узлов или просто из вашего собственного любопытства.

Есть большое совпадение между тем, что вы пытаетесь сделать, и LTSP. Видеть (https://help.ubuntu.com/community/UbuntuLTSP/). Вы могли бы, вероятно, следовать руководствам LTSP, а затем добавить свои настройки в обслуживаемый образ или просто поместить что-то в файловую систему сервера и поделиться этим.