NAS для дома своими руками
Его можно тушить, и в бульон покрошить,
И подать с овощами неплохо.
Льюис Кэрролл, Охота на Снарка
Любой, кто способен собрать персональный компьютер и установить Windows, при желании может справиться и с созданием достаточно продвинутого NAS из x86-совместимого железа и свободных сборок ПО на основе *nix . При этом, грубо говоря, число установленных дисков влияет на стоимость и трудоемкость проекта только стоимостью дисков. Что позволяет серьезно сэкономить по сравнению с покупкой готового NAS на 4 и более дисков, но вряд ли выгодно, если ваши потребности удовлетворит NAS на 1-2 диска. Сказать, какой вариант лучше - нельзя. У каждого свои предпочтения. Кто-то отлично готовит дома, а кто-то предпочитает ужинать в ресторане. Вам доставляет удовольствие возня с компьютерным софтом и железом? Тогда этот текст может быть полезен. Вам нужен сервис хранения сам по себе? Выбирайте между облачным хранилищем и готовым NAS из коробки.
N. B. Это статья не про модель оборудования и не про версию программного продукта. Она про концепцию создания NAS своими руками и предлагает рассмотреть другие варианты решения задачи, кроме покупки готового устройства. Тема длинная, насчитывает под тысячу страниц обсуждения. Народ там вежливый и отзывчивый. Это как бы намек на то, что статья не претендует на полноту, академичность или истину в последней инстанции.
Что за NAS-то?
По словам Википедии, NAS (англ. Network Attached Storage) - сетевая система хранения данных, сетевое хранилище. Представляет собой компьютер, подключенный к сети и предназначенный для предоставления сервисов хранения данных другим устройствам. Операционная система и программы NAS-модуля обеспечивают работу хранилища данных и файловой системы, доступ к файлам, а также контроль над функциями системы. Устройство не предназначено для выполнения обычных вычислительных задач, хотя запуск других программ на нем может быть возможен с технической точки зрения. Обычно NAS устройства не имеют экрана и клавиатуры, а управляются и настраиваются по сети, часто с помощью браузера.
Определение не идеальное, но вполне рабочее. NAS используют и в бизнесе, но там свои требования и особенности. Нас же будет интересовать домашнее использование NAS.
К идее собрать NAS своими руками люди приходят обычно двумя путями, причем часто - обоими сразу. Когда дома один компьютер, NAS не нужен. Постепенно появляются другие сетевые устройства. Ноутбуки, смартфоны, планшеты. А особенно - сетевые HD-медиаплееры, всякие Dune, Popcorn, WD TV и им подобные. Именно с приобретением сетевого медиаплеера человек зачастую начинает накапливать терабайты информации. Сначала она хранится на сменных жестких дисках, подключаемых к медиаплееру и/или на все добавляемых в основной компьютер. Скоро дисков становится слишком много для удобного пользования, а круглосуточно тихонько жужжащий компьютер, заодно качающий что-то из интернета, начнет раздражать если не вас, то вашу дражайшую половину. Возникает идея собрать эту кучу дисков в отдельную коробку, засунуть куда-нибудь в угол и поручить ей раздавать контент всем сетевым устройствам и качать торренты. Поздравляю, вы пришли к NAS по первому пути. По дороге обязательно взглянули на готовые NAS, из коробки. Но цена!..
Второй путь лежит через аппаратные апгрейды. В результате накапливается несколько менее кубометра комплектующих, которые продать трудно, а подарить некому. Плюшкин внутри нас находит им полезное применение в идее соорудить NAS. А заодно удовлетворить свою тягу покопаться в кишках у компьютера. Не зря один веселый американец писал, что работа с компьютером - единственный сегодня легальный способ помыкать кем-то, кто умнее тебя.
Конечно, есть и другие пути. Например, вы - увлеченный фотограф и нуждаетесь в надежном хранении многолетних архивов. Или любящий родитель, снимающий на видео каждый шаг своего малыша. И т.д. Вот только редко такие сценарии приводят к сборке NAS своими руками. Гораздо чаще - к покупке готового из коробки. Потребности таких пользователей уверенно удовлетворяются 1-2 дисковыми моделями готовых NAS. Собрать самому что-то аналогичное по размерам, шумности и цене 1-2 дисковым моделям любителю-неофиту трудно, если вообще возможно.
В защиту готовых NAS стоит отметить, что они предоставляют множество возможностей и функций «из коробки», требующих минимальной установки/настройки/тюнинга. Так что на самом деле в их стоимость нужно заложить и работу программистов, технической поддержки и пр.
Ситуация кардинально меняется, если 1-2 дисков не хватает, а есть потребность в 4 и больше. Маркетологи производителей устанавливают на них ценовой уровень, который знакомого с компьютерным ценником человека ввергает в состояние фрустрации (хотя произносят они при этом куда как более народные слова). И человек начинает выбирать аппаратную конфигурацию, к которой мы и переходим. Хотя ему стоило бы начать с программной, но против природы не попрешь.
Железо зависит от используемого софта. Софт - от поставленных задач. А корректная постановка задачи сроду не была сильным местом домашнего мастера. Поэтому он начинает с железа. Если к построению NAS мы пришли с мешком оставшихся от апгрейдов деталей, то хорошая новость в том, что они подойдут, пусть не оптимально. Даже не глядя.
По амбару помела
Для того, чтобы комфортно смотреть по сети FullHD видео, включая образы BD дисков нам понадобится как минимум:
- 1-2 гигабайта RAM, если не будет использоваться ZFS и 4-8, можно больше, если ZFS будет. (Про ZFS - позже, нетерпеливым Гугл в помощь.) Но даже на раритете с 256 МБ можно кое-что полезное собрать;
- x86-совместимый процессор, в идеале (и для ZFS) - 64-битный, но и 32-битный подойдет для большинства вариантов. То есть любой x86-процессор кроме уже совсем музейных. Желательно - поменьше греющийся, но тут уж что есть;
- проводной Ethernet-порт, лучше гигабитный - хотя и 100 мегабит достаточно для просмотра по сети BD-образов. Подключение NAS по Wi-Fi - спорная идея (но в случае самостоятельной сборки у вас гораздо больше свободы в выборе беспроводных контроллеров);
- диски и SATA-порты. Для NAS нет разницы между SATA-2 (на 3 Гбит/с) и SATA-3 (на 6 Гбит/с). Не каждый диск работает быстрее, чем древний SATA-1, поэтому и такие порты можно использовать. А вот IDE-диски, по современным понятиям, медленные, малоемкие, горячие и шумные. Если SATA-портов не хватает, можно использовать контроллеры. Но если (когда) вы вскоре решите переехать на новое железо, то купленные как костыли для устаревшей материнской платы SATA-контроллеры будут валяться без дела. По себе знаю, у меня два валяются. И осторожнее с дисками более 2 ТБ. Многие старые контроллеры с ними несовместимы. А среди контроллеров SATA-1 попадаются и такие, которые не работают с дисками более терабайта - правда, это уже древность и редкость;
- понятно, корпус, куда это все влезет и блок питания, который это потянет. С БП есть тонкости, имеет смысл присмотреть и новый, см. ниже.
Скорее всего, оставшееся от апгрейдов железо таким требованиям удовлетворит. А если еще и шуметь будет не очень (или есть куда убрать) - то вообще повезло. Можно начать экспериментировать.
Индпошив
Если вы собираете NAS из специально приобретаемых компонентов, то сначала стоит определиться с пожеланиями. В большинстве случаев (но нельзя объять необъятное) запросы делятся на три группы, условно «тихо-компактно», «эффективно-расширяемо» и «сервер-так-сервер». Уточню, что однозначно правильный вариант не существует. Ведь взвешивает пожелания, затраты и свои возможности сам пользователь. А вот неправильный - возможен. Когда результат не удовлетворяет явно или неявно заданным при проектировании требованиям. Например, супруга заявит, что коробка, конечно, большая. Но воет как самолет, и жить она в одной квартире с ней не согласна. Или собранная под пассив система не выдерживает испытания летом. Или банально затыкается видео при просмотре по сети. Поэтому пожелания лучше обдумать на берегу. Особенно - неявные.
Важное примечание. Мы говорим про NAS, а не про HTPC (Home Theatre PC), то есть не о компьютере, показывающем кино со звуком на большом экране, подключенном к его видеовыходу. В принципе никто не запрещает вам делать HTPC , в том числе со многими жесткими дисками, хотя требования для HTPC и NAS, а также используемые для них софт и железо очень различны. HTPC - это другая тема.
Тихо-компактно
Этот набор требований сформирован под влиянием готовых NAS. Хочу компактный и тихий, но чтобы влезало 4 диска (часто 6, иногда больше). Такие требования обычно приводят к выбору материнской платы Mini-ITX с впаянным Atom-подобным процессором, размещенной в компактном корпусе. Примеры - чуть ниже.
Есть очень неплохое преконфигурированное решение - HP Proliant Microserver (). Компактно, разумно по цене (от 12 000 на момент), 4 жестких диска, пятый можно вставить вместо ODD, излишнего в NAS. И с помощью небольшого бубна заставить нормально работать предназначенный для ODD SATA порт. Недостатки - далеко не мощный процессор, но для многих сценариев - достаточный. Если микросервер вас устроил, отправляемся в главу про софт.
HP Proliant Microserver - качественный и недорогой кандидат на роль домашнего NAS
Если нет - сначала выбираем корпус под желаемое число дисков (нужен или нет диск под систему, зависит от ОС. В главе про софт и обсудим.). Здесь в схватке понтов эстетического чувства с жадностью со стремлением к эффективным затратам проходит первая проверка на прочность концепции «тихо-компактно». Красивые компактные корпуса недешевы. Если победа за жабой стремлением к эффективности, идем в главу эффективно-расширяемо. Туда же отправляемся, если выбранный корпус допускает установку материнской платы microATX. Если победила эстетика - подбираем материнскую плату Mini-ITX (Mini-DTX). Первое требование - максимум портов SATA (можно с учетом eSATA). В принципе, настольные варианты с 6 SATA-портами выпускались. Но удастся ли найти здесь и сейчас - вопрос. Если не хватает портов, SATA-контроллеры PCIe на 2 и даже 4 порта достаточно доступны. Для них, естественно, нужен слот PCIe. С учетом того, что он в Mini-ITX - единственный, расширяемость на этом и заканчивается.
Примеры все из реальной жизни, часто с доработками и дополнительными фото - см. FAQ в профильной ветке, раздел 3.1
от axel77 | от half_moon_bay | от padavan | |
Корпус | Chenbro ES34069 | Lian Li PC-Q25 | Lian-Li PC-Q08 |
Блок питания | 180 Вт в комплекте | Corsair, PSU-500CXV2EU, 500 Вт | Enermax 380 Вт (82+) |
Материнская плата | Zotac NM10-DTX WiFi | Asus E35M-I* | Asus P8H67-I** |
Процессор | интегрированный Intel Atom D510 | интегрированный AMD E-350 | Intel Pentium G840 |
Оперативная память | Kingston 2×2 ГБ | Corsair XMS3 2×8 ГБ | 2×4 ГБ DDR3-1333 |
Винчестеры для данных | 4×Samsung HD204UI | 7×3,5″ | 6×3,5″ + хотсвап для 3,5″ HDD в отсеке 5,25″ |
Системный накопитель | 2,5″ Toshiba 500 ГБ | USB-флешка | 2,5″ HDD |
Операционная система | FreeBSD | FreeNAS 8.x | OMV |
Дополнительно | сеть Intel WG82574L*** | ST-Lab 370 4xSATA | PCIe 2xSATA-II |
Оценка цены**** | 14 950 руб | 15 600 руб | 14 000 руб |
* Сейчас материнские платы с E-350 стали редкостью, их заменили версии с E-450. SATA-портов - меньше;
** В продаже нет, но см., к примеру, ASUS P8H77-I;
*** автор через самодельный рейзер добавил сеть, но это, скорее, личный перфекционизм;
**** Цены - прикидка по просьбе редакции с использованием современного Яндекс Маркет, при отсутствии - Price.ru, при отсутствии - аналоги. Прикидка грубая, так как некоторых моделей уже нет в продаже и найденные цены не обязательно актуальны. Цена не учитывает диски данных, б/у системный HDD при наличии учитывался как 1000 руб.
По поводу «тихо» есть тонкости. Первый порыв - «полный пассив». Однако в большинстве случаев принимается аргумент о том, что 4-6 дисков будут производить больше шума, чем хороший 120-миллиметровый вентилятор с заниженными оборотами. В любом случае надо понимать, что за все надо платить и компактный корпус при прочих равных окажется шумнее более просторного стандартного с большими вентиляторами.
Очевидная особенность впаянного процессора - производительность. Если ее недостаточно, подавляющее большинство отказывается от формата Mini-ITX. Но, полноты ради, надо сказать, что это не обязательно, ср. конфигурацию от маэстро padavan.
Сборка от padavan, как видно - на редкость компактно
В декабре прошлого года были анонсированы Intel Atom S1200 (Centerton) серверного назначения. Когда появятся в продаже - могут оказаться интересным вариантом для домашнего NAS. Поддержка ECC-памяти, Intel Virtualization (VT-x), 8 линий PCI-E, 8 ГБ памяти - этого хватит для большинства вариантов.
Эффективно-расширяемо
Значительная часть NAS-остроителей - кто сразу, кто столкнувшись с ограничениями вариантов на Atom-подобных процессорах, - решает собрать конфигурацию, допускающую серьезное расширение. По процессору, памяти, но прежде всего - по числу дисков. Как уже говорилось, готовые NAS даже на 4 диска недешевы, а на 8-10 уже запретительно дороги для дома. В то же время, подобрать достаточно просторный корпус нетрудно. Например, в моем корпусе, оставшемся от апгрейда Крафтвеевского компьютера (на корпусном железе тогда не экономили), сейчас живет 7 шт. 3,5″ дисков и без особых проблем можно установить еще 3. При выборе корпуса под действительно большое число дисков стоит смотреть в сторону моделей со многими 5,25″ слотами, в которые затем ставить корзины с обдувом, используя 5,25″ слоты для четырех 3,5″ дисков. См. пример в главе «Затраты».
Так как NAS работает 24/7, хотелось бы процессор энергоэффективный (в Москве ватт в год стоит 35 руб). Intel Sandy Bridge и Ivy Bridge серьезно снижают энергопотребление в простое, а ведь NAS львиную долю времени загружен крайне слабо. Поэтому суточное энергопотребление такого NAS может оказаться существенно ниже, чем у варианта на Atom, который не умеет снижать потребление в простое. Какую именно модель процессора взять, зависит от того, требуется ли делать транскодинг видео в реальном времени.
Многие современные телевизоры имеют функциональность DLNA, позволяющую принимать видео по локальной сети. Проблема в том, что понимают они лишь некоторые варианты кодировки. И часто вовсе не те, что используют рипы и ремуксы, водящиеся на просторах Сети. Задачу можно решить несколькими способами. (1) Искать кино в формате, который поминает ваш телевизор. Это хвост, виляющий собакой. (2) Перекодировать на компьютере кино под запросы телевизора. Это потери времени и возможно только для самостоятельно снятого видео. (3) Нагрузить NAS перекодировкой в реальном времени и (4) Купить медиаплейер, то есть небольшую коробочку, которая получает, с том числе по сети с NAS, видео как файлы и снабжает в телевизор с ресивером аудио-видео сигналом, обычно по HDMI. Если Вы выбрали вариант (3), то надо изучать спецификации телевизора и смотреть в районе Core i7. Плюс из-за ограничений в DLNA вообще, и в реализации этой маркетинговой идеи в вашем телевизоре в частности, полной всеядности получить не удастся. Вариант (4) на современном уровне цен оказывается не только проще и функциональнее, но и дешевле. Тогда как процессор NAS подойдет фактически любой младший Pentium или Celeron 2-го или 3-го поколений Core. Можно взять i3, благо в сравнении с ценой дисков разница будет ничтожна. Выбирайте на вкус. Для быстрой справки или детального окончательного сравнения моделей-кандидатов можно использовать раздел тестирования процессоров на iXBT . Я себе взял Intel Pentium G2120 как младший на то момент Ivy Bridge. Младшие Sandy Bridge дешевы и более чем достаточны.
Доступные на момент написания процессоры AMD на фоне Intel не впечатляют - хотя AMD гораздо щедрее снабжает свои процессоры поддержкой ECC-памяти, и возможно, вскоре у компании появится что-то конкурентоспособное, например Opteron 3250 с заявленной ценой $99.
Материнская плата ASUS P8H77-M Pro: 7 SATA, до 32 ГБ ОЗУ
Материнская плата. Я взял ASUS P8H77-M Pro из таких соображений:
- LGA1155, встроенное видео получаем автоматом из-за процессора, оно понадобится только на этапе установки;
- максимальное число SATA-портов, неважно, 3 или 6 Гбит/с (7 SATA + eSATA);
- лучше 4 слота под память, но достаточно 2 (4, до 32 ГБ);
- интегрированный 1000BaseTX, считается, что лучше от Intel. Но с учетом наличия процессора с запасом вычислительной мощности, и Realtek прекрасно пойдет (Realtek 8111F);
- PCIe-слоты на случай установки в будущем SATA-контроллеров и сетевых карт (x16, x4 в слоте x16, 2 по х1);
- Форм фактор - microATX.
Кулер выбирается по вкусу, память - по требованиям выбранной OC. Тут возможен разброс от гигабайта до 32.
Блок питания вынесен в отдельную главу.
Примеры описанного варианта:
от ZanZag | от shale | |
Корпус | Lian Li PC-V354R | InWin BP659 |
Блок питания | Chieftec BPS-550C 550 Вт | 200 Вт в комплекте |
Материнская плата | ASUS P8H67-M EVO(B3) | ECS H61H2-I2 |
Процессор | Intel Pentium G860 | Intel Celeron G530 |
Оперативная память | 4×4 ГБ DDR3 PC3-1066 | Kingston 2×2 ГБ |
Винчестеры для данных | 6×Hitachi HDS5C3030ALA630 | 3×Seagate ST3000DM001 |
Системный накопитель | CF 4 ГБ через переходник CF-IDE | 40 ГБ SSD |
Операционная система | nas4free 9.x | OMV |
Дополнительно | кулер Cooler Master DP6-8E5SB-PL-GP, доп. вентиляторы 2×Zalman FDB-1 и Arctic Cooling F9 PWM | |
Оценка цены | 18 200 руб | 7300 руб |
Сервер-так-сервер
Существует «премиальная» категория NASостроителей, которые по объективным или субъективным причинам строят NAS из серьезных и дорогих серверных компонентов. Энтузиасты экспериментируют с 10-гигабитными сетевыми решениями. Помните, что серверные конфигурации зачастую по габаритам и шуму не вполне совместимыми с жилыми помещениями. Возможность использования ECC-памяти - наиболее очевидное преимущество подхода. Файловая система ZFS, используемая в данном сегменте домашнего NASостроения, активно использует память. При этом сбой в памяти может привести к оставшемуся незамеченным искажению данных. ECC-память решает проблему, но для ее использования в варианте Intel нужны серверные процессоры (есть интересные исключения, например Pentium G2120) и материнские платы.
Зачастую используется виртуализация и несколько гостевых OC решают задачи, у каждого - какие-то свои. Распространен вариант, когда SATA-контроллер пробрасывается в виртуальную машину, выполняющую функцию хранилища (Solaris или FreeBSD c zfs). Из этой VM дисковая емкость экспортируется по NFS или iSCSI для гипервизора и других VM. От дальнейшего объяснения того, в чем сам не сильно разбираюсь, воздержусь и приведу реальные примеры.
Сборка от TPAKTOP, вид снаружи и изнутри
от fatfree | от axel77 | от TPAKTOP | |
Корпус | Fractal Design Define Mini | Supermicro CSE-SC846E26-R1200B | |
Блок питания | Seasonic X560 | ||
Материнская плата | Supermicro X9SCL-F | Supermicro X9SCM-F | Supermicro X9SCM-F |
Процессор | Intel Xeon E3-1230 | Intel Xeon E3-1230 | Intel Xeon E3-1220 |
Оперативная память | 4×Kingston KVR1333D3E9S/8G | 4×Kingston KVR1333D3E9S/4G | 4×Kingston KVR1333D3E9S/4G |
Винчестеры для данных | 5×WD20EFRX | в процессе накопления | 12×ST31000524AS в двух 6xRaidZ2 (основной пул), 2хST32000542AS в зеркале (бэкап пул), 4хST3250318AS в страйпе (торрент пул) |
Системный накопитель | Intel SSD 520 180 ГБ | 2,5″ на 320 ГБ | TS64GSSD25S-M |
Операционная система | ESXi 5.1.0 + Nexenta CE + Ubuntu Server 12.04 + Windows 8 | FreeBSD | FreeBSD |
Дополнительно | HBA IBM ServeRAID M1015, кулер Noctua NH-L12 | 2×HBA IBM ServeRAID M1015 | 2×HBA IBM ServeRAID M1015, Intel Gigabit ET Dual Port Server Adapter |
SATA/SAS-контроллеры
Так что если не терпится - можно приступать. А во второй части софт будем обсуждать подробнее.
Хотелось бы выразить благодарность всем участникам профильной ветки на forum.сайт, в том числе камрадам axel77, half_moon_bay, padavan, ZanZag, shale, конфигурации которых были использованы в статье; камрадам Sergei V. Sh, TPAKTOP, iZEN и RU_Taurus за множество полезных комментариев.
Особая благодарность разработчикам свободного софта: Olivier Cochard-Labbé, Daisuke Aoyama, Michael Zoon, Volker Theile и многим другим. Они сделали возможным само существование темы «NAS своими руками».