Pull to refresh

Домашний Mac-сервер

Reading time 9 min
Views 9.4K
Бродя по интернету я наткнулся на статью, которой захотелось поделиться с вами.
Итак:

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

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

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

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

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

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

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

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



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

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

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



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

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



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



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

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



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

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

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

Я назвал свою сигнализацию 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 порта. Это позволит подключать самые последние и скоростные винчестеры любой ёмкости. Доставка из США обошлась не дорого и через неделю карточка была у меня.



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

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



Внешний вид ящика, итоги “тяжёлой части”.
Вот, что получилось у меня в результате:





Настройка системы Mac OS X Server, общие принципы существования сервера в локальной сети и Интернет.
В качестве операционной системы я выбрал конечно же Mac OS X Tiger Server.

Сервер подключён к локальной сети, а также к Интернет посредством PPPoE. Мой провайдер выделил мне реальный IP, благодаря чему сервер стал доступен из любой точки мира.

Благодаря замечательной программе Remote Desktop, все операции по настройке системы можно производить прямо с ноутбука, видя на своём экране экран сервера:



На моём сервере я настроил в первую очередь конечно-же Apple File Protocol. Он позволяет подключаться к серверу и работать с файлами прямо через Finder, как будто-бы эти файлы располагаются на вашем винчестере. И конечно, файлы можно открывать прямо с сервера, будь-то прайс-листы или видео. Вот как например выглядит папка Movies на моём сервере:



Встроенный FTP-сервер слишком прост, его настроек не хватает. Зато существует прекраснейший и лучший на мой взгляд FTP-сервер под Mac — CrushFTP.
Такого количества настроек мне не удавалось увидеть ни в одном FTP-сервере ранее. Перечислять все достоинства не имеет смысла. Пользователи сами могут узнать их на странице разработчика. Это пожалуй второй “Amazing”-продукт, который удовлетворит даже супер-требовательных пользователей. Особенно отметить — это Web-интерфейс, который позволяет работать с FTP через любой браузер, а также закачивать файлы на сервер через оный по технологии drag’n'drop. Также, нельзя не отметить функцию архивирования “на лету”. Через Web-интерфейс можно выделить несколько файлов/папок и нажать на кнопку ZIP. Сервер сам на лету подготовит архив, в котором будут располагаться выбранные файлы или папки и представит этот архив к скачиванию. Это невероятно.

Поддержка пользователей/групп, квот, ограничителями пропускной способности, возможности удаленного администрирования, SSL, возможность обработки .sfv файлов и виртуальные директории. CrushFTP может даже определить WAN IP адрес, если вы используете NAT firewall. CrushFTP поддерживает передачу файлов по протоколам FTP, FTPS, HTTP, HTTPS, WebDAV и SFTP.

Для Windows-пользователей локальной сети был предусмотрен Windows Sharing.

При настройке системы, необходимо помнить, что в случае внезапного отключения питания в доме и последующей его подаче, компьютер должен сам включиться, запустить необходимые приложения и подключиться к Интернет. Для автоматического подключения к Интернет я написал небольшой AppleScript, который положил в Login Items. Скрипт после входа в систему, ожидает 10 секунд, пока загрузятся все приложения, затем открывает приложение Internet Connect, подключается к Интернет посредством PPPoE и закрывает приложение Internet Connect.

Скачать скрипт

Оптимизация работы по Apple File Protocol.
Безусловно, для соединения по AFP можно использовать стандартную функцию Finder “Connect to Server…”, которая располагается в меню Go. Но это не совсем удобно для работы по локальной сети, особенно для Wi-Fi, ведь при случайном отключении от сети Finder повиснет и впоследствие “отмонтирует” присоединенную share point. После этого придется вновь присоединяться, нажимать дополнительные кнопки в окне аутенфикации. Есть гораздо более интересный способ и назвается он “статическое автомонтирование”. Суть его состоит в том, что после запуска системы она автоматически примонтирует нужные share point и выведет их в Network. Не стоит путать этот метод с программами типа AutoMountMaker, это другое. Во-первых, там используется динамический метод присоединения. Да, ничего вводить не придется и сервер будет досутпен прямо из Network, но динамическое присоединение не позволяет потоково воспроизводить аудио-файлы или фильмы прямо с сервера, их необходимо будет сначала скачать.

Статический метод монтирует нужные вам share point (как с аутенфикацией, так и без) также в Network, но позволяет потоково воспроизводить контент с сервера.
Для того, чтобы создать себе automount share points необходимо проследовать в NetInfo Manager. Там выбрать путь /mounts и сделать что-то примерное, как на скриншоте ниже:



Где 10.100.0.7 — это айпи вашего сервера (у вас он может быть другим).
Обратите внимание: переменная “dir” должна обязательно начинаться с “/Network/” и заканчиваться нужной Share Point. В описанном случае эта Share Point есть Distrib.
Логин и пароль у всех конечно получится свой. Также, в Интернет можно найти больше информации об этом методе.

Эту операцию необходимо сделать один раз и больше вам не нужно будет нажимать никаких “Connect to server…”, вводить логины, пароли и отвлекаться на нажатия кнопок. Более того, этот метод не вешает Finder при неудачном отсоединении от сети. Этот метод просто работает.

Заключение, выводы, благодарности.
Создание домашнего сервера штука увлекательная и не такая сложная. Конечно, не имея навыков в пайке, электронике, програмном обеспечении сделать описанное сложнее. Цель статьи — показать, насколько важна идея, которую доводишь до конца. Это очень важно — сделать всё так, как было задумано и не спускать помарки и ошибки, а исправлять и делать всё заново, пока не будет достигнут положительный результат.

Некоторые люди мне говорили: “Зачем тебе понадобилось делать сервер на основе Mac? На основе PC это было бы гораздо дешевле!”. Возможно, это так. Впрочем, умозрительно не думается, что системный блок PC был бы в пять раз дешевле PowerMac G4. И потом, что может предложить PC? FTP? Windows Sharing? Увольте. Сервер на основе Mac — это особая любовь.

Сервер работает и работает исправно. Он получил название “Пиратский Mac-сервер”. Почему — большой секрет. Его адрес
http://www.server.elevensky.ru/.
На его создание у меня ушло три месяца.

Источник:
www.borisov.elevensky.ru/
Tags:
Hubs:
+24
Comments 47
Comments Comments 47

Articles