Самодельный nas с низким энергопотреблением. Где хранить большие файлы? Собираем домашний сервер. Простенько, но со вкусом

Faq 05.02.2019
Faq

Вопрос собирать NAS самому или купить готовый неизменно вызывает холивар в узких кругах. Вот и свежая статья Кирилла Кочеткова Выбор сетевого накопителя породила уже три страницы обсуждения . Что характерно - полностью посвящённого холивару. Кирилл IMHO по причине широчайшей практики знает тему покупных NAS лучше всех в рунете. Но не считает полезным сабжевую тему обсуждать. Придётся мне попытаться:)

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

Так вот, давайте зададим себе первый вопрос - зачем вам нужен NAS? И окажется, что подавляющему большинству NAS не нужен вовсе. Да, они его могут использовать - если, к примеру, брат, cын и т.п. настроит и подарит. Но они не купят себе новый (и будут его настраивать), даже если старый исчезнет. Потребности большинства людей по просмотру кино удовлетворяются телевизором, обычным компьютером, в самом продвинутом случае - стриминговыми сервисами, iTunes и Play. По бекапу, если делают - USB диском и облачными сервисами. Так что оставим в стороне тех, кому обсуждаемая железка не нужна ни в каком виде.

А в остатке имеем многократно меньшее меньшинство, способное рассказать, зачем именно им NAS понадобился. Этот список заслуживает отдельного поста (который напишу следом), но сейчас полезнее обдумать этот список самостоятельно. Скорее всего, список окажется без экзотики, как у всех. Качать торренты, смотреть кино и слушать музыку через медиаплеер, умный телевизор или HTPC. Бекапить домашние компьютеры и мобильные устройства. Хранить домашние фотки. Тогда вам подойдёт и покупной и самосборный NAS. Если же экзотика будет в наличии (яркие примеры - виртуализация, использование конкретного программного обеспечения, не включённого в поставку готовых NAS) - то это веский аргумент в сторону самосбора. Не так чтобы это совсем нельзя на готовых NAS. Но если вам нужна виртуализация (дома!), то проблемы собрать и настроить NAS самому для вас не существует. Точно также, вроде бы обычные потребности, но по-крупному (не пара терабайт, а десять-двадцать, транскодирование видео на разные устройства и тп) поднимают требования к готовому NAS от простых домашних устройств до продвинутых, а то и корпоративных. Поднимают вместе с ценой.

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

PS Как видим - в самом выборе места для холивара нет. Он есть в психологических моментах, которые мы тут обсуждать не будем. За одним исключением. Практически всегда на старте происходит подмена понятий. И вместо сравнения яблок с яблоками, а ананасов с ананасами идёт сравнение яблок с ананасами.

Ещё несколько лет назад по железу самосборный NAS означал x86 платформу, а базовый готовый - ARM. Конечно, ARM жрёт меньше, меньше греется и много слабее по производительности. Но в последние годы появилась возможность собирать и на ARM. Например, под новый год я купил на авито за 2500+300+300+200 = 3300руб + блок питания + корпус + SD карту, нашёл в загашнике USB коробку для HDD, оставшуюся от покупки внешнего диска по цене меньше внутреннего той же модели. Поставил в коробку старый полуторатерабайтный диск, ставший не нужным в медиаплеере при наличии NAS. Настроил nas4free (с zfs!), включая робота для автоматической загрузки новых эпизодов сериалов и для передачи туда и обратно фоток и прочего через горячие папки, т.е. способом, понятным для домохозяйки. И отвёз родственникам в другой город. Аптайм подходит к 5 месяцам.

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

По софту 99.99% готовых NAS - это сборки на основе Linux. А в самосборе можете выбрать хоть Win, от Windows 7 Embedded standard, вычищенного от всякого хлама до Win Server 2016 Tech Preview, хоть *nix во всём многообразии, от Linux до FreeBSD и Solaris. Но есть ли это сравнительное преимущество? IMHO почти наверняка - нет. Потому, что если для вашего случая не хватает софтового функционала покупного NAS - у вас, скорее, необычные требования.

PPS UPD про вопрос, который наверняка зададите - а в каком варианте больше функционала?
IMHO - одинаково, причём что практически, что теоретически.

