Linux кластеризация
Я собираюсь запустить свой собственный простой кластер. Я хочу, чтобы мои узлы запускали операционную систему вне сети (сетевая загрузка), поскольку у них нет жесткого диска для хранения операционной системы. (Кстати, меня интересует Ubuntu). Я установил идеальный сервер DHCP - сервер сетевой загрузки и TFTP и работает отлично. В качестве теста я загрузил все узлы, используя Ubuntu LiveCD!!!!!
Пока все хорошо, но вот мой вопрос: так как я хочу эти узлы для параллельного программирования, у меня должны быть предустановленные приложения, которые я написал. LiveCD Ubuntu не имеет их (ни один другой дистрибутив Linux LiveCD).
Могу ли я создать свой собственный образ Ubuntu, который является загрузочным и установил мою конфигурацию? если да, как я могу это сделать?
3 ответа
Существует большое совпадение между тем, что вы пытаетесь сделать, и LTSP. Смотрите ( https://help.ubuntu.com/community/UbuntuLTSP/). Возможно, вы могли бы следовать руководствам LTSP, а затем добавить свои настройки к обслуживаемому образу или просто поместить объекты в файловую систему серверов и поделиться ими.
Вы можете сделать это, но я бы не стал. Вместо этого я хотел бы, чтобы все машины монтировали свои файловые системы с центрального NFS-сервера, и вы можете запускать все оттуда. Тогда обновление программного обеспечения примерно в миллион раз легче.
Вы не сказали, сколько узлов было. Для небольшого числа, то есть менее 20, я бы просто nfs смонтировал ваш программный каталог или программное обеспечение push/pull, используя mercurial или несколько распределенных vcs (или просто http в случае бинарного развертывания), и установил бы некоторый ssh без ключа. Затем просто запустите ваше распределенное программное обеспечение как обычно. Если вы беспокоитесь о работе, связанной с установкой узлов, посмотрите кикстарт или некоторые другие методологии установки, связанные с загрузкой по сети. В любом случае, вероятно, не стоит тратить время на то, чтобы пройти весь маршрут загрузки по сети, если у вас не будет много узлов или просто для вашего собственного любопытства.