Как создать свой домашний Mac-сервер


Разговор дочки и отца:
— Дочка, я только что заработал 500 рублей на помывке машины.
— Ты кому-то мыл машину?!
— Нет, я помыл свою. Сам.

***

“Если хочешь, чтобы что-то получилось качественно — делай это сам.”

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

Идея, концепция, общие принципы.

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

Мне захотелось иметь свой личный домашний сервер. Мой Powerbook G4, с винчестером 80Gb с каждым днём заполнялся до отказа, и постоянно приходилось что-то удалять, всегда чем-то жертвовать, чтобы освободить место под другую информацию, которая была более нужной и востребованной в данный момент. С другой стороны — та информация, которая удалялась тоже являлась важной и могла потребоваться в будущем. Записывать её на болванки не хотелось, покупать внешние винчестеры тоже не хотелось, по причинам, которые станут понятны читателю ниже.

Хотелось, чтобы сервер работал всегда, к нему был доступ из любой точки мира. Чтобы он стал своеобразным продолжением моего ноутбука, и сидя дома, можно было работать с ним по Wi-Fi через AirPort Extreme Base Station, а где-то “в дороге” — с любого устройства, которое имеет выход в Интернет, будь то наладонник или сотовый телефон.

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

Решено было расположить сервер на этажной площадке.

Плюсы такого решения:

  • На площадке всегда прохладно, а значит нормальное охлаждение не станет проблемой
  • Это безопасно, ведь если произойдет короткое замыкание и сервер вдруг загорится, то произойдёт это всё равно на территории площадки и не принесёт вреда квартире
  • Полное отсутствие шума в квартире, отсутствие дополнительного источника тепла в оной

Минусы:

  • Сервер могут попросту украсть, а это значит, что для него необходимо продумать систему охраны

Выбор модели
В качестве основы для постройки сервера я приобрёл Powermac G4 (модель “AGP”) с процессором PowerPC G4 400Mhz, 1Gb оперативной памяти, DVD-RW-приводом, ZIP-дисководом, видео-карточкой на 16 мегабайт, винчестером на 60 Gb и ненужным мне SCSI-контроллёром. Вот он:

Powermac G4

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

В качестве операционной системы я выбрал конечно же Mac OS X Tiger Server, но о ней и о некоторых деталях, касающихся системы и PowerMac G4 мы поговорим позже, а пока перейдем к “тяжелой” части статьи.

Подготовка ящика.
Чтобы разместить сервер на подъездной площадке для него необходимо придумать ящик. Прогулявшись по магазинам типа “Электрика” или “Всё, что связано с электричеством”, я пришел к выводу, что то, что продают эти товарищи подходит чтобы хранить в них разве что картошку, которую и не жалко потерять в случае появления воров и всяких... нехороших людей. За эти ящики продавцы хотят аж пять тысяч рублей. Такой ящик может сломать даже ребенок, отогнув стенку ключём. Поэтому я решил сделать ящик самостоятельно. Закупил немного листового металла на ближайшем рынке, набросал эскиз ящика и отдал на кафедру сварочного производства в один из ВУЗов города.

Вот, что из этого получилось:

Фотография ящика

Некоторые параметры ящика:

Толщина метала: 4 мм
Размеры ящика: 500×600x600 мм
Шарниры скрыты внутри дверцы, дверца открывается налево.
Дверца дополнительно укреплена металлическими уголками, толщиной металла 5 мм.
Использовалась аргоновая пайка.

Ящик получился жёстким и прочным. Не идет ни в какое сравнение с магазинным. Размеры были специально выбраны с небольшим запасом, чтобы корпусу сервера было просторно, ведь помимо самого сервера в ящике будет располагаться ещё несколько устройств, о которых мы поговорим ниже.

Ящик и Powermac G4

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

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

Принципиальная схема устройства вентиляции ящика

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

Процесс сверления

После того, как все технологические отверстия были готовы, я приступил к покраске ящика. Поскольку, ящик не несёт в себе предмета искусства особенной красоты, я купил самую дешевую краску, кисточку, валик и растворитель. Чтобы не затягивать с покраской лучше использовать нитровую краску.

Краски, кисточки

И вот что из этого получилось:

Фотография покрашенного ящика

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

Вентиляторы

Малый вентилятор имеет диаметр 9 см, а большой — 15.

Чтобы исключить вибрации от прикосновения вентиляторов к металлическому корпусу ящика необходимо использовать резиновый уплотнитель на липкой основе, который проклеивается по периметру соприкасающейся поверхности:

Клейкий уплотнитель

