История создания одной домашней сети и ее техническое описание

Сисадмина спрашивают:
— Что бы ты сделал, если бы у тебя был миллион баксов?
— Я бы построил крутую сетку с гигабитными каналами и терабайтными серваками. И администрировал бы ее для души…

Содержание


1. История создания моей домашней сети

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

Поэтому на первом этапе, несколько лет назад, мне пришлось собрать под эту коллекцию отдельный компьютер, который тогда по праву можно было назвать «файл-сервер». Первый дисковый массив состоял из двух дисков Quantum AS по 60 Гб, подключенных через контроллер Promise FastTrak 66 в режиме RAID 1 (зеркало). Операционная система Windows NT. Попутно с этого компьютера осуществлялся выход в интернет через модем, и потому на него были возложены все традиционные сетевые задачи: DNS, DHCP, прокси-сервер и пр. С основным домашним компьютером сервер был связан через сеть 10 Мбит на витой паре. Как любой «домашний» компьютер, он включался только, когда хотелось послушать музыку, посмотреть кино или «навестить» Интернет.

Шло время, запасы музыки и фильмов росли, места на дисках опять перестало хватать и, чтобы не отставать от прогресса, мне опять пришлось совершенствовать файл-сервер. На этот раз массив состоял из шести дисков WD по 80 Гб в программном RAID5, смонтированным средствами Win 2000 server. Под новый сервер удалось раздобыть Б/У рэковый корпус SVEC FD7130 высотой 4U. К тому времени я уже осознавал, что одним этим сервером дело не ограничится, и планировал в отдаленной перспективе собрать нормальную рэковую стойку. Правда, до сих пор эта мечта не осуществлена. Итак, очередной сервер был установлен дома, на застекленном балконе и, в отличие от предыдущего, был запущен на круглосуточную работу. Коллега подарил старый UPS APC smart 600 с убитыми батареями. Вместо них я подключил два полуживых АКБ по 96 ампер/часов от дизельного Мерседеса, и теперь сервер был надежно защищен от диверсий пьяных электриков, которые регулярно отключают свет в доме от нескольких секунд до нескольких часов. Заодно от этой UPS был запитан свич CNet на 100 мбит, радиотелефон Panasonic, АОН и квартирная система видеонаблюдения, которая уже восемь лет показывает мне все, что происходит за входной дверью. Через некоторое время место на сервере опять закончилось и пришлось снова наращивать массив. Потом не стало места для установки новых дисков и пришлось менять корпус. И так по кругу…

Переломным периодом в моем кустарном «серверотворении» стало известие, что до моего дома добралась районная компьютерная сеть «Юнионлайн». Поскольку моя основная работа тесно связана с сетью Интернет, и он мне нужен не для развлечения, то я, не раздумывая, сразу подключился к их сети. К тому времени дисковый массив моего файл-сервера составлял уже 800 Гб, и выяснилось, что у меня одна из самых больших в районе частных коллекций фильмов и музыки, да еще с круглосуточным свободным доступом. Здесь следует отметить, что суммарно эта районная домовая сеть охватывает весь север Москвы (она состоит из нескольких отдельных сетей связанных между собой межсетевыми линками). Мне не жалко было предоставить содержимое моей коллекции для публичного доступа. Однако моя супруга (которая между прочим сама любила послушать музыку с сервера и посмотреть фильмы) заявила, что ей надоел вечный шум от стоящего на балконе сервера и поставила классическое условие: «или я или он» :-)). Расставаться ни с тем, ни с другим я не планировал, поэтому пришлось искать новое место для создания «серверной». И оно было найдено!

Наша районная локальная сеть имеет полный комплект разрешительных документов и лицензий для свой деятельности, а также договора с префектурой на размещение сетевого оборудования на чердаках домов. Да еще нам попалось компьютерно-образованное руководство местного РЭУ, которое с пониманием относилось к нашим (моим) проблемам. Таким образом, выступая под прикрытием местной локальной сети, я получил добро на организацию серверного помещения на чердаке своего дома в своем же подъезде. А дальше началось сплошное творчество и «рукоприкладство». Руководство сети пообещало мне выделить железный ящик под сервер. Но выяснилось, что этот ящик по габаритным размерам не проходит через люк, ведущий на чердак. Да и конструкция его меня не устраивала. Поэтому я решил делать ящик сам, полностью отвечающий моим требованиям. Из стальных трехмиллиметровых листов и 35-мм уголка я сварил каркас. Приварил сейфовые петли, внутренние скобы и распорки для защиты от спиливания, установил пару сейфовых замков. Через несколько дней колдовства в гараже серверный шкаф был готов. Итоговая себестоимость всех материалов для ящика на тот момент составила около 80$.

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


