Делаем сервер своими руками. Мифы и реальность, а также с чего начать


Собираем сервер с нуля

1. Вступление

Давно уже была мысль написать свою статью про создание выделенного сервера CS 1.6 с AMX Mod X. Если даже очень хорошо поискать мануалы про установку AMX, то вряд ли вы найдёте больше двух разных статей (их копируют очень часто).
Обе уже сильно устарели, ссылки побились, вышли новые версии программ, много чего поменялось, есть много непонятных моментов, особенно для новичков.

Сразу скажу, что для сервера требуется достаточно мощная машина, тем более, если вы рассчитываете играть на своем сервере с этого же компьютера (Intel Pentium 4, 3 GHz, 1 GB Ram минимум). Если сервер не только для локальной сети, но и для инета, то вам понадобиться широкий канал (от 2 мб/с) и самое главное - выделенный ip адрес, он чаще всего покупается у провайдера за отдельную аб. плату (50-100 р/мес).

2. Установка чистого сервера

Сначала определимся, что такое HLDS, и где его взять. HLDS - Half Life Dedicated Server - выделенный сервер для Half-Life и CS 1.6. Выделенный - значит отдельный, для его запуска лучше использовать отдельный компьютер, сервер создается без запуска самой игры, что очень удобно. Чаще всего ставятся именно выделенные сервера. В no-steam версиях CS он обычно устанавливается вместе с самой игрой, т.к. сервер использует многие файлы самой игры (т.е. HLDS - это серверная часть игры). Использовать этот сервер не рекомендуется, но вполне реально. Нам нужна последняя, официальная, "чистая" версия HLDS. Он бесплатный, его можно спокойно скачать из интернета.
Сервер скачивается с официального сайта, 315 мб.
Для этого нам понадобиться программка hldsupdatetool.
Скачиваем её:
Устанавливаем, путь установки лучше оставить по умолчанию (C:/Program Files/Valve/HLServer). Запускаем HldsUpdateTool.exe, пойдет процесс проверки обновлений (программы, а не самого сервера). Если есть обновления, она сама их скачает и установит. Создаем папку serv на диске C:. В эту папку (C:serv) будет скачиваться сервер. Далее нам нужно запустить HldsUpdateTool.exe с ключами -command update -game cstrike -dir c:serv.
Как запустить программу с ключами? Проще всего это сделать через ярлык: нажимаем правой кнопкой по hldsupdatetool.exe и выбираем создать ярлык. Заходим в его свойства (правой кнопкой мыши по ярлыку -> свойства). Смотрим на поле объект, там у нас должно быть "C:/Program Files/Valve/HLServer/HldsUpdateTool.exe" (если вы делали всё в точности по этой статье). Нам нужно всего лишь к этой строчке добавить ключи, написанные выше. В результате это будет выглядеть так: "C:/Program Files/Valve/HLServer/HldsUpdateTool.exe" -command update -game cstrike -dir c:serv. Не напутайте с пробелами, всё должно выглядеть точно так, как написано; нажимаем "Применить". Запускаем ярлык, пойдет процесс загрузки HLDS.
Внимание! Бывает, что сервер не отвечает и скача не идет, придется попробовать еще раз, но позже. По окончанию загрузки в папке C:serv появится куча файлов, это и есть наш HLDS. Сразу сделайте копию этой папки на всякий случай, чтоб было откуда восстанавливаться. Папку с сервером можно его перенести в любое другое удобное место. Пусть это будет D:Server.
Сам сервер уже можно запустить, заходим в папку сервера, запускаем hlds.exe. Выбираем параметры и Start Server.
Не забудьте, что сейчас у вас в руках официальный сервер, а значит с No-Steam (пиратская кс) на сервер вы не зайдёте. Будет ошибка "STEAM validation rejected". Как это лечится читайте в разделе про Dproto.
Как узнать версию сервера? Наберите в консоли сервера version:

3. Настройка сервера

Все основные параметры сервера хранятся в файле cstrikeserver.cfg.
Открываем его блокнотом. Смело оттуда всё удаляем и вставляем следующее:

// Set the Host Name hostname "testing…" // Имя сервера. // Set the rcon password rcon_password "password" // Пароль для управления сервером через консоль клиента. Чтобы данная функция не работала, оставьте пустым. // Server Logging log on // включаем режим записи логов mp_logdetail 3 // определяем детальность записи логов mp_logmessages 1 // записывать сообщения // Server Variables mp_timelimit 30 // Время на карту (в мин) mp_autokick 0 mp_autoteambalance 1 // Автоматический баланс команд. mp_c4timer 35 // Время таймера на бомбе (в сек) mp_flashlight 1 // Разрешить фонарик mp_footsteps 1 mp_freezetime 2 // Время для закупки в начале раунда, когда нельзя двигаться (в сек) mp_friendlyfire 0 // Режим попадания по своим тим-мэйтам mp_hostagepenalty 0 mp_limitteams 0 mp_tkpunish 0 mp_roundtime 2.5 // Длительность раунда (в мин) mp_buytime 0.50 // Время, от начала раунда, когда ещё можно купить оружие (в мин) mp_fadetoblack 0 mp_forcechasecam 1 mp_forcecamera 0 mp_kickpercent 100 mp_playerid 1 mp_startmoney 800 mp_chattime 3 mp_falldamage 1 // Есть урон от падений sv_airaccelerate 10 sv_airmove 1 sv_restartround 0 sv_maxspeed 320 sv_proxies 1 sv_allowupload 1 sv_voiceenable 1 sv_alltalk 0 sv_voicequality 4 sv_voicecodec voice_speex allow_spectators 1 pausable 0 cl_weather 0 // cheat and fun modes sv_aim 0 sv_cheats 0 // Set Rates sv_maxrate 20000 sv_spectatormaxspeed 500 sv_maxspeed 320 sv_maxupdaterate 101 sv_minrate 2500 sv_minupdaterate 20 decalfrequency 10 sys_ticrate 200 // Enable/Disable LAN mode sv_lan 1 // Для локальной сети - 1, для Интернета - 0.

Теперь открываем блокнот и пишем следующую строчку:
start "Server" /min /high "hlds.exe" -game cstrike +port 27015 +map de_dust2 +maxplayers 17 -insecure -console

Рассмотрим подробнее, что здесь написано:
start "Server" - запуск консоли с заголовком Server
/min - свернуть после запуска
/high - ставим высокий приоритет
-console - сервер стартует в консольном режиме
-game cstrike - запускать сервер под CS
-insecure - отключить VAC
+maxplayers 17 - количество слотов (до 32)
+map de_dust2 - сервер запуститься с карты de_dust2
+port 27015 - порт, на котором будет работать сервер

4. Установка metamod

Metamod служит для подключения дополнительных модов на сервер, таких как AMX Mod X, StatsMe, античитов и др.
: (320 Кб, версия 1.20).
В папке cstrike создаем папку addons, а внутри неё папку metamod. И распаковываем файл metamod.dll в неё. Открываем cstrikeliblist.gam (блокнот) и исправляем строчку gamedll "dllsmp.dll" на gamedll "addons/metamod/metamod.dll" и сохраняем.
Всё, метамод установлен, можно приступать к установке модов.

5. Установка и настройка AMX Mod X

Скачиваем последнюю версию. Создайте папку dproto в каталоге D:/Server/cstrike/addons. Файл dproto.dll из архива, в папке binwindows скопируте в папку D:/Server/cstrike/addons/dproto. В файле metamod/plugins.ini допишите такую строчку: win32 addons/dproto/dproto.dll.
Файл dproto.cfg из архива поместите в корень сервера (D:Server). В нём содержаться настройки dproto, откройте его. В принципе, можно ничего не менять, но вот это стоит рассмотреть отдельно:

# ServerInfoAnswerType (0/1) # Sets server answer type for query requests # 0 = New style (Source Engine) # 1 = Old Style (Fix favorites list for p.47 clients) # 2 = Hybrid mode - best solution for now, server is visible anywhere ServerInfoAnswerType = 2

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


Новость отредактировал: - 15-05-2017, 14:26
Причина: Обновил ссылки

