как я создавал домашнюю сеть

Сисадмина спрашивают:

- Что бы ты сделал, если бы у тебя был миллион баксов?

- Я бы постоил крутую сетку с гигабитными каналами и терабайтными серваками. И администрировал бы ее для души...

 

Редакционное вступление

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

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

Во-вторых – и в главных – построено это чудо в одиночку человеком с поистине золотыми руками. Признаться, мне редко встречались люди, способные ради любви к «высокому IT-искусству» пойти на ТАКОЕ. Так что полезно почитать просто для вдохновения себя на подвиги трудовые.

В-третьих, это отличный пример того, что и самодельное, малобюджетное решение может быть не менее функциональным, технологичным и надежным, чем реализованный интегратором проект за $xxxxx(х). Да, на большинство творений сетевых Кулибиных («ваяющих» как в домашней, так и в корпоративной обстановке) просто невозможно смотреть без содрогания (примеры можно в огромном количестве найти на сайте NAG.ru в разделе «Ужастики»), но если подойти к делу с умом...

Вобщем читайте сами, авось что-то полезное для себя и усмотрите.

Шеф-редактор

Все начиналось с обычной домашней коллекции аудио- и видеофайлов, которая есть практически у каждого владельца компьютера. Постепенно она разрослась до таких неприличных размеров, что жестких дисков моего основного рабочего компьютера уже перестало хватать. Удалять что-либо было жалко, а сохранять на CD или DVD оказалось не совсем неудобно. Во-первых mp3-файлы у меня регулярно обновляются (например правлю тэги или заменяю на файлы с лучшим битрэйтом). А во-вторых получение доступа к файлу на CD или DVD занимает утомительно много времени. Поэтому на первом этапе мне пришлось собрать под эту коллекцию отдельный компьютер, который тогда по праву уже можно было назвать файл-сервером.

Массив состоял из шести дисков WD по 80 Гб в софтверном RAID5, смонтированным средствами Win 2000 server. Корпус рэковый, высотой 4U. Я отлично понимал, что одним этим сервером дело не ограничится, и планировал в отдаленной перспективе собрать нормальную рэковую стойку. Правда и до сих пор эта мечта не осуществлена.

Итак, сервер был установлен дома, на застекленном балконе и был запущен на круглосуточную работу. Коллега по работе подарил старый UPS APC smart 650 с убитыми батареями. Вместо них я подключил два полудохлых АКБ по 96 ампер/час от дизельного мерседеса, и теперь сервер был надежно защищен от диверсий пьяных электриков, которые регулярно отключают свет в доме, время отключений варьируется от нескольких секунд до нескольких часов. Заодно от этой UPS был запитан свич CNet на 100 Мбит, радиотелефон Panasonic, АОН и квартирная система видеонаблюдения, которая уже восемь лет показывает мне все, что происходит за входной дверью. Через некоторое время место на сервере опять кончилось - и пришлось снова наращивать массив. Потом кончилось место для установки новых дисков - и пришлось менять корпус. И так по кругу...

После того, как до моего дома дотянулась локальная районная сеть и я стал ее пользователем, выяснилось что у меня одна из самых больших в районе частных коллекций фильмов и музыки, да еще с круглосуточным свободным доступом. А надо отметить, что эта сеть охватывает весь север Москвы (она состоит из нескольких отдельных сетей, связанных между собой гигабитными межсетевыми линками). Я не жмот и мне не жалко было предоставить содержимое моей коллекции для публичного доступа. Однако моя супруга (которая сама постоянно слушала mp3-шки с сервера и смотрела фильмы) заявила что ей надоел вечный шум от стоящего на балконе сервака и поставила классическое условие: "или я или он" :-)). Расставаться ни с тем, ни с другим я не планировал, поэтому пришлось искать новое место для создания "серверной". И оно было найдено!

Наша районная локальная сеть имеет полный комплект разрешительных документов и лицензий для свой деятельности, а также договоры с префектурой на размещение сетевого оборудования на чердаках домов. А еще нам попалось компьютерно-образованное руководство местного РЭУ, которое с пониманием относилось к нашим проблемам. Таким образом, выступая под прикрытием местной локальной сети, я получил разрешение на организацию серверного помещения на чердаке своего дома в своем же подъезде.

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