Практически: вам не нужен весь функционал, а лишь тот, что используете. И всё, кроме экзотики во всех вариантах есть.

Теоретически: на достаточное мощном железе и в готовых и в самосборных NAS поддерживается гипервизор. Соответственно в виртуалку на самосборе можно поставить Xpenology. (Это легально, тк оная есть компиляция кодов, опубликованных по GNU лицензии. Обратного, кстати, не утверждает и Synology.) И поиметь весь функционал, который есть в DCM и отсутствует в хост системе. Точно также - наоборот, на готовый NAS в виртуалку ставим что угодно - и вперёд. Так что вопрос лишь в железе, читай - про деньги. такой подход не решает, конечно, вопрос с некими облачными сервисами производителей NAS. Но если(!) они вам нужны - вряд ли среди них есть что-то уникальное настолько, что не найдётся замена. Т.е. снова про деньги. И невеликие.

Для начала небольшое пояснение. NAS - это сокращение, произошедшее из английского языка. Оно означает Network Attached Storage, или свободное сетевое хранилище. Вы можете сохранять на этих дисках фото- или видеофайлы, да и любую другую информацию - это не принципиально. Вы же получаете к ней доступ с любого устройства, будь то телефон, телевизор, игровая консоль или компьютер.

Еще пара слов об оборудовании, которое мы используем для создания нашего самосборного NAS: диски WD Red на 6 ТБ и достаточно простой корпус Synology.

Начинаем сборку NAS

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

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

В принципе, можно начинать. Берем один жесткий диск и аккуратно вставляем в слот. Затем так же ставим на место и второй диск. Обратите внимание: разъемы должны совпадать.

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

Итак, диски мы прикрутили. Ставим на место крышку корпуса и закрепляем ее.

Поворачиваем корпус в исходное положение и закрепляем винтами на задней стенке.
NAS собран. Теперь его нужно подключить к сети и к электропитанию. Для этого мы берем обычный сетевой кабель и подключаем в нужный разъем, а затем - к электросети. Идеально, если NAS подключен напрямую к роутеру.

Сейчас я объясню, почему важен доступ к интернету.

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

А теперь возникает вопрос: зачем вообще нужен NAS и почему нельзя обойтись обычным внешним жестким диском, лежащим где-нибудь в доме. Наш ответ: из-за безопасности хранения данных. Из 12 ТБ на дисках мы эффективно используем только 6 ТБ, но зато всегда имеем актуальную резервную копию.

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

Вопрос софта

Чем же засофтить ваше домашнее хранилище? Конечно, можно просто установить FreeNAS, но можно и поискать альтернативные решения. Если вы не ищите легких путей, наши советы вам обязательно пригодятся.

OpenMediaVault

Альтернатива FreeNAS - OpenMediaVault - основана на Linux Debian. Это программное обеспечение NAS с открытым исходным кодом, поддерживающее стандарты FTP, SFTP, SSH, AFS, SMB и CIFS.

Дополнения: вы можете установить различные дополнительные протоколы и стандарты для расширения своего NAS.

Применение: OpenMedia Vault особенно подходит для домашнего использования.

Сетевые функции: WakeOnLAN, Link Aggregation, а также новый стандарт IPv6.

Мониторинг: для него можно использовать syslog, watchdog, S.M.A.R.T., SNMP (v1 / 2c / 3) или уведомления по электронной почте.

Техническое обслуживание: если ваш NAS работает на OpenMediaVault, то обслуживаться такая система будет через веб-интерфейс.

NAS4free

NAS4free - это также программное обеспечение с открытым исходным кодом. Он основан на FreeBSD и может быть виртуализирован на любом оборудовании. NAS4free оддерживает стандартные протоколы FTP, SMB, NFS, TFTP и AFP.

Дополнения: вы можете настроить на NAS веб-сервер и размещать там веб-сайты.

Область применения: благодаря опции виртуализации NAS4free подходит как для больших серверов, так и для домашнего использования. Его аппаратная поддержка поистине уникальна.

Сетевые функции: NAS4free поддерживает WakeOnLAN и IPv6.

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

Техническое обслуживание осуществляется через интерфейс.

UnRAID