Информация
Посетители, находящиеся в группе Гости , не могут оставлять комментарии к данной публикации.

Несколько лет разрабатывали с другом проект, для которого в конечном итоге понадобился сервер. И мы задумались: как реализовать нашу идею?
Для начала позвонили местному интернет-провайдеру, чтобы узнать расценки стоимости размещения своего сервера в дата центре. Узнали, оказалось, что стоимость размещения зависит от количества юнитов, из которых состоит сервер. И для себе решили, что для нас идеальным вариантов будет размещения сервера размером в 1U.

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

Реализация

Для начала необходимо было определиться с размерами и железом, которое будет помещено в корпус. Стандартные размеры нетрудно найти в интернете, главной задачей было впихнуть комплектующие в высоту 43,7 мм., именно столько составляет величина 1U.
Ну… поехали! В нашем городе трудно быстро и дёшево купить серверную турбинку, поэтому куллер решили делать из того что было. Был куплен радиатор и доработан ножовкой по металлу, под нужную высоту.


Вид после распила.

Площадь радиатора была сокращена, поэтому пришлось делать куллер с более мощным потоком воздуха. Ну, и конечно, куда мы без испытаний…? Нужно было проверить интенсивность охлаждения средствами какими у нас были. И так, перед нами три участника: сдвоенный вентилятор, картонная турбинка и рядовой вентилятор для радиатора.

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


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

Далее на очереди был обычный 500W ATX блок питания. Для начала мы совершили над ним акт вандализма, спилили радиаторы и отпаяли высокие детали.


Затем вернули всё на свои места, но под другим углом.


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


Ну и чтоб не ржавело, красим краской из автомобильного баллончика.


И теперь, когда основные части были готовы, осталось снять замеры и начертить чертёж по размерам 650х425. Важным аспектом было расположение элементов сервера таким образом, чтобы он придерживался стандартной системы охлаждения – спереди забор холодного воздуха, сзади отдача тёплого. Поэтому из-за конструкции ATX материнской платы, воздух с процессора пришлось отводить в сторону, а блок питания перенести в переднюю часть сервера. Начертили чертеж корпуса на бумаге.


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


И понеслась… Если честно сначала всё выглядело ужасно, даже хотелось бросить эту затею, собственно вот:


В итоге получилась вот такая коробочка, больше похожая на вентиляцию чем на сервер…


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


Осталось всё собрать.
С качеством сборки особо не старались, так как это было временное решение, до того как проект начнёт приносить прибыль. На фото видно, как местами применялся клеевой пистолет.


В итоге мы собрали вот такой необычный сервер. В нём есть ещё место под дополнительные жёсткие диски и одну плату расширения (нужно только докупить райзер).

Самое интересное в задней части сервера. Воздух в корпус заходит спереди, а выходит слева от материнской платы, так как подавать напрямую на процессор нам мешает оперативная память и слот питания материнской платы. Передних вентиляторов на один больше, чем слева, это сделано для того, чтобы воздух в пространство с материнской платой нагнетался быстрее чем забирался. В итоге мы охлаждаем радиатор процессора не разрежением, а постоянным потоком воздуха. Для более эффективного охлаждения процессора, склеили гофр соединяющий радиатор и три вентилятора. По бокам стоят менее производительные вентиляторы для оперативной памяти и транзисторов. Ну, и конечно, для чего же приклеена жёлтая полоска? (Кто разбирается в стиле, нас поймёт!) Шутим, конечно. Полоска нужна, чтобы выходящий поток тёплого воздуха с процессора не перебивал поток воздуха с блока питания, так как на блоке питания стоят менее оборотистые вентиляторы. А с данной полоской воздух выходит направленно в заднюю часть корпуса.


Для эффективного охлаждения передняя часть была выполнена в виде решётки, чтобы уменьшить сопротивление воздуха, сделанной и вырезанной из обычной сетки закрепили её с помощью того же клеевого пистолета.
Осталось приобрести салазки и можно устанавливать! Таким образом, мы получили достаточно дешёвый и мощный сервер на базе процессора Athlon II X4 3.0GHz и 8 гб. оперативной памяти.
Себестроимость собранного сервера составила 14 000 руб.