Из стальных трехмиллиметровых листов и 35-мм уголка я сварил каркас. Приварил сейфовые петли, внутренние скобы и распорки для защиты от спиливания, установил пару сейфовых замков. Через несколько дней колдовства в гараже серверный шкаф был готов. Итоговая себестоимость всех материалов для ящика на тот момент составила 2500 руб или около $80.

Рис.1.

А вот дальше начались обломы. Выяснилось, что ящик не влезает в лифт, и с двумя помощниками его пришлось поднимать на руках по лестнице на 10-й этаж. А ведь даже со снятой дверцей его вес составил около 130 кг! В чердачный люк он прошел успешно, но дальше меня ждала очередная моя проектная ошибка. Через чердачный люк он пролезал только лежа, а чтобы установить его в нормальное рабочее положение нужно сперва поставить его на ребро. Вот тут-то и выяснилось, что наменьшая диагональ ящика на 60 мм превышает высоту потолка на чердаке. Выхода было два: или распиливать ящик, для чего его пришлось бы опять спускать вниз и везти в гараж, либо расширять чердак. При всей своей комичности, это оказалось единственным верным решением. Я немного подпилил болгаркой ребра плит перекрытия и выдолбил канавку в керамзито-бетонном полу чердака. В результате "выжал" нужные миллиметры и ящик встал на положенное ему место. А следы разрушений чердака я забетонировал. Так что за сохранность ящика я теперь спокоен - без разрушения чердака его не вынесут :-) Кстати к кирпичной стене ящик прикручен анкерными болтами и фактически он висит над полом.

Еще на этапе проектировании ящика я уделял большое внимание вентиляции оборудования. Вытяжное охлаждение реализовано у меня так: вдоль задней части боковых стенок выпилены четыре отверстия, там установлены компьютерные вентиляторы 120 мм, 12 В. Отверстия заделаны металлическими решетками с нейлоновыми сетками (чтобы насекомые не пролезли). Для осени и зимы этого охлаждения достаточно (зимой на чердаке около нуля градусов). А вот в самый жаркий летний период дополнительно включаю приточную вентиляцию. Воздух с улицы подается мощным вентилятором через армированный рукав:

Рис.2.

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

В результате такой организации вентиляции в самое жаркое время температура внутри ящика при полностью нагруженных серверах не превышает 35 градусов. То есть, фактически, равна уличной температуре. Для контроля температуры внутри ящика, вокруг него и на улице я использую датчики DS 18S20 и программу Temp Keeper 2.0. Все мои электрические коммуникации выполнены в пластиковой гофре, а сечения силовых кабелей заложены с двухкратным запасом.

Теперь пришла пора заглянуть в сам ящик:

Рис.3.

В верхнем отсеке ящика размещены два основых файл-сервера: на 1 и 2 Тб. Малый сервер (справа) забит музыкой и прочим добром, большой (слева) выделен исключительно под фильмы.

Оба сервера собраны в корпусах AOpen H800 с дублированными блоками питания Delta RPS-600A (2 х 337W HOT-SWAP redundant).

Малый сервер содержит 8 IDE дисков Maxtor по 120 Гб в массиве RAID5. Каждый диск установлен в "мобайл рэк" с четырьмя кулерами. Для создания аппаратного RAID5 массива использован контроллер ESCALADE 3ware 7506-8. Проц P4-1500 на маме ASUS P4T-533C с 512 Мб RIMM. Операционка Win 2003 server.
В большом сервере 12 IDE дисков WD по 200 Гб в массиве RAID5. Здесь диски установлены в четыре фирменные корзины AOpen. Каждая корзина обеспечивает хорошую принудительную вентиляцию для трех дисков. Для создания RAID5 массива использован контроллер ESCALADE 3ware 7506-12. Для контроля температуры и вентиляторов использован восьмиканальный модуль TS Thermal@Control 88M. Проц Celeron 2400 на маме ASUS P4P800 delux с 512 Мб DDR DIMM. Операционка Win 2003 server.

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