Общий вид серверного ящика на фоне чердака

Учитывая гигантские темпы расширения моей коллекции, я проектировал ящик на размещение в нем сразу нескольких серверов. Оптимальной мне виделась конструкция под четыре сервера: два основных файл-сервера, шлюзовой сервер для связи с внешним миром и вспомогательный (он же бэкапный). Ориентировочная полезная нагрузка — до 100 кг. В результате получился ящик с габаритными размерами 1100 мм (высота), 900 мм (ширина), 800 мм (глубина). Верхнее отделение высотой 600 мм, нижнее 500 мм. Полка из ДСП пропитанного негорючим раствором. Точных чертежей ящика не существует, так как при его создании я «импровизировал». Но если будет свободное время, то попробую нарисовать чертежи. Дверца ящика изнутри защищена скобами, предохраняющими ящик от вскрытия при спиливании петель. Замки сейфовые, на массивных 5-мм кронштейнах.


Общий внутренний вид серверного ящика

2. Вентиляция и охлаждение

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


Общая схема охлаждения серверного ящика (вид слева, сбоку)

Вдоль задней части боковых стенок ящика, с обеих сторон, выпилены по два отверстия и напротив них, изнутри, установлены компьютерные вентиляторы 120 мм, 12 В, 0.36 А.


Размещение выдувных вентиляторов (вид справа, сбоку)

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


Воздухозабор с улицы


Ввод в серверный ящик

Положение внутренней решетки приточной вентиляции спроектировано таким образом, что холодный воздух с улицы поступает в нижнюю часть ящика, вертикально равномерно распределяется по передней стенке между нижней и верхней секциями, а прошедший через все охлаждаемые устройства уже горячий воздух выдувается через заднюю часть боковых стенок, упомянутыми выше вытяжными вентиляторами. Разумеется, на всех этапах стоят решетки и сетчатые фильтры. Кстати практика показала, что в летнее время входные фильтры очень забиваются каким-то пухом (не только тополиным) и требуют, как минимум, еженедельной чистки. Иначе доступ холодного воздуха сильно снижается. Приточный вентилятор питается от 220 В и его паспортная производительность — 450 л/час.

И самое главное! В результате такой организации вентиляции в самое жаркое летнее время температура выдуваемого из ящика воздуха при полностью нагруженных серверах не превышает 37 градусов. То есть фактически равна летней уличной температуре. Это если не идеальные, но вполне достаточные условия существования серверов в ограниченном закрытом пространстве. Температура процессоров не превышает 50 градусов, а жестких дисков в массивах – не более 35 градусов.

Для контроля температуры внутри ящика, вокруг него, а заодно и на улице, я использую семь датчиков DS 18S20. Адаптер MicroLan (шина 1-ware) самодельный, он основан на преобразователе уровней max232a в типовом включении и развязке TX и RX на транзисторе BS107A. Единственная доработка стандартной схемы – добавлена индикация сигналов TX и RX на двухцветном светодиоде. В основном индикация нужна на этапе отладки.

Данные с термометров собираются программой Temp Keeper 2.3.6, которая рисует графики и пишет логи:

К сожалению, в этой программе кроме подачи звукового сигнала, никаких других действий при превышении температуры не предусмотрено, поэтому дальше логи анализируются моей самописной программой, и она уже отправляет предупреждения на e-mail.

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. Сетевая карта D-Link DGE-530T. Операционка – Win 2003 server.

В большом сервере 12 IDE дисков WD по 200 Гб в массиве RAID5. Здесь диски установлены в четыре фирменные корзины AOpen. Каждая корзина рассчитана на размещение трех дисков. В передней части корзин вентиляторы 80 мм с тахометром. Для создания RAID5 массива использован контроллер ESCALADE 3ware 7506-12. Процессор Celeron 2400 на маме ASUS P4P800 delux с 512 Мб DDR DIMM. Сетевая карта интегрированная 3COM 3C940. Операционка – Win 2003 server. Хочу обратить внимание, что дисковые RAID контроллеры имеют шину PCI64, но в моем случае установлены в обычные материнские платы шиной PCI32. Разумеется, пропускная способность шины и итоговая производительность дискового массива будет вдвое, но позволить себе материнские платы с шиной PCI64 я пока не могу. И еще один интересный момент: 12 дисков по 200 гигабайт в случае RAID5 дают суммарный полезный объем массива 2049,41 Гб. Однако на практике выяснилось, что максимальный размер тома в файловой системе NTFS-5 не может превышать 2 Тб, а мой массив оказался больше. Поэтому один из дисков я отвел под горячий резерв, который позволяет реализовать RAID контроллер. В результате полезная емкость массива составила всего 1863,10 Гб.