Задача: собрать малогабаритный домашний сервер с четырьмя 3,5-дюймовыми HDD, по возможности тихий. Служить будет в качестве NAS, backup-сервера и торрентокачалки.

Решение :
Во-первых необходимо было выбрать материнскую плату. Стандарные варианты - это mATX и Mini-ITX, оба из которых я пробовал ранее.

Форм-фактор mATX был отвергнут сразу, малыми усилиями сделать компактно с ним не получится. Существующие корпуса для mATX плат не рассчитаны на 4 диска, в них обычно ставят плохие и шумные блоки питания. Сделать компактный и тихий блок питания для такой системы трудно и дорого, т. к. потребляемая мощность будет больше 150 Ватт.

Форм-фактор Mini-ITX дает большую свободу выбора, тут и тихоходные процессоры Atom, Celeron, бодрые «середнячки» Athlon и мощные Core 2 Duo/Quad. Цена разнится сильно, но для моих задач хватит и Atom. Такие платы потребляют мало мощности, занимают мало места и обычно не сильно уступают mATX платам по кол-ву функций. Есть здесь и свои минусы: высокие цены, чуть меньшее кол-во разъемов, небольшой выбор.

К сожалению, на российском рынке выбор Mini-ITX плат меньше, чем за рубежом, но этому не стоит удивляться, учитывая их невысокую популярность. Хороший ассортимент представлен на Яндекс-Маркете и в некоторых специализирущихся на малых форм-факторах компаниях. Здесть стоит отметить Антекс и Оникс (он же dont.ru). На зарубежных сайтах (linitx.com , mini-itx.com , idotpc.com) выбор куда шире.

Подходящей маломощной платы с 4-мя SATA-разъемами я не нашел, а покупать с двумя и отдельно sata-контроллер не хотелось, единственный PCI-слот может еще пригодиться для чего-нибудь более полезного, например Wi-Fi адаптера.

Я хотел еще сделать из компьютера домашний роутер, поэтому искал плату с двумя ethernet-разъемами.

Выбор был, хоть и не большой, но, погуглив, я нашел отличную плату с двухъядерным процессором Atom, PCI-слотом, двумя ethernet-раземами и, о чудо, четырьмя SATA-разъемами. Отличный вариант: маломощный, но не совсем слабый процессор, полный набор необходимых разъемов и всего одним вентилятор.

Теперь предстояло выбрать корпус. Для 4-х жестких дисков нашелся один-единственный корпус, Chenbro ES34069 , на вид такой же отличный, как и найденная плата, но достаточно дорогой. После чтения форумов выяснилось, что тишиной он не отличается.

Хорошо, поехали дальше, можно купить другой корпус и в нем сделать место под 4 диска. Как разместить диски на тот момент я представлял лишь примерно, но это меня не пугало. После тщательных поисков было найдено два небольших подходящих по вместительности корпуса: AOpen S180 и CFI GROUP CBI-A8989TG . Оба напоминали корпуса первых bareborn-систем. По расчетам подходили оба, но я решил взять корпус от Aopen, который был немного выше, чтобы было место про запас. Впоследствии это решение оказалось единственно верным, так как во второй корпус все бы так хорошо не упаковалось. Но обо всем по порядку.

Блок питания в купленном корпусе оказался на редкость шумным и я решил искать альтернативу. Блоки питания для Mini-ITX систем обычно состоят из двух компонент - адаптера питания от сети, как у ноутбуков и платы-конвертера. Плата конвертирует напряжение, выдаваемое блоком, обычно 12 Вольт в необходимые 3,3, 5, 12, -12 Вольт. По расчетам, система должна была потреблять до 100 Ватт в пике. Ассортимент таких безвентиляторных блоков питания оказался очень маленьким. В Москве найти плату и адаптер с выходной мощностью больше 80 Ватт оказалось невозможно. Адаптеры 220 - 12 Вольт мощностью от 100 Ватт в Москве являются штучным товаром, поездки по рынкам и поиски в сети почти ничего не дали. Лишь одна фирма предлагала привезти блок питания на 120 Ватт, но в непонятные сроки. Нашлась также и одна-единственная плата на 120 Ватт, тоже на заказ и в непонятные сроки. Пришлось искать в зарубежных интернетах. Немецкие и американские магазины предлагали такие комплекты, даже был хороший выбор, но по цене около 200$ с доставкой. Тогда я обратил внимание на автомобильные конвертеры, по сути такие же платы, только рассчитанные на плавающие автомобильные 12-24 Вольт, а не на стабильные 12. Для таких плат гораздо проще найти блок питания, ведь подойтет любой от ноутбука мощностью 100-120 Ватт. Блок питания у меня был, и я нашел сходный по цене вариант на eBay. Отлично, оставалось дождаться его по почте.

