Файловый сервер Linux с RAID. Внутри тостера!
Модель слева была построена в 2001 году, а другая – совсем недавно.
На первый взгляд, перед нами пара тостеров, но стоит только заглянуть в щель… Там вы обнаружите провода, вентилятор, интерфейс Ethernet и печатную плату. Внутри каждого “тостера” находится полный x86-компьютер, пара жёстких дисков в “зеркале” RAID, а всем хозяйством управляет файловый сервер Linux.
Снаружи – тостер. Внутри – x86-компьютер.
У нас появилась возможность взглянуть на некоторые проекты Дейва Гоика (Dave Goeke), а именно, на его попытки разместить полный файловый сервер внутри тостера. Дейв снабдил нас достаточными инструкциями, которые помогут собрать подобное устройство даже начинающему пользователю. Конечно же, мы поделимся ими с читателями.
Почему именно тостер?
Вполне понятно, что мысль расположить компьютер внутри кухонного оборудования вряд ли часто приходит в голову.
THG. Как вы дошли до столь экстравагантного форм-фактора?
Дейв Гоик. В 2001 году я работал в отделе контроля качества ApplianceWare. Её продукт ApplianceWare Server представлял собой урезанный дистрибутив Linux, превращающий компьютер в сетевой файловый сервер с программной реализацией RAID. Наподобие того, что сегодня предлагают компании вроде Open-E. Единственными установленными службами являлись сеть, программный RAID, web-сервер, почтовый сервер и файловый сервер (SMB, NFS, AFP), поддерживающий клиентов из операционных систем Unix, Linux, Windows и MacOS. Весь продукт занимал раздел в 100 Мбайт.
Собирать компьютеры в тостерах мы начали по инициативе отдела маркетинга ApplianceWare для презентаций, демонстраций, выставок и других мероприятий. Действительно, файловый сервер в тостере привлекал внимание клиентов во время демонстрации ApplianceWare Server. Кроме того, мы украсили корпус светодиодами.
THG. Так вы подхватили идею маркетингового одела ApplianceWare? Используете ли вы сегодня программное обеспечение этой компании в своих RAID-серверах?
Дейв Гоик. После ухода из ApplianceWare я продолжал собирать файловые RAID-серверы в тостерах. Конечно же, они используют ApplianceWare Server, и я использую их дома как файловые и сетевые серверы. Чёрно-серебристый тостер слева (см. фотографию в начале статьи) был собран несколько лет назад. Другая модель, коричнево-серебристая в стиле ретро, была закончена в октябре.
THG. Как вы считаете, собрать компьютер в подобном необычном корпусе может каждый, или это по силам только специалистам?
Дейв Гоик. За годы я приобрёл немало опыта и навыков в сборке файлового сервера в тостере. Я объясню детали обеих систем, как я их собирал, поделюсь своими соображениями, а также расскажу о “подводных камнях”.
THG. Замечательно! Приступим?
Вот это RAID! Два тостера
Дейв Гоик. Обе системы используют полноценные x86-компьютеры. Они собраны на одной печатной плате, размеры которой составляют 15 x 20 см. Производитель материнских плат мне не известен: никакой маркировки не нанесено, а POST-код не выдаётся.
В качестве процессора используется Cyrix MediaGX 200. Компьютеры оснащены 32-Мбайт модулем памяти SO-DIMM. На плате присутствует порт UltraATA, выход на монитор, порт Ethernet, гнездо клавиатуры, разъём питания и контакты для подключения светодиодов. Блок питания реализован в виде платы примерно 5 x 7,5 см, которая даёт линию 5 В, питающую накопители, материнскую плату и пару небольших вентиляторов. Один из них охлаждает процессор, а второй находится над накопителями. В моей старой системе использовалась пара 8,6-Гбайт накопителей UltraATA/66, а в последней я использовал пару 20-Гбайт накопителей UltraATA/66 в “зеркале”.
THG. Можете ли вы предоставить дополнительные детали об операционной системе?
Дейв Гоик. Под ОС ApplianceWare работают файловые службы (SMB, AFP, NFS), сеть, DHCP, программный RAID, sendmail для оповещения о событиях, web-сервер для доступа к административному интерфейсу. Программная поддержка RAID под Linux позволяет настроить RAID 5 с поддержкой запасного привода (если есть достаточно накопителей), зеркалирование (RAID 1) или чередование (RAID 0). Административный web-интерфейс позволяет настраивать, отслеживать состояние и управлять системой, устанавливать и настраивать уровень RAID, настраивать DHCP-сервер, управлять безопасностью, создавать общие ресурсы и т.д.
THG. Получается, перед нами полноценная операционная система, а файловый сервер, как видим, работает достаточно хорошо. Можете ли вы показать читателям, как физически установить компоненты компьютера в корпус тостера? Ведь нельзя просто взять любой старый тостер и установить в него материнскую плату и 3,5″ жёсткий диск?
Дейв Гоик. Кто знает, может быть ситуация изменится, если эту статью прочитают нужные люди. 🙂 Конечно, для сборки RAID-сервера сначала придётся разобрать тостер, а затем установить в него направляющие для крепления жёстких дисков. Для материнской платы тоже требуются крепления, либо её можно закрепить за накопитель. Все остальные компоненты, вроде блока питания, переключателей, светодиодов, крепятся к жёстким дискам.
Комплектующие и детали для сборки RAID-сервера в тостере
THG. Как мы думаем, кроме крепления направляющих, нужно выполнить ещё кое-какую работу, не так ли?
Дейв Гоик. Самое сложное в сборке RAID-сервера – найти все требуемые компоненты. Среди них подходящий тостер, одноплатный компьютер (заказать его можно, например, на сайте linuxdevices.com), направляющие для монтажа жёстких дисков, короткие ATA-кабели, а также винты правильного размера, гайки, шайбы, втулки и т.д. Конечно, нужно найти ещё и накладки для монтажа переключателей и интерфейсов. Многие накладки мне пришлось делать вручную из алюминиевых пластин, листового металла, гаек, шайб, винтов и т.д.
THG. Да, придётся, наверное, немало поработать. Кроме специальных деталей есть ли ещё какие-либо отличия между ПК в тостере и стандартными системами?
Дейв Гоик. Комплектующие для RAID-сервера в тостере, конечно же, те же самые, что и у обычных ПК, плюс корпус тостера. Так что отличиями от обычного ПК будут компактная материнская плата (“компьютер на плате”), компактный блок питания и, опять же, тостер. Ниже я специально привёл список комплектующих, которые использовал.
Рецепт
- Небольшая материнская плата с интерфейсами для монитора, клавиатуры, сети, ATA и питания;
- процессор;
- память;
- небольшой блок питания;
- тумблер питания;
- панель со светодиодами, которые можно подключить к контактам материнской платы;
- несколько жёстких дисков, в зависимости от свободного пространства в тостере, требуемой конфигурации RAID и пожеланий пользователя;
- короткие кабели ATA;
- провода и Y-тройники для питания накопителей и материнской платы;
- CD-ROM или другой носитель для установки операционной системы;
- немереный набор винтов, гаек, шайб, болтов, втулок, пластиковых прокладок, кабельных затяжек, скоб для монтажа, листовой металл, резиновые ножки и т.д.;
- алюминиевые направляющие, способные выдержать вес нескольких накопителей (см. фотографию), некоторые направляющие были взяты из шкафов с картотеками, и, по нашему опыту, такие направляющие подходят лучше всего;
- надёжные, толстые и тяжёлые куски листового металла для создания скоб монтажа;
- несколько вентиляторов CPU для охлаждения RAID-сервера в тостере, лучше всего использовать вентиляторы от процессорных кулеров;
- тостер.
О направляющих
Подобные алюминиевые направляющие используются для крепления жёстких дисков и материнской платы.
Дейв Гоик. Прочные металлические полоски являются важным компонентом. Они используются для крепления приводов и добавляют прочности всей конструкции. Для монтажа компонентов в подобном необычном и стеснённом пространстве приходится прибегать к пластинам из листового алюминия. В принципе, часть пластин можно получить при разборке тостера. Другие попытайтесь найти в гараже.
Прикрепляем направляющие к приводам. Теперь можно монтировать их внутрь корпуса.
Где купить материнскую плату?
THG. Где же можно найти маленькую материнскую плату для одноплатного компьютера?
Дейв Гоик. Я нашёл плату на сайте ApplianceWare. Многие производители подобных продуктов дают рекламу в Embedded Systems Journal. Также загляните на сайт Linuxdevices.com.
Какие инструменты потребуются?
THG. Хватит ли обычных инструментов вроде отвёртки и плоскогубцев или требуется что-то особенное?
Дейв Гоик. Для сборки потребуются обычные инструменты. Но вот для вырезания металлических пластин могут потребоваться и инструменты посложней. Я рекомендую вырезать картонные шаблоны и работать с ними, чтобы не повредить комплектующие.
- Стандартные инструменты: набор отвёрток с плоским или крестовым наконечником, гаечные ключи, муфты, плоскогубцы, кусачки, молоток, дрель, тиски, чертилка, ножницы по металлу, нож, лупа, фонарик, очки, защитные перчатки, удлинитель для питания. Плюс кофе, конечно.
- Инструменты для вырезания требуемых деталей: дрель, дремель, шлифовальный станок, шкурка, молоток, наковальня, различные напильники, ножовочный станок, тиски, проволочная щётка, спрессованная стружка для шлифования.
Приступаем
THG. С чего начать? Нужно просто придумать, как расположить комплектующие, и закрепить их?
Дейв Гоик. Я рекомендую изготовить картонные шаблоны для хрупких компонентов, включая материнскую плату, приводы и блок питания. Используйте шаблоны, чтобы определить расположение компонентов внутри тостера. Обычно приходится несколько раз собрать и разобрать корпус, чтобы проверить, насколько хорошо умещаются компоненты. Особенно во время изготовления скоб крепления и направляющих. Не забывайте, что повредить плату и чипы очень легко.
Как выбирать тостер?
THG. Какие вы дадите рекомендации по выбору тостера?
Дейв Гоик. Тостер – очень важный компонент. Правильный тостер сложно найти. Тостер должен быть достаточно большим, прочным и иметь внутренние перегородки, к которым можно прикрепить компоненты. Конечно, и внешний вид должен быть достойным! Лучше всего найти старый металлический тостер. Тогда вы получите просто шикарный внешний вид!
THG. Понятно. Как всё же выбрать правильный тостер?
Дейв Гоик. Следует принять во внимание несколько факторов.
- Нижняя поверхность тостера должна быть достаточно прочной, чтобы выдержать три килограмма. Многие тостеры изготавливаются из тонкого прогибающегося листового железа и дешёвого пластика, в котором даже отверстия сверлить слишком опасно. Тогда придётся устанавливать внутрь специальные балки и крепёжные пластины.
- Очень хороши старые тостеры от General Electric (правда, найти в бывших странах Союза это чудо буржуйской техники будет сложно). Основание выполнено из прочного и красивого пластика, с внутренними перегородками и отверстиями. Перегородки позволяют надёжно закрепить скобы и направляющие. Почти все компоненты затем прикручиваются к направляющим приводов.
- Мой серебристо-чёрный тостер использовал нижнюю пластину, которая крепится к корпусу четырьмя винтами. Хотя у многих тостеров эта пластина очень хлипкая, в данном случае она оказалась достаточно прочной.
Я не знаю почему, но большинство самых удачных тостеров, которые подошли бы для нашего проекта, изготовлены General Electric.
Этот старый тостер достаточно большой. Его пластиковая основа толстая и прочная, внутри есть необходимые перегородки, а внутреннего пространства вполне достаточно.
Дейв Гоик. Найти хороший тостер – задача сложная. Большинство слишком хлипкие, слишком некрасивые или просто внутри нет перегородок, к которым можно было бы прикрепить алюминиевые направляющие. Лучше всего искать старые тостеры.
Что нужно сделать с тостером?
Дейв Гоик. Первое, что нужно сделать со свежеприобретённым тостером, – разобрать его. Нам нужно будет сохранить основание, корпус и все винты. Кроме того, внутри могут оказаться скобы крепления и детали из листового металла, которые тоже могут пригодиться. Не забудьте всё хорошо промыть! И лучше в посудомоечной машине.
THG. Зачем нужна посудомоечная машина?
Дейв Гоик. Старые тостеры внутри очень грязные. А посудомоечная машина лучше справится с удалением грязи, чем мытьё вручную. Включите средний по продолжительности цикл без подогрева с обычным количеством моющего вещества. (Если включить подогрев, то пластик может испортиться). Лучше мыть тостер, когда вашей жены нет дома. Ну, скажем, она ушла в магазин…
Сначала установите ОС, затем собирайте
Лучше установить ОС до того, как система будет собрана. Перед установкой следует всё правильно подключить.
THG. Хорошо, мы нашли тостер, вымыли и отчистили его. Теперь мы готовы устанавливать комплектующие. Приступим?
Дейв Гоик. Перед сборкой следует установить операционную систему. Порты и ATA-кабели в собранном состоянии будет сложнее подключить. Конечно, вам придётся подключить к системе питание, жёсткие диски, монитор, клавиатуру и оптический привод. Запомните, какой жёсткий диск основной (master), а какой – вторичный (slave).
THG. Какую операционную систему использовать?
Дейв Гоик. Подойдёт любой дистрибутив Linux. Монитор на постоянной основе мы подключать не планируем, так что оконная оболочка не потребуется. Во время установки выберите сеть, HTTP, NFS, SMB (AFP для поддержки MAC теперь не нужно, OS-X поддерживает клиентов NFS и SMB), DHCP и утилиты RAID. Не лишним будет Telnet или SSH. Всё это должно уместиться в 100-Мбайт разделе.
Устанавливаем приводы и материнскую плату
В последнем собранном тостере было больше двух сантиметров свободного пространства. Они позволили легко подключить сетевой интерфейс, питание, видео-интерфейс, клавиатуру, светодиоды и тумблер питания. Обратите внимание на алюминиевые направляющие приводов. Материнская плата прикреплена к направляющим одного привода, а все оставшиеся интерфейсы и блок питания – к направляющим второго.
THG. Приступим к сборке?
Дейв Гоик. Используя картонные шаблоны, определите, как будете крепить накопители и материнскую плату. Старайтесь расположить компоненты как можно плотнее, чтобы они поместились в корпус. Кстати, провода, кабели интерфейсов, блок питания, переключатели и крепёжные скобы занимают на самом деле всегда больше места, чем кажется поначалу. Расположите направляющие накопителей таким образом, чтобы были доступны проделанные в них отверстия. После чего используйте эти отверстия для крепления оставшихся компонентов.
Начать нужно с приводов и материнской платы. Их следует очень надёжно закрепить. Остальные компоненты относительно лёгкие, поэтому их можно будет крепить к направляющим приводов.
Материнская плата прикреплена к алюминиевой скобе, которая прикручена к рамке старого тостера. Накопители крепятся рядом с материнской платой, а блок питания мы закрепили за вертикальную металлическую скобу в левой части.
На иллюстрации показана та же материнская плата, но к рамке прикреплён один накопитель.
Здесь прикреплено два привода и блок питания. Гнездо подачи питания расположено снизу. Вентилятор и Ethernet-интерфейс прикручиваются к верхнему жёсткому диску с помощью проделанных в нём отверстий. Металлический лист, закрывающий блок питания, был вырезан из старого корпуса ATX.
Та же система, но уже в корпусе.
Вентиляторы охлаждения
THG. Поскольку комплектующие очень тесно набиты в тостер, не перегреются ли они при длительной работе? Как вы обеспечиваете охлаждение тостера?
Дейв Гоик. В зависимости от процессора может понадобиться кулер. Процессор Cyrix 200 прекрасно работает с одним только радиатором, но я всё же подстраховался и установил вентилятор. Приводы склонны нагреваться, а пространство внутри нашего файлового RAID-сервера очень ограничено. Так что придётся установить в корпус дополнительный вентилятор. Лучше всего использовать небольшие вентиляторы от кулера процессора. Они и работают относительно тихо. Воздух нужно выдувать снизу вверх, выбрасывая его в верхние отверстия.
Провода
Дейв Гоик. Место внутри тостера можно легко забить проводами. Поэтому мы рекомендуем подсоединить провода ATA и питания до финальной сборки, поскольку после установки других комплектующих до упомянутых интерфейсов можно и не добраться. В моей системе использовались очень короткие (15 см) кабели ATA. Иногда с первого раза всё уместить не получается, так что приходится разбирать, переделывать, а затем вновь собирать систему.
Собрать систему в столь стеснённом пространстве не всегда получается с первого раза. Поэтому часто приходится разбирать тостер, переделывать, после чего собирать систему вновь.
Включаем и наслаждаемся
THG. Не страшно ли было включать “тостер” в первый раз? Не использовали ли вы рычаг тостера в качестве тумблера питания?
Дейв Гоик. Пока я до этого ещё не додумался. 🙂 После установки и подключения материнской платы, приводов и блока питания настало время включать систему. Лучше всего использовать удлинитель со встроенным плавким предохранителем и тумблером питания. Если говорить об ошибках, то чаще всего я просто забывал подключить какой-либо кабель. Но один или два раза в “тостере” что-нибудь сгорало.
Заключение
THG. Большое спасибо за предоставленную возможность заглянуть внутрь ваших тостеров. Вообще, это один из самых сумасшедших проектов, который мы когда-либо встречали. Поздравляем!
Дейв Гоик. Я начал собирать компьютеры в тостерах, поскольку этого требовал отдел маркетинга. С тех пор данная страсть переросла в хобби. Надеюсь, статья будет полезна вашим читателям.