После подготовки ящика я приступил к его установке. Для него было выбрано не самое удачное место — возле мусоропровода, но оно оказалось единственно-правильным с тактической точки зрения. Ящик не привлекает внимание “случайных посетителей” площадки. Все коммуникации были подведены заранее. К сожалению, я не могу рассказать что это были за провода и откуда они были подведены, но идеальным вариантом является штробление стен, с укладкой проводов и последующей замазкой. Также необходимо на фазу электропитания установить автомат-предохранитель, который, в случае возникновения экстренных повышенных токов отключит питание сервера и, таким образом, можно будет избежать больших неприятностей.

Ящик был закреплен в шести точках на анкерные строительные болты в верхней части стены, ближе к потолку. Отломать его сложно (Против лома нет приёма?). Замок лучше использовать без выступающих частей, чтобы исключить возможность спила оного.

Вот, что получилось в результате покраски, установки ящика и подводки к нему требуемых коммуникаций:

Прикрепленный ящик

Система охраны ящика
Это очень важный момент. Мы придумали свою сигнализацию сами, но, к сожалению, я не могу рассказать принцип её работы по понятным причинам. Но есть некоторые параметры, которые необходимо учитывать, если читатель захочет придумать свою сигнализацию:

  • При незаконном (взломе) открытии дверцы сигнализация должна сработать, при последующем закрытии дверцы сигнализация не дложна отключаться и продолжать издавать сигнал тревоги до тех пор, пока она не будет отключена специальной кнопкой, которую лучше спрятать у себя в квартире или в недоступном для других месте.
  • Сигнализация должна показывать своё текущее состояние; в каком режиме она находится.

На рисунке выше рядом с вентилятором мы видим два отверстия в которые впоследствие были установлены два светодиода — белый и мерцающий красный. Белый светодиод извещает о работоспособности сигнализации, красный извещает том, что сигнализация находится в режиме охраны.

Наиболее простым вариантом будет использовать самую примитивную автомобильную сигнализацию. Даже такие имеют в своём арсенале датчики открытия дверей и пару датчиков удара

Я назвал свою сигнализацию iGuard.

Сигнализация iGuard

При незаконном доступе/попытке доступа к ящику эта коробочка устроит ад на лестничной площадке и, возможно доведёт грабителя до инфаркта. Как — большой секрет.

Подготовка системного блока, докупка оборудования
В этой части мы поговорим о необходимом апгрейде PowerMac G4. К сожалению, эта модель имеет очень большой минус. При подключении винчестера, скажем в 200Gb по стандартному IDE-каналу, система не увидит больше 128 Gb информации, да и вообще, ATA шина оставляет желать лучшего — это всего лишь Ultra ATA/66. В природе существует драйвер, который позволяет обмануть систему, и таким образом подключать винчестеры большего размера, но он имеет ряд существенных недостатков, о которых я говорить не буду. Скажу лишь, что после установки этого драйвера и подключении к нему винчестера Seagate Barracuda на 200Gb скорость скачивания с оного была отвратной. Да и вообще, IDE-шина — это уже прошлый век.

Я отправился в магазин Other World Computing, где подобрал себе замечательную карточку SIIG Serial ATA 4 Channel PCI-M, которая имеет четыре Serial ATA порта. Это позволит подключать самые последние и скоростные винчестеры любой ёмкости. Доставка из США обошлась не дорого и через неделю карточка была у меня.

Коробка карточки больше похожа на коробку от дорогой компьютерной игры:

Коробка SATA-карты

Сама карта и комплект поставки просто шикарны! Всё очень аккуратно и красиво. Очень редко можно встретить продукт с таким количеством сопровождающих бонусов.

Коплектация карточки

Комплектация карточки

Карта полностью оправдывает свою цену. Стоит ли говорить о том, что она прекрасно определилась Mac OS X?

В это же время были приобретены два топовых винчестера от Seagate ёмкостью по 400 Gb. Установленный продавцом винчестер на 60Gb нашел своё применение в другом компьютере. Таким образом, суммарный объем нашего сервера увеличился до 800 Gb, что вполне неплохо для старта. В будущем, если просчитать количество свободных PCI портов, докупить ещё таких карточек, продумать систему питания и охлаждения суммарный объем может увеличиться до 13 террабайт.

Один винчестер я закрепил внутри корпуса в специальной корзинке, а другой — в отсеке, где был установлен DVD-RW- и ZIP-дисководы. Второй винчестер не имеет крепления и установлен на резиновой подушке, которая была создана из уплотнителя, который можно посмотреть выше в этой статье. Это позволило разделить источники тепла друг от друга и снизить вибрации.

Крепление второго винчестера