UnRAID - это программное обеспечение, подходящее для различных приложений. UnRAID предоставляется бесплатно в течение первых 30 дней, после чего вы платите от 59 до 129$. Дешевый базовый пакет (цена: 59$) позволяет использовать шесть подключенных устройств хранения, средний пакет (цена: 89$) - двенадцать устройств. С пакетом Pro (цена: 129$) количество устройств хранения не ограничено. Поддерживается почти любая 64х и 86-разрядная система. UnRAID также предлагает возможность виртуализации.

Дополнения: UnRAID без проблем поддерживает расширение с помощью дополнительных жестких дисков. Также надо отметить очень хорошую поддержку SSD.

Применение: UnRAID больше подходит для профессиональных приложений. Он способен поддерживать очень большие серверы со многими жесткими дисками.

Сетевые функции: UnRAID управляет только памятью, а за сетевые функции должна отвечать соответствующая операционная система.

Мониторинг осуществляется через веб-интерфейс.
Техническое обслуживание также через веб-интерфейс.

Как ты догадался по названию, сегодня мы будем строить домашний NAS-сервер. Уже больше пяти лет у меня обитает маленький старенький зверек в корпусе In Win BQ656 Black Mini-ITX 80W USB/Audio/Fan + External remote control. Внутри у него вот такой процессор: AMD Athlon(tm) Dual Core Processor 4050e, с показанием BogoMips в 4200. Хоть и крошка, зато мало ест и умеет виртуализацию, что немаловажно. Подробные характеристики можно посмотреть где угодно:). К слову, уже после сборки захотелось поменять его на чуть более крутой Athlon 64 X2 6000+. Купить такой можно на Авито за 500–700 рублей. Все это дело мы подняли на материнке Minix780G-SP128M .

Не фонтан, конечно, - всего четыре SATA и нет поддержки RAID, но зато малое энергопотребление. Цену на сегодняшний день определить не удалось, но когда-то она стоила 220 долларов . В идеале бы, конечно, лучше иметь мать с возможностью подключения шести дисков и поддержкой RAID. Но такое удовольствие обойдется в некислую сумму. Попробуем прикинуть из того, что есть на рынке б/у. Предложили комплект на Intel 7600 + мать Asus можно приобрести за 1500–2000 рублей (напомню, что это б/у).

До замены корпуса система состояла из Ubuntu-сервера, шары на ней - и, собственно, все. Внутри было два диска по 500 Гбайт. Сейчас приобретен новый корпус, установлена еще пара жестких дисков. Итого три HDD по 500 Гбайт и один на 1,5 Гбайт.

Хотелки

Из задач, которые должен решать медиасервер, выделим следующие:

  • само собой, Samba, раздача медиаконтента по сети, об этом чуть ниже;
  • виртуализация различного уровня: пара виртуальных машин, внутри может быть 1С-сервер Linux, Docker-контейнеры;
  • чтобы не надо было настраивать каждый домашний узел для сервисов, маленький DNS с зоной что-нибудь.local.

Требования к аппаратной части:

  • бесшумность;
  • удобная установка/замена HDD;
  • компактность.

Повторюсь: очень хотелось бы заменить материнскую плату с процессором, но это не обязательно. Возможно, в дальнейшем заменю только процессор с кулером. Итак, новый корпус, поиск был долгим и сложным. После недельного гуглинга выбор пал на Raijintek Metis. То, что мне подошло по цене/качеству.

Пара фраз о корпусе

Производитель и модель: Raijintek Metis, с окном
Материал: алюминий, сталь
Габариты: 190 x 254 x 277 мм (Ш x В x Г)
Форм-фактор: Mini-ITX
Отсеки накопителей: 1 x 2,5/3,5" (внутри), 2 x 2,5" (внутри)
Вентиляторы: 1 x 120 мм (сзади, предустановлен)
Вес: около 2,8 кг

Классный дизайн и цвет отлично смотрятся практически везде, а стоимость весьма демократична. К слову, мне такой корпус обошелся всего в 4000 рублей. Приобретался на Avito, доставка почтой. Подробнее с корпусом можно познакомиться на сайте производителя . Чуть не забыл про память! На момент написания статьи было установлено 2 Гбайт (две планки по 1 Гбайт). Сейчас уже заказываю две плашки по 2 Гбайт.