Жесткие диски были выбраны серии Barracuda LP, они подешевле и меньше греются, чем взрослые 7002.11 и подобные. Однако, при тестах выяснилось, что при нагрузках они все-таки сильно греются и им не мешало бы принудительное охлаждение. Между дисками надо было сделать зазоры для свободного прохождения воздуха.

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

В Леруа Мерлене нашлись подходящие для закрепления каретки в корпусе железные уголки и винты. Плата адаптера была закреплена на специально припаянных металлических стойках. Блок питания, идущий в комплекте с корпусом был снят, на задней стенке корпуса, в месте где выл вентилятор блока питания и разъем 220 В. образовалось внушительное пустое место, которое надо было как-то закрыть. Ножницами по металлу я аккуратно вырезал заплатку из листа алюминия и прикрепил к корпусу. Теперь предстояло сделать хитрый шлейф питания MOLEX-4 SATA, так как у блока питания был только один разъем molex. 20-контактный шлейф питания, соединяющий мат. плату и конвертер питания я спаял из шлейфа от старого блока питания.

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

Самой простой задачей оказалась покупка памяти. :) Для системного раздела я купил флешку на 8 Гб и спаял к ней адаптер для подключения к внутреннему разъему на мат. плате. ОС была поставлена на флешку, компьютер собран. В итоге я собрал тихий компьютер, где все получилось достаточно компактно, свободного места внутри было действительно мало.

Сейчас он работает под управлением Ubuntu 9.10, бекапы производятся с помощью snapback2+rsync.

Итоговая смета

Небольшой тест

Привожу результаты unixbench и, для сравнения, результаты тестов настольного компьютера (Athlon X2, 2 ядра, 2,5 Ггц, 2 Гб RAM) и сервера на базе Xeon 5500 (8 ядер, 2,5 Ггц, 48 Гб RAM).

Итоги

Самый дешевый NAS на 4 диска я нашел на Яндекс-Маркете за 14000 рублей (без дисков). Мой компьютер вышел на тысячу рублей дешевле и уж точно мощнее и функциональнее. Из минусов - потрачено много времени, найти детали в моем случае было не просто, и, добавим сюда риски покупки товаров из-за рубежа по почте.

Спасибо за внимание!

Еще никогда проблема хранения файлов не стояла так остро, как сегодня.

Появление жестких дисков объемом в 3 и даже 4ТБ, Blu-Ray дисков емкостью от 25 до 50ГБ, облачных хранилищ - не решает проблему. Вокруг нас становится все больше устройств, порождающих тяжеловесный контент вокруг: фото и видео-камеры, смартфоны, HD-телевидение и видео, игровые консоли и т.п. Мы генерируем и потребляем (в основном из интернета) сотни и тысячи гигабайт.

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

Это все нужно не просто хранить, но и уберечь от сбоев и прочих угроз.

Псевдо-решения проблемы

Можно оснастить свой компьютер емким жестким диском. Но в этом случае встает вопрос: как и куда архивировать, скажем, данные с 3-терабайтного диска?!

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

Можно хранить важные данные на оптических дисках, организовав домашний Blu-Ray архив. Но пользоваться им будет крайне неудобно.

Сетевое хранилище - решение проблемы! Отчасти…

Network attached storage (NAS) - сетевое файловое хранилище. Но можно объяснить еще проще:

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