Также, на каждый винчестер было предусмотренно дополнительное охлаждение, таковых сейчас в продаже полно.

Идея фикс!
Никогда не стоит отказываться от того, что вызывает сомнения у других, а вам кажется, что это выполнимо. А почему бы не сделать видео-наблюдение за площадкой с помощью сервера?

Расскажу о том, как это происходило. Была приобретена самая дешевая Web-камера, в которой была заявлена поддержка Mac OS X, а именно Genius VideoCam Trek. Камера имеет малые размеры, но незаметно в таком виде её будет установить сложно. Поэтому, я разобрал её. На приведенных фотографиях ниже можно видеть насколько сама камера меньше своего корпуса.

Фотография Web-камеры

Фотография Web-камеры

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

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

Фото установленной камеры

Посмотрите, камеру почти невидно и её очень сложно украсть, поджечь или сломать.

Теперь мы поговорим о програмном обеспечении, которое будет управлять нашей камерой. После многочисленных сравнений програм такого плана я остановился на лучшей, на мой взгляд — это SecuritySpy.

Она имеет десятки полезных настроек, среди которых:

  • Запись при обнаружении движения, немедленная отправка видео-записи на внешний FTP-сервер.
  • Встроенный Web-сервер для удалённого просмотра объекта, очень мощное разграничение прав (программу можно настроить прямо из Web-браузера, находясь в любой точке мира!).
  • Уведомление по E-mail.
  • Запись только выделенной области.
  • Автоматический перезапуск программы после её краха (если такое случится).
  • … и так далее.

Скриншот SecuritySpy

Перечислять достоинства не имеет смысла. Пользователи сами оценят мощь этого ПО. Ничего подобного я в природе раньше не видел и рекомендую ознакомиться с программой всем, кому она может потребоваться для воплощения идеи видео-наблюдения. Это действительно “Amazing!”, она удовлетворит вкусы даже самого взыскательного пользователя.

В моём случае настройки и функции, которые мне потребовались были установлены следующими:

Как только появляется какое-то движение на площадке, будь то открытая дверь или что-нибудь ещё, камера немедленно начинает записывать видео-ролик на жёсткий диск, попутно отправляя его на мой внешний интернет FTP-сервер. После прекращения движения запись прекращается. Особо важной функцией программы стал так называемый “Pre capture”. Это означает, что SecuritySpy буферизирует и записывает в видео-ролик последние несколько секунд перед тем как наступит движение. Это особо важно когда действие начинается очень резко и быстро, например пробегание человека мимо зоны видимости камеры. Таким образом, никакое действие не останется незаписанным и камеру нельзя будет обмануть.

Таким образом, наша система видео-наблюдения добавляет ещё одну важную функцию сервера — теперь он ещё и охраняет квартиры. Никто не останется незамеченным и всегда, даже если теоретически предположить немедленное уничтожение сервера грабителем, то его лицо всё равно можно будет скачать с внешнего FTP-сервера.

Вот, как выглядит эта картинка из Web-браузера у меня:

Картинка из Web-браузера

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

Внимание! Важная информация:
Через 2 дня после установки камеры она была зменена на другую.
Никогда не покупайте Genius VideoCam Trek и VideoCam Eye (полный аналог). Камера работает, картинка отличная, никаких ошибок. Но есть маленькое но: драйвер камеры выводит загрузку процессора до 100 процентов. То же самое и в любом приложении для работы с Web-камерами (SecuritySpy, Evocam, Webcam Monitor, etc..). Камера собрана на чипе SN9C102, который производится компанией Sonix Technology. На этом чипе собраны многие камеры, например Macally WebCam и прочие. Если почитать интернет, то у всех пользователей, чьи камеры собраны на этом чипе при подключении к Mac абсолютно те же проблемы: Extremely high CPU Usage. Разработчики ПО для Web-камер в шоке, говорили что это ненормально и вероятно, проблема в драйвере. Да, проблема действительно в драйвере, но в интернет нет другого драйвера, точнее они есть под разными именами (две-три вариации), но имеют те же проблемы. Драйверы с сайта Sonix точно такие же, с сайта Macally — тоже. Поговаривают, что где-то в интернете есть файл SN9C102 Driver OS X 1.0.dmg, но мне его найти не удалось. Я перепробовал драйверы от Macam, они делают чуть меньшую загрузку процессора, но жутко искажают картинку, ничего не понятно. Osx-cam не поддерживает этот чип вообще. Я проверил эту камеру на двух других маках с различными вариациями железа — тоже самое. Даже на топовом iBook G4 с незагруженным ни одним приложением каме

Источник: Олег Борисов