Реализация программной части

Итак, что самое главное хочется от сервера? Чтобы был легко масштабируемый, в ногу со временем, приятый и удобный в использовании/администрировании. Желательно привлекательная веб-морда.

  • Вариант 1: поставить Ubuntu Server c панелью управления Ajenty 2 и все необходимое доставлять руками.
  • Вариант 2: поставить OpenMediaVault. Морда в наличии, много плагинов/расширений для увеличения функциональности, в основе лежит Debian, соответственно, всегда есть возможность доставить или допилить руками.
  • Вариант 3: поставить FreeNAS. Чуть меньше плюшек, но можно доставить все руками, правда - чуть сложней. Базируется на FreeBSD.
  • Вариант 4: поставить XPEnology. Огромное количество плюшек, репозиториев с дополнениями. Поддержка виртуальных машин и Docker.

После долгих мучений выбор пал на четвертый вариант. На нем и будем поднимать домашний сервер далее. Почему именно так? Первый вариант хорош сам по себе, но в то же время хочется минимум усилий и максимум возможностей без дополнительного рукоприкладства. К тому же Ajenty не дает гибко обращаться к серверу, так и хочется залезть в консоль и сделать все руками оттуда. А потом зайти в панель и просто любоваться:). Среди оставшихся вариантов победу одержал XPEnology. Предоставляет максимум сервисов при минимуме настроек.

Взлетаем

Итак, перво-наперво идем на сайт xpenology.me в раздел downloads и скачиваем набор для развертывания.

XPEnoboot - это образ загрузочного диска для установки и загрузки/перезагрузки сервера.

DSM - сама система. Synology Assistant - опционально, программа обнаруживает серверы XPEnology/Synology, установленные или готовые к установке узлы. Я устанавливал через веб-интерфейс - как говорится, на вкус и цвет все фломастеры разные.

ISO-образ нужно распаковать на флешку и использовать при каждом перезапуске сервера, что не совсем удобно. Либо подарить флешку серверу и сделать ее приоритетной при загрузке. Есть второй путь. В предыдущих выпусках журнала «Хакер» я писал про организацию PXE-сервера с различными вариантами загрузки. Если есть такой сервис, то можно с легкостью отдать это ему. За загрузку в XPEnology отвечают два файла (как и в любом линукс-дистрибутиве): zImage и rd.gz. Располагаем их в директории PXE-сервера, в меню дописываем:

Insert into pxelinux.cfg/default LABEL xpenolog kernel xpenology/zImage root=/dev/md0 ihd_num=0 netif_num=2 syno_hw_version=RS3612xs ac1=0010562E3E36 mac1=0051562E3E37 sn=B5JDN10005 initrd xpenology/rd.gz

Из меню понятно расположение файлов в подкаталоге xpenology, относительно корня TFTP-сервера. Информация была найдена на сайте xpenology.com. Рекомендую ознакомиться .

Первый вариант не сработал. Пробую по-другому. Распаковываю ISO, беру оттуда файл меню isolinux.cfg, копирую менюшку в свое меню PXE, с поправкой пути до файла ядра zImage. Копирую zImage на PXE-сервер. Вот этот вариант сработал как надо, после начала установки даже pat-файл операционной системы не потребовался. Сервер сам скачал его с сайта synology.com, что не может не улыбнуть:). В процессе установки сервер попросит ввести учетные данные администратора. После установки получаем полностью готовый к работе сервер Synology на обычном железе. Тем, кто не знаком с этой ОС, очень рекомендую! Огромное сообщество. Как результат - большое количество репозиториев, которые в разы расширяют штатную функциональность.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

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

В качестве основы для системы NAS мы выбрали корпус Prodigy от BitFenix. Он имеет шесть отсеков для установки 3,5-дюймовых жестких дисков. Компактная материнская плата ASRock E350M1 с интегрированным двуядерным центральным процессором обеспечивает достаточную производительность и предоставляет четыре разъема SATA для подключения жестких дисков.

Для использования шести дисков потребуется установить контроллерную плату с двумя портами SATA. С материнской платой совместимы два модуля ОЗУ Kingston HyperX по 4 Гбайт каждый. В качестве блока питания мы выбрали тихую и энергоэффективную модель be quiet Pure Power L8 мощностью 300 Вт, а жесткие диски рекомендуем тихие - такие как, например, WD Red (2 Тбайт).