В результате этого - NAS может хранить какие-либо Ваши данные, а вы можете получать к нему доступ с любого домашнего ПК или ноутбука. Забегая вперед, стоит сказать, что локальная сеть должна быть достаточно современной для того, чтобы вы могли быстро и без проблем «прокачивать» по ней десятки и сотни гигабайт между сервером и компьютерами. Но об этом - позже.

Где взять NAS?

Способ первый: покупка. Более-менее приличный NAS на 2 или 4 жестких диска можно купить за 500-800 долларов. Такой сервер будет упакован в небольшой корпус и готов к работе, что называется, «из коробки».

Однако, ПЛЮС к этим 500-800 долларов добавляется еще стоимость жестких дисков! Так как обычно NAS продаются без них.

Плюсы: вы получаете готовое устройство и тратите минимум времени.

Минусы такого решения: NAS стоит как настольный компьютер, но при этом обладает несравнимо меньшими возможностями. Фактически это просто сетевой внешний диск за большие деньги. За довольно большие деньги вы получаете ограниченный, невыгодный набор возможностей.

Мое решение: самостоятельная сборка!

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

ВНИМАНИЕ! Я настоятельно не рекомендую собирать домашний сервер, используя старый компьютер или старые, отработавшие свое комплектующие. Не забывайте, что файловый сервер - это хранилище ваших данных. Не поскупитесь сделать его максимально надежным, чтобы в один прекрасный день все ваши файлы не «сгорели» вместе с жесткими дисками, например, из-за сбоя в цепи питания системной платы…

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

Идеальным решением исходя из этого является системная плата со встроенным в нее процессором и пассивным охлаждением, компактных размеров.

Я выбрал системную плату ASUS С-60M1-I . Она была куплена в интернет-магазине dostavka.ru:

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

ASUS, как впрочем и всегда, укомплектовал плату очень щедро. Полные спецификации платы вы можете узнать здесь: http://www.asus.com/Motherboard/C60M1I/#specifications . Я скажу лишь о некоторых важных моментах.

При стоимости всего в 3300 рублей - она обеспечивает 80% всего того, что нам нужно для сервера.

На борту платы находится двухъядерный процессор AMD C-60 со встроенным графическим чипом. Процессор имеет частоту 1 ГГц (автоматически может увеличиваться до 1,3 ГГц). На сегодня он устанавливается в некоторые нетбуки и даже ноутбуки. Процессор класса Intel Atom D2700. Но всем известно, что Atom имеет проблемы с параллельными вычислениями, что часто сводит его производительность на «нет». А вот C-60 - лишен этого недостатка, и в добавок оснащен довольно мощной для этого класса графикой.

В наличии два слота для памяти DDR3-1066 , с возможностью установки до 8 ГБ памяти.

Плата содержит на борту 6 портов SATA 6 Гбит . Что позволяет подключить к системе целых 6 дисков(!), а не только 4, как в обычном NAS для дома.

Что САМОЕ важное - плата построена на базе UEFI , а не привычного нам BIOS. Это значит, что система сможет нормально работать с жесткими дисками более 2,2 ТБ. Она «увидит» весь их объем. Системные платы на BIOS не могут работать с жесткими дисками более 2,2 ГБ без специальных «утилит-костылей». Разумеется, использование такого рода утилит недопустимо, если мы ведем речь о надежности хранения данных и о серверах.

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

Набор портов вполне стандартный, огорчает только отсутствие нового USB 3.0. А особо хочется ответить наличие полноценного гигабитного сетевого порта:

На эту плату я установил 2 модуля по 2 ГБ DDR3-1333 от Patriot:

Система Windows 7 Ultimate устанавливалась на жесткий диск WD 500GB Green, а для данных я приобрел HDD Hitachi-Toshiba на 3 ТБ:

Все это оборудование у меня питается от БП FSP на 400 Ватт, что, разумеется - с запасом.

Финальным этапом была сборка всего этого оборудования в корпус mini-ATX.

Сразу после сборки я установил на компьютер Windows 7 Ultimate (установка заняла порядка 2 часов, что нормально, учитывая низкое быстродействие процессора).

После всего этого я отключил от компьютера клавиатуру, мышь и монитор. Фактически, остался один системный блок подключенный к локальной сети по кабелю.

