Веб-сервер на Raspberry Pi. Внедрение

Продолжение. Ссылка на первую часть.

Часть 2.

В прошлой статье о «малиновом» компьютере я обрисовал предпосылки для того, чтобы попробовать рассмотреть всерьёз игрушечное железо. Сегодня я хочу рассказать о первом опыте построения сервера.

Задача-минимум заключается в том, чтобы понять, сможет ли такой сервер в долгосрочной перспективе нести на себе мой блог. Причём делать это уверенно, не зависая и не ломаясь, не теряя драгоценные байты информации.

Ну а в качестве задачи-максимум я вижу построение распределённого отказоустойчивого облачного сервиса на базе Raspberry Pi и предоставление хостинга для всех своих нужд. Сегодня подобные серверы работают, пожалуй, только бизнес-сегменте, и ценник за виртуальный хостинг на них начинается от 2000 рублей в месяц. При цене «железа» малины это означает полную окупаемость двух независимых серверов в течение 3-5 месяцев.

В тот момент, когда я пишу эти строки, задача-максимум уже решена, реализована, и сейчас проходит тестирование и настройку. Разумеется, чем сложнее сервис, тем больше настроек нужно покрутить, чтобы добиться желаемого.

А теперь отвечу на вопрос, почему именно «Малина», а не INTEL NUC и другие.

Причины

  1. Сообщество. Я не являюсь заядлым линуксоидом, поэтому большую часть вопросов я могу только сформулировать и направить в Интернет, Всемирному Разуму. На сегодняшний день малиновых устройств было продано более 12,5 млн. штук. Поэтому я всерьёз могу рассчитывать на то, что практически любую задачу из тех, с которой я столкнусь, кто-то уже благополучно решил. Помимо двух сравниваемых устройств, существует еще много одноплатных компьютеров, как ARM (Banana Pi, Orange Pi), так и классической архитектуры. И все они были отложены на время именно по этой причине.
  2. Готовый пакет программ. Любая платформа имеет свои нюансы, связанные с драйверами, чипсетом, аппаратной реализацией. Было бы глупо полагать, что, накатив дистрибутив свежей «Убунту» на NUC, я получу готовый компьютер со всеми работающими сетевыми картами, блютусами и вайфаями. Скорее всего, половину драйверов пришлось бы где-то искать. Я же намеревался сосредоточиться именно на изучении настроек для хостинга, и ничего лишнего. Я думаю, многим знакома такая проблема в изучении информатики: приходишь первый раз в школу, готовый изучать компьютеры, а тебе дают бумажку и ручку, и на первые пару лет ты увязаешь в алгоритмах. На эти грабли натыкаться не хотелось. На Raspberry Pi всё ПО устанавливается из образа и за несколько минут настраивается автоматически. Из коробки мы получаем готовую операционную систему. 
  3. Габариты. Несмотря на действительно небольшие размеры, NUC немного проигрывает Распберри, который позиционируется как «компьютер размером с кредитку». Питание осуществляется от разъема USB. Правда есть и недостаток: плата поставляется без корпуса, его нужно докупать за деньги.
  4. Цена. Действительно, ценник на Интел начинается с той же суммы, что и на малину. Но, к сожалению, тут калифорнийский гигант немного схитрил. За эти деньги мы имеем компьютер без жесткого диска и без памяти. А это еще некоторые вложения.

Получаем существенный перевес на стороне устройства, задуманного создателями, как детский конструктор.

Железо

В самом начале эксперимента я обкатывал различные операционные системы на имеющейся в наличии плате Raspberry Pi 2 model B, купленной когда-то по случаю. И уже на этом этапе стало понятно, что, во-первых, чипы серьёзно греются, и во-вторых, её мощности всё равно не хватает.

Для «боевой» конфигурации мы с товарищем закупили два одинаковых Raspberry Pi 3B Plus, самой топовой модели на момент написания статьи. На борту 4-х ядерный процессор 1,2 ГГц, память 1ГБ, Wi-Fi (пока отключен за ненадобностью), Bluetooth (тоже отключен).

Поскольку ждать не хотелось, мы отдали за каждый экземпляр по 4000р, сразу купили к каждой плате корпус и комплект радиаторов. В корпусе был предусмотрен вентилятор. Товарищу еще пришлось докупить блок питания, поэтому итоговый ценник получился довольно конский. Но, повторюсь, это только потому, что не хотелось ждать. В Китае комплект стоит от 3000р за всё, включая карту памяти.

Идея покупки двух одинаковых серверов заключается в том, чтобы синхронизировать на них всё программное обеспечение и сайты, разместив их физически в разных концах города, получив таким образом модель распределенного дата-центра.

Причем для этого не придётся даже устанавливать никаких дополнительных программ. Первоначальный функционал заложен в саму основу Интернета – систему DNS-серверов. У регистратора доменного имени можно указать два или несколько разных IP адресов, и запросы будут распределяться между ними по принципу Round Robin, то есть в ответ на каждый новый запрос станет выдаваться следующий сервер, по кругу.

Принцип Round Robin имеет определенные недостатки. Но для начала эксперимента – самое то. Процесс установки и настройки я постараюсь подробно описать в следующих статьях.

Ну а в данный момент можете протестировать мой блог (он работает только с моего сервера), а также сайт без-паники.рф, который находится на этом распределённом «дата-центре». Средняя загрузка процессора составляет не более 5 процентов, доходя до 15 только в те моменты, когда происходит резервное копирование данных.

Вывод

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

Поделиться

Добавить комментарий