Верхний сервер, который когда-то был первым и единственным, теперь считается "бэкапным". В нем 4 диска Maxtor по 80 гигов на контроллере Promise Fasttrak 100 TX4. Моя политика бэкапа подразумевает временное резервирование только тех файлов со всех серверов, которые еще не архивированы на CD или DVD. А также на отдельном диске этого сервера складываются бэкапы системных разделов при ежедневном и еженедельном копировании. К сожалению, системные диски я устанавливаю по остаточному принципу, и получается, что они умирают гораздо чаще, чем диски из массива. И здесь выручает правильно настроенный бэкап.

Конфигурация «бэкапного» - мамка ASUS P3B-F, проц P2-450, память 256 Мб PC100.

Нижний сервер выполняет роль шлюза между моей подсеткой и всей локальной сетью. На серваке под Win 2003 server web edition крутится WinGate, пара FTP-серверов (WarFTPd, Serv-U), Apache, MySQL, PHP, форум и прочие инетовские дела.

Кстати о локальной сети и инете. Помимо того, что вся моя коллекция доступна в локальной сети, у меня также организован полноценный доступ из Инета через NAT (есть прямой IP). Однако из-за того, что инетовский трафик платный, доступ к серверам извне у меня ограничен - "только для своих". Также NAT мне необходим для контроля серверов, например - с работы.

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

О канале. Сейчас непосредственно ко мне в серверный ящик приходит с соседнего дома витая пара на 100 Мбит, а уже туда приходит оптика от центрального узла локальной районной сети. Для меня это неудобно тем, что имеющийся канал уже загружен и без меня. Ведь помимо меня на этом свиче сидят еще несколько домов и школа. В результате в сутки от меня уходит всего 60-80 Гб трафика, а в месяц я отдаю суммарный трафик, эквивалентный объему только одного только видеосервера. В ближайшие недели (а может уже и дни) по договоренности с администрацией сети ко мне должна прийти выделенная оптика. Вот тогда серверы заработают на полную!

Все сервера объединены в сеть через восьмипортовый гигабитный свич D-Link, который закреплен в верхней части ящика:

Рис.4.

На четыре его порта заведены все серверы, а оставшиеся четыре уходят вниз, в квартиру. Все внутренние кабели - неэкранированная витая пара пятой категории. Первоначально на его месте был 100-мегабитный свич. Но с ростом нагрузки – за счет серверов, исходящего наружу трафика, бэкапа и личных нужд - старый свич оказался загружен на все 100% и пришлось отправить его на заслуженный отдых. Теперь средняя скорость перегона больших файлов составляет 40-70 Мбайт/сек и ограничена только производительностью самих дисковых массивов. Электропитание серверного ящика учитывает особенности электроснабжения дома, котором я проживаю. В доме часто отключают электроэнергию по отдельным подъездам. Причем иногда всего на несколько секунд, иногда (но гораздо реже) питание остутствует часами. Поэтому в ящик заводится две разные фазы из двух соседних подъездов (в идеале планирую сделать из разных домов :-). При отключении основной фазы силовое реле перекидывает питание устройств на другую. Вся высоковольтная коммутация собрана в закрытом электрощитке.

На время перекоммутации и при глобальных отключениях обеих фаз оборудование резервируется через UPS PowerMan RealSmart 1500.

Практика показала, что этой UPS хватает для питания всего моего оборудования в течение примерно десяти минут. Однако уже сейчас UPS загружен примерно на 85% и поэтому я предполагаю установить второй UPS.

Для питания низковольтного оборудования в ящике установлен отдельный компьютерный БП на 300 Вт, от которого я использую напряжения +12В (вентиляторы, KVM переключатель и KVM extender и пр.) и +5В (консоль удаленного управления серверами). Этот БП также питается через UPS.

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

