У меня есть около четырех или пяти машин в эпоху Pentium 3-4, и я заинтересован в создании сервера Linux, состоящего из этих машин. Основными целями сервера будут размещение нескольких веб-сайтов/сервисов с низким и средним трафиком (голосовые и игровые), а также обмен терабайтами данных в локальной сети.
Я, вероятно, мог бы собрать один современный компьютер в качестве сервера и закончить на этом, но мне интересно использовать эти машины для этого вместо этого. С чего бы мне начать в этой настройке кластера/облака?
решение1
Для статического веб-контента будет достаточно простой балансировки нагрузки. Если у вас есть ориентированный на сеансы трафик (корзина покупок, игры, может быть, что-то еще), то вам нужно либо сохранять сеансы липкими, либо предусмотреть возможность миграции сеансов между серверами в кластере.
Начните изучать балансировку нагрузки и узнайте больше о ваших конкретных приложениях.
Кстати, я бы не назвал это облаком. Часть его, вероятно, будет веб-фермой. «Кластер» обычно относится к отказоустойчивости, если только вы не занимаетесь HPC (высокопроизводительными вычислениями). Возможно, вам захочется потратить некоторое время на изучение терминологии, даже если это просто хобби.
решение2
Как отметил пользователь mfinni, для обслуживания веб-страниц (или выполнения других серверных задач, таких как БД, DNS и т. д.) будет достаточно простого кластера с балансировкой нагрузки и репликацией.
Однако если вы действительно хотите, чтобы все ваши компьютеры работали вместе как один большой компьютер, вам нужно создать так называемый единый системный образ (SSI): кластер машин, работающих как одна машина.
Для Linux я знаю только LinuxPMI (ранее известный как OpenMosix), OpenSSI, Kerrighed и ScaleMP (последний не является open-source). Я никогда не использовал ни один из них, я знаю их только потому, что меня всегда интересовал этот вид «обратной виртуализации» (или «виртуализации для агрегации», как ее называет ScaleMP).
Надеюсь, что это помогает и удачи.
С уважением, МВ