Для контроля температуры и вентиляторов в большом сервере установлен восьмиканальный модуль TS Thermal@Control 88M.

        

Этот модуль контролирует температуру 8 термодатчиков, управляет 8 вентиляторами, а заодно контролирует напряжения от БП +5 В и +12 В. Наиболее полно его возможности реализуются, если термодатчики установлены на тех узлах, которые охлаждают соответствующие вентиляторы. В этом случае вентиляторы могут быть настроены на автоматическое включение при превышении пороговой температуры. Собственно именно так у меня и настроено. Единственный, но серьезный недостаток устройства — он абсолютно автономный и никак не связан с программными средствами компьютера, поэтому невозможно снимать с него показания удаленно.

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

Верхний сервер, который когда-то у меня был первым и единственным теперь считается «бэкапным». В нем сейчас 4 диска Maxtor по 80 гигов на контроллере Promise Fasttrak 100 TX4. Моя политика бэкапа подразумевает временное автоматическое резервирование тех файлов со всех серверов, которые еще не архивированы на CD или DVD. Также на отдельном диске этого сервера складываются бэкапы системных разделов при ежедневном и еженедельном копировании. К сожалению, системные диски я устанавливаю по остаточному принципу и получается, что они умирают гораздо чаще, чем диски из массива. И здесь выручает правильно настроенный бэкап. Мамка этого сервера ASUS P3B-F, проц P2-450, память 256 Мб PC100, сетевая карта D-Link DGE-530T.

Нижний сервер выполняет роль шлюза между моей подсеткой, локальной районной сетью и интернетом. На сервере под Win 2003 server web edition крутится WinGate, пара FTP серверов (WarFTPd, Serv-U), Apache, MySQL, PHP, VPN, форум и прочие инетовские дела. Кстати, на этом сервере есть еще место для шести дисков, которое я оставил «на черный день», т.е. когда забьются все остальные массивы. Материнская плата ASUS NRL-LS с интегрированным видеоадаптером и гигабитной сетью, 512 Мб ECC памяти, второй сетевой адаптер D-Link DGE-550T, третий Intel PRO/100.

Более подробно о программных средствах серверов и структуре моей сети читайте в следующей главе.

 




4 января 2005 Г.

:
— , ?
— . …


1.

. , . - , CD-R . -, mp3 (, ). -, CD . DVD .

, , , -. Quantum AS 60 , Promise FastTrak 66 RAID 1 (). Windows NT. , : DNS, DHCP, - . 10 . , , , «» .

, , , , -. WD 80 RAID5, Win 2000 server. / SVEC FD7130 4U. , , . , . , , , , . UPS APC smart 600 . 96 / , , . UPS CNet 100 , Panasonic, , , . . . …

«» , «». , , , , . - 800 , , , . , ( ). . ( ) , : « » :-)). , , «». !

, . - , () . , , . «». . , , . . , . 35- . , , . . 80$.

. , , 10- . 130 ! , . , , . - , 60 . : , ; «» . . . «» . . — :-) , .


, . : -, ( ). — 100 . 1100 (), 900 (), 800 (). 600 , 500 . . , «». , . , . , 5- .


2.

, , . . , . , . :


( , )

, , , , 120 , 12 , 0.36 .


( , )

( ). , . . ( ). . 150 :




, , , , . , . , - ( ) , , . . 220 — 450 /.

! 37 . . , . 50 , – 35 .

, , , DS 18S20. MicroLan ( 1-ware) , max232a TX RX BS107A. – TX RX . .

Temp Keeper 2.3.6, :

, , , , e-mail.

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. D-Link DGE-530T. – Win 2003 server.

12 IDE WD 200 RAID5. AOpen. . 80 . RAID5 ESCALADE 3ware 7506-12. Celeron 2400 ASUS P4P800 delux 512 DDR DIMM. 3COM 3C940. – Win 2003 server. , RAID PCI64, PCI32. , , PCI64 . : 12 200 RAID5 2049,41 . , NTFS-5 2 , . , RAID . 1863,10 .

TS Thermal@Control 88M.

        

8 , 8 , +5 +12 . , , . . . , — , .

. , « », - .

, - «». 4 Maxtor 80 Promise Fasttrak 100 TX4. , CD DVD. . , , , . . ASUS P3B-F, P2-450, 256 PC100, D-Link DGE-530T.

, . Win 2003 server web edition WinGate, FTP (WarFTPd, Serv-U), Apache, MySQL, PHP, VPN, . , , « », .. . ASUS NRL-LS , 512 ECC , D-Link DGE-550T, Intel PRO/100.

.


.