2. Сборка компонентов

Если точно выполнять указания руководства пользователя к корпусу BitFenix Prodigy, то проблем при сборке компьютера возникнуть не должно. Следует учесть, что блок питания лучше всего установить вентиляционным отверстием вниз, а жесткие диски вставляются в корпус вместе с салазками разъемами вперед.

3. Подключение

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

4. Установка FreeNAS на флешку

Распакуйте на ПК с операционной системой Windows образ FreeNAS, а также бесплатную программу Win32 Disk Imager. Для этого воспользуйтесь архиватором 7-Zip, который умеет работать с форматом XZ.

Вставьте флеш-накопитель емкостью не менее 2 Гбайт и запустите Win32 Disk Imager. Откройте файл образа FreeNAS, щелкнув по значку папки и выбрав в пункте «Device» букву флеш-накопителя. Щелчок по «Write» запустит процесс записи образа на флешку. Извлеките накопитель из вашего компьютера и вставьте его в USB-порт собранного вами сетевого хранилища данных.

5. Первая загрузка NAS

Подключите клавиатуру, а также монитор к собранному вами хранилищу NAS и соедините его посредством LAN-кабеля с роутером. Включите NAS и сразу нажмите несколько раз кнопку Del для входа в настройки UEFI.

В пункте «Advanced/Super IO Configuration» измените значение «Serial Port» на «Disabled» - в противном случае FreeNAS не запустится. После этого в пункте «Boot/Boot Option» выберите флеш-накопитель, сохраните настройки и перезагрузите NAS.

После перезагрузки вы увидите текстовое меню и IP-адрес, по которому можно будет получить доступ к веб-интерфейсу FreeNAS.

6. Базовые параметры

Откройте в браузере на своем компьютере веб-интерфейс. В пункте «System/Settings» можно изменить язык на русский. В пункте «Часовой пояс» выберите необходимые настройки. После щелчка по «Сохранить» и нажатия на клавишу F5 загрузится русскоязычный интерфейс.

7. Настройка дисков

Используя кнопку «Хранилище/Управление томами ZFS», можно выполнить распределение дискового пространства. Вначале введите «Название тома», затем щелкните по значку «+» рядом с «Доступные диски». После этого в разделе «Планировка тома» вы увидите подключенные диски. Перетащите круглую серебристую кнопку вверх и вправо, в результате все диски должны расположиться рядом друг с другом. Для максимальной отказоустойчивости выберите в меню «RaidZ2».

8. Создание учетной записи пользователя

В дереве папок щелкните по «Учетная запись/Пользователи/Добавить Пользователь». В пункте «Имя пользователя» и «Полное имя» введите «Guest», кликните рядом с «Домашний каталог» по «Просмотреть» и выберите созданный на предыдущем шаге том.

Активируйте опцию «Отключить вход по паролю» и подтвердите выбор щелчком по «ОК». Кликните вверху по значку «Хранилище» и по созданному ранее тому, затем внизу по значку ключа с диском «Изменение разрешений». В диалоговом окне выберите «Guest» рядом с «Владелец (Пользователь)» и «Владелец (Группа)» и щелкните по «Изменить».

9. Настройка CIFS

Затем создайте в пункте «Общие ресурсы/Windows (CIFS)» новый общий ресурс с любым названием и укажите созданный ранее том в качестве пути. Активируйте «Разрешить гостевой доступ» и «Только гостевой доступ».

Затем щелкните по кнопке «Службы» вверху и по значку гаечного ключа позади «CIFS». Выберите в строке «Модель аутентификации» параметр «Анонимный», введите имя NetBIOS и рабочей группы вашего ПК.

В качестве гостевой учетной записи выберите «Guest» и активируйте опцию «Разрешить пустой пароль» и «Включить домашние каталоги». В пункте «Домашние каталоги» выберите созданный ранее том.

В завершение активируйте CIFS с помощью расположенной вверху кнопки «Службы». Теперь общий сетевой ресурс будет отображаться в проводнике Windows по адресу «\\\».



Рекомендуем почитать

Наверх