Вступление
Этот проект получил большой отклик в интернете, и впоследствии я сильно его обновил и создал Mark II.
Но не хочу обойти стороной и забыть Mark I. Ниже опишу основные характеристики и дам ссылки на 3D модели для печати с рекомендациями.
Для начала стоит сказать, а зачем вообще понадобился сервер Raspberry Pi? Дело в том что Raspberry Pi используют архитектуру ARM, а не привычную пользователям ПК и ноутбуков x86-64. ARM набирает всё большую популярность из-за распространения мобильных устройств (где используют в основном именно ARM), высокой эффективности, малого энергопотребления и тепловыделения. Производительность вплотную приблизилась к аналогам на x86-64. Взять хотя бы новый iPad. Ожидается что Apple перейдет на свой процессор на архитектуре ARM в будущих ноутбуках. Ну вы поняли.
А под другую архитектуру нужно перекомпилировать приложение или даже разработать с нуля. И как ни странно — полноценные серверные решения на ARM платформе на данный момент очень сырые, говорю это со знанием дела.
Стоит оговориться, что возможна эмуляция ARM на x86-64, но мы тут же сталкиваемся с падением производительности и, к сожалению, никакая эмуляция не будет идеальна. Часто то, что работает на эмуляторе не запустится на реальном устройстве с ARM процессором.
Начало
В общем было решено заказать сервер на ARM (Thunder X2) для TeamCity (билд-сервер непрерывной интеграции для разработки и тестирования). Но пока решаются все финансовые вопросы мы с коллегами решили собрать свой вариант. Я нашел на просторах Thingiverse несколько моделей для установки Raspberry Pi в стойку. А после печати пары деталей я понял, что есть много моментов, которые я бы сделал иначе. И я потратил пару дней на то, чтобы сделать из STL файлов (пригодных разве что для печати) полноценную 3D модель для последующей модификации.
Нам был важен быстрый и надежный накопитель, поэтому потребовался крепеж для ssd диска.
По железу выбор пал на последнюю на тот момент Raspberry Pi 4 4Gb. Как накопитель — Samsung T5 500 Gb, оптимальный вариант с точки зрения простоты установки/скорости работы/цены/надежности. А для питания и дополнительного охлаждения каждая Raspberry укомплектована PoE shield.
Полный список деталей:
- 8x Raspberry Pi 4 4GB
- 8x Samsung T5 512Gb (or 12 Raspberry and no SSD)
- 8x Raspberry Pi PoE HAT
- 8x 7.5 mm high radiators for Raspberry Pi processor for example
- 8x SanDisk High Endurance Video Monitoring, White 32GB
- PoE switch
- 3x 5M Threaded rods (Шпильки с резьбой). ~455mm
- 6x 5M nuts (гайки)
- 44x M2.5*12mm (32 for 8 Raspberry and 12 for Samsung T5)
- 12x M2 nuts (еще гайки для держателя Samsung T5)
- 1x 12v адаптер питания
- 5x 12v PC 80mm вентиляторы Arctic F8 Value Pack, ACFAN0 0061 A
- 1x 3Pin to 6x 3Pin Molex (6x15cm) я использовал вот такой провод для подключения всех вентиляторов, отрезав лишний разъем
Из-за высоких температур (как обещали тесты в интернете) и размера ssd дисков, я сделал этот сервер на 12 отделений. 4 из которых были выделены на пары SSD дисков, а 8 на Raspberry Pi. Но при желании можно поставить 12 Raspberry Pi без SSD дисков.
Модели для 3D печати я готовил таким образом, чтобы свести к минимуму пост-обработку. Т.е. печатать по возможности без поддержек, или с минимальными поддержками. А сами модели оптимального размера, чтобы печатать группами и оставлять принтер на 8-12 часов.
Для желающих повторить стоит сказать, что модели сделаны без учета возможных погрешностей печати. Поэтому принтер или слайсер должен быть настроен на печатать 1:1. В моем случае нужна настройка «горизонтальное расширение» (horizontal expansion) -0.1mm в слайсере Cura, но у вас может быть иначе. Советую распечатать пару деталей, посмотреть как они подходят друг к другу и сравнить реальный размер с моделью.
Список деталей для печати:
- 12x trays
- 12x trays faces
- 1x base short
- 11x base
- 20x Fan fix
- 1x rack mount bracket left (or short version)
- 1x rack mount bracket right (or short version)
В случае если вы будете использовать Samsung T5 как я, нужно напечатать также:
- 4x Samsung T5 holder back
- 4x Samsung T5 holder front
Другой важный, как мне кажется, момент. Обязательно используйте фиксатор резьбы для всех резьбовых соединений, в том числе на вентиляторе PoE shlied, производитель проигнорировал этот момент.
Также зафиксируйте провод вентилятора PoE shield например горячим клеем.
Я сделал короткое видео с советами по сборке этого сервера:
Галерея проекта
Скачать файлы для печати:
Raspberry Pi Rack Server Mark I
Если вам нравится, можете также поддержать меня через PayPal:
Я системный инженер в компании JetBrains. Основатель Uptime Lab. Рад видеть вас у себя на сайте! Пожалуйста подписывайтесь на мой Инстаграм и Твиттер, я публикую там самые свежие обновления.
Спасибо!!! Очень интересные дополнения )
Just stopped by. Saw this on Thingiverse. I’ve heard of JetBrains before. Just the look of that project and the sound of what you do at JetBrains, I’m in awe. Your job and what you do sounds so cool. I hope to do big things someday. I just finished my first semester for my software development degree. I had so much fun. I definitely like programming.