В обычном режиме доступ к "рабочим столам" серверов осуществляется через Remote Administrator, а когда это невозможно (например нужно посмотреть BIOS или синий экран смерти :-) доступ к серверам осуществляется следующим образом: все устройства сведены на электронный четырехканальный KVM-свич Planet, а к тому подключен KVM extender ATEN CE-220. Передающая часть этого устройства преобразует сигналы от клавиатуры, мыши и монитора (KVM) в цифровой поток, который передается по обычной экранированной витой паре категории 5е (но это не Ethernet сигнал, поэтому в свич его включать нельзя!). Приемная часть устанавливается дома и осуществляет обратное преобразование в традиционную KVM-раскладку. Максимальная дальность удаления приемника от передатчика может быть до 150 метров, у меня же она не превышает 40 метров, никакого ухудшения изображения при этом не наблюдается.

Все управление сетью осуществляется с домашнего компьютера на платформе ASUS Pundit, который имеет вот такое нетрадиционное расположение:

Рис.5.

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

Как и все серверы, этот домашний компьютер включен круглосуточно, так как выполняет множество функций: во-первых, на нем живет почта, аська и прочие прелести Инета; во-вторых, через KVM extender есть прямой доступ ко всем серверам, в-третьих, между процессорным блоком и монитором подключен внешний TV тюнер AverMedia TV BOX 3 и легким движением руки монитор превращается в полноценный телевизор. И есть еще одно немаловажное его предназначение.

Хотя доступ на серверный чердак ограничен решетками и железными дверями с внушительными замками и можно предположить, что посторонних там не может быть, все же для большей надежности мною были предприняты дополнительные меры безопасности. Сам чердак, все подходы к нему, а также входная дверь в квартиру просматриваются видеокамерами. Изображение с четырех камер поступает в домашний компьютер, где оцифровывается специализированной платой и пишется на диск. Живое или записанное изображение возможно просматривать как с локального компьютера, так и удаленно по сети. Уведомления о любом движении в зоне камер поступают на e-mail и sms. Зоны детектирования движения можно гибко настраивать.

Для интересующихся расскажу подробнее о системе видеонаблюдения.

У меня стоят две камеры Sony SPC-10E с фантомным питанием, объективы с автодиафрагмой Avenir и в термобоксах и две скрытые мини-камеры SK-2005 CAS. Видеосигнал от камер идет по обычному коаксиалу РК75-4. Для мини-камер я спаял самодельные магистральные усилители видеосигнала. Через подобные (по схеме) распреды сигналы со всех камер заведены на монитор Commax CCM-10Р с коммутатором на четыре входа. А также видео пишется на винт через четырехканальную плату Grand X guard. Для записи видео, ведения архивов записей, анализа движеня и прочих сервисов используется родной софт платы версии 3.0 от шестнадцатиканальной платы. Кстати даже четырехканальная плата легко наращивается до 16, так как на плате все элементы уже распаяны. Остается только добавить разьемырайверы для всех плат тоже одинаковые, софт тоже совместим.

Заключение

К сожалению при создании этой сети не все так гладко происходило, как кажется при прочтении этой оптимистической статьи. Например были проблемы с электроснабжением и местным населением. Дело в том, что основное питание серверной берется из электрощитка последнего жилого этажа. По настоянию местного электронадзора в щитке пришлось установить дополнительный автомат на 25 А и только после него кабель идет в серверную. Так вот "бабка - одинокий божий одуванчик", которой принадлежит электрощит, повадилась отключать этот автомат. Аргументы у нее были такие:

- из-за меня у нее счетчик теперь больше накручивает;

- из-за этого "антернета" тиливизер сам включается и выключается и мало каналов ловит;

- я по ночам хожу по жестяной крыше ее балкона и кричу птичьими голосами;

- из-за меня у нее крыша протекает;

- и вообще ходют тут всякие терористы...

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

Хотя в целом хочу признать данное решение весьма успешным и достойным для последующего клонирования. Так что, если кто-то надумает повторить мою конструкцию, то я готов ответить на все технические вопросы, касающиеся этого проекта. ...Пожалуй, кроме одного - зачем все это нужно :-)

Андросов Михаил, homenetw@narod.ru.  http://homenet.btv.ru/