Достаточно запомнить локальный IP этого ПК в сети, чтобы подключатся к нему с любой машины через стандартную Windows-утилиту «Подключение к удаленному рабочему столу»:

Я намеренно не стал устанавливать специализированные операционные системы для организации файлового хранилища, типа FreeNAS. Ведь в таком случае, не было бы особого смысла собирать отдельный ПК под эти нужды. Можно было бы просто купить NAS.

А вот отдельный домашний сервер, который можно загрузить работой на ночь и оставить - это интереснее. К тому же, привычным интерфейсом Windows 7 удобно управлять.

Итого общая стоимость домашнего сервера БЕЗ жестких дисков составила 6 000 рублей.

Важное дополнение

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

Что уж говорить о Wi-Fi. Хорошо, если вы используете Wi-Fi 802.11n - в этом случае скорость сети держится в районе 100 Мегабит. А если стандарт 802.11g, где скорость редко бывает больше 30 Мегабит? Это очень, очень мало.

Идеальный вариант, когда взаимодействие с сервером происходит по кабельной сети Gigabit Ethernet . В этом случае - это действительно быстро.

Но о том, как создать такую сеть быстро и с минимальными затратами - я расскажу в отдельной статье.

16 сентября 2015 в 18:36

Домашний сервер для работы и не только. Организация рабочего места ленивого инженера

  • Виртуализация

Вспоминая слова одного преподавателя вуза: «Кто такой инженер? Это же лентяй! Вот он лежит на диване, смотрит телевзор. И захотелось ему переключить канал - но вставать то лень! „Ай, ну его, каналы вставать переключать - пойду-ка разработаю пульт дистанционного управления...“. Всегда хотелось сделать что-то интересное и максимально это автоматизировать…

Итак, исходные данные:

0. Работа удаленным инженером-администратором. Поддержка парка серверов/сервисов по части software и hardware.
1. Место дислокации - загородный дом.
2. Гигабитный интернет с резервированием (Просто всегда был рад помочь местным сете-строителям с настройкой и сборкой серверов.)
3. Отностительно надежная инфраструктура - водо-, газо-, электроснабжение.
4. Желание тишины и спокойствия автоматизации для комфортной работы и быта.

Задачи:
1. Удобная организация рабочего места с возможностью оперативного мониторинга.
2. Необходимая функциональность в свете безопасности, быстродействия и широкого спектра задач.
3. Энергоэффективность.
4. Изоляция рабочей среды от потенциальных угроз.

Сначала все и вся было уделом одного обычного ПК средней конфигурации - здесь и работа, и развлечения и веб-сервер. Круглосуточная работа, особенно в жилой комнате ну никак не устраивала ни меня, ни домочадцев. Появилось желание сделать все „раз и надолго“. Были испробованы множество вариантов - несколько ПК для разных задач в разных местах, Remote Desktop к рабочему ноутбуку, во избежание всевозможных переустановок, проблем привязки к оборудованию или операционной системе. Но однажды попробовав поиграться с одной из систем виртуализации, понял - это то что решило бы сразу много проблем. Это случилось как раз во время, когда в ESXi было упразднено множество ограничений в бесплатной версии, да так что теперь гипервизор годился прямо в мини-продакшн, для дома это уже была пушка по воробьям Отлично, начнем-с.

Первые грабли не заставили себя ждать. При переносе штатным инструментом (VMware vCenter Converter Standalone Client) ОС Windows 7 из доживающего свое винчестера ноутбука конечно же был словлен блускрин. Решение - загрузочный диск с любым редактором реестра, активация необходимых драйверов путем правки нужных значений (вариант решения).

Как же было приятно потом „лечить“ и украшать медленную 5-летнюю систему! Был произведен перенос всего медиаконтента, „не очень нужных“ программ, система сжата с 500 до 50 гигабайт. Все было чудесно, но, конечно сразу же захотелось „побыстрее“. Здесь начались размышления по поводу, собственно, серверной части. Было решено построить систему с запасом, максимально использовав комплектующие, которые уже были. Основное требование - бесшумность и производительность.

Итак, корпус - был вот такой: INPC DL36 - прочный, просторный корпус, который отлично подходил под все требования - полноценный размер материнской платы, 3U высота для использования полноценных радиаторов и бесшумного блока питания.

Конфигурация оборудования:


В планах переход на полностью пассивное охлаждение CPU.

Вот как это выглядит на данном этапе:

Вид спереди, диски можно менять не выключая сервер:

Попутно был развеян миф о потребности регулярной перезагрузки Windows:

Итак, сервер собран, далее приступим к повышению надежности в доступных нам пределах. Мною было продумано множество вариантов бесперебойного электропитания дома в целом, и сервера, в частности. От выделенного ИБП с минимально необходимой мощностью для питания сервера и базовых сетевых устройств до полного резервирования всего дома трехфазным ИБП. В итоге проб и ошибок был выбран все же самый адекватный вариант - ИБП средней мощности с запасом для питания критических устройств в течение хотя-бы 12 часов. Таковыми являются газовый котел, собственно, сервер, коммутатор провайдера, роутер, внутренние коммутаторы, видеокамеры, автоматические ворота, дежурное 12В освещение, аварийные розетки в доме и подсобном помещении. Добавление следующего по важности устройства - чайника, насосной станции очень сильно повышает требования к ИБП, поэтому в случае надобности аварийное снабжение переводится на бензиновый генератор. В качестве источника бесперебойного питания применен APC Smart-UPS 1500, в крайнем случае - достаточный для пуска 0.75кВт насосной станции. Аккумуляторный блок собран из 2х120А*ч батарей.

Потребление резервируемых устройств в штатном режиме:

Организация сети. В который раз пришлось на своем опыте убедиться в законе - если по плану необходимо проложить два кабеля - надо закладывать четыре! Даже без систем умного дома. После разнообразных перестановок была применена следующая схема. Для моей реализации сети идеальным роутером оказался, конечно же, MikroTik. Абсолютно все необходимые функции за минимальную стоимость, с минимальным энергопотреблением. Простая настройка локальной сети, безопасности доступа извне, резервирования каналов связи, дополнительных сервисов - устройство класса „один раз разобрался, настроил и забыл“. Функция резервной маломощной точки доступа Wi-Fi, потому как качественная раздача не является основной задачей подобных устройств. В роли главной точки беспроводного доступа был заказан небезызвестный Ruckus - поставил и забыл, проблемы с Wi-Fi прекратились раз и навсегда.

Два аплинка от провайдеров проверяются на доступность по приоритету (distance) - в случае проблем с приоритетным провайдером автоматически происходит переключение на резерв. Решение простое, не самое надежное, но, как правило, достаточное при типичных проблемах сетей в частном секторе - обрывы кабелей/отсутствие электропитания.

1. Основная рабочая система на базе Windows 7, та самая, с трудом и заботой перенесенная со славно поработавшего ноутбука.
2. Отдельная система для ведения финансового учета и проведения переводов - так же, впрочем, перенесенная с нетбука.
3. ОС с софтом для видеонаблюдения. Хотя полностью независимые системы и имеют свои преимущества - но полугодовой опыт использования виртуальной машины для этих целей показал отличную надежность такого решения. Видеонаблюдение было построено на базе камер Hikvision и бесплатного софт-сервера от этого же производителя.
4. Сетевое хранилище для медиаконтента (FreeNAS) - в основном для удобного обмена файлами между устройствами внутри локальной сети и просмотра на фото/видео на телевизоре.
5. Unix сервер, Debian/Ubuntu, без GUI. Как же без простой, безотказной системы под рукой - собрать статистику и вывести показания датчиков на веб-сервер, перекодировать видео с помощью ffmpeg, протестировать скрипты, и т.д.
6. Бонусы - однажды в экстренной ситуации пришлось даже спасать крупный сайт, вытаскивая контент из проблемного рейда, на лету завернув его в виртуальную машину и переместив на временный сервер.

Для взаимодействия с виртуальной средой установлен ПК с 23"" монитором, на котором есть относительно мощная видеокарта для видео/игр, подключение к машинам происходит по RDP либо SSH. Если уж совсем лениво - то с ноутбука, лежа на диване.

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