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

28.05.2012

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

David Murphy. How to Convert an Old PC into a Modern Server. www.pcworld.com

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

Программное обеспечение FreeNAS, устанавливаемое на компьютере, точно соответствует своему названию: это бесплатная операционная система для создания сетевых устройств хранения данных (network-attached storage, NAS). Помимо того, что система FreeNAS бесплатная, она еще отличается простотой установки, настройки и эксплуатации.

Установка FreeNAS

Прежде чем приступать к инсталляции FreeNAS, возьмите флеш-диск емкостью не менее 2 Гбайт. Установите FreeNAS на этот диск и загрузите с него компьютер. Дело в том, что операционную систему нельзя ставить на накопитель, где будут размещаться совместно используемые данные.

Альтернативный вариант заключается в том, чтобы купить твердотельный диск небольшой емкости, инсталлировать на него FreeNAS и применять его в качестве загрузочного. Однако покупка твердотельного диска – это лишние затраты. На них имеет смысл пойти, пожалуй, лишь в том случае, если вас всерьез беспокоит, что кто-нибудь унесет флеш-диск с собой, не осознавая всех последствий этого необдуманного шага.

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

Полученный образ диска (файл. iso) должен соответствовать конфигурации вашего компьютера: x86, если машина оборудована 32-разрядным процессором; и x64, если у вас установлен 64-разрядный. Затем запишите образ на чистый CD и вставьте оптический диск в соответствующий дисковод будущего сервера.

В момент начальной загрузки компьютера укажите в меню BIOS, что машину следует загрузить с оптического диска.

Когда будут выполнены все команды процедуры загрузки системы FreeNAS, созданной на основе FreeBSD, на экране отобразится меню, состоящее из четырех пунктов. Выберите первый из них, указывающий, что установка (или обновление) FreeNAS 8 будет осуществляться на жесткий диск или флеш-диск, и нажмите клавишу. На следующем экране отобразятся все устройства хранения, подключенные к вашему компьютеру. Здесь нужно выделить соответствующий флеш-диск (операционная система создаст на диске два раздела: один --- непосредственно для ОС, другой -- для будущих обновлений FreeNAS). Больше ничего нажимать не нужно.

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

Настройка параметров устройства хранения

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

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

В окне настройки конфигурации, отображающейся на экране, первым делом установите пользователю нужные полномочия. На левой панели выберите пункт My Account. В качестве имени пользователя задайте admin, введите пароль и сохраните изменения. Для других пользователей введите другой логин и смените пароль. Безопасность превыше всего!

Чтобы настроить тома хранения, щелкните на кнопке Storage, находящейся в левом верхнем углу экрана настройки конфигурации FreeNAS. Нажмите кнопку Create Volume, отобразившуюся в главном окне. Присвойте создаваемому тому имя и укажите число устройств, на которых он будет размещаться. В качестве файловой системы выберите ZFS, обладающую рядом преимуществ, отсутствующих у Unix File System. При объединении нескольких устройств у вас появится возможность выбирать тип RAID-массива, который при этом будет применяться.

После завершения работы по созданию разделов, нажмите кнопку Add Volume. Если вы хотите, чтобы к устройству хранения могли обращаться все сотрудники офиса, и желаете избавиться от необходимости индивидуально определять права доступа для каждого пользователя, щелкните на значке Change Permissions и установите право доступа на запись для Group и Other users (убедитесь также, что выбран параметр Set Permissions Recursively).

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

Определение совместно используемых ресурсов

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

Если в офисе одновременно применяются системы Mac, Linux и Windows, имеет смысл воспользоваться протоколом CIFS. Если же там имеются только компьютеры Macintosh, лучше обратиться к протоколу AFP (хотя обязательным условием это не является).

Нажмите кнопку Sharing, находящуюся в левой части экрана настройки конфигурации, и выберите пункт Add CIFS Share. Присвойте общему ресурсу имя и выберите том, нажав кнопку Browse в строке Path. Имя, определенное ранее для тома, должно отобразиться внутри папки /mnt/. Щелкните на этом имени и нажмите кнопку Close. Убедитесь в том, что флажок Allow Guest Access установлен, и нажмите OK.

Щелкните на кнопке Services, расположенной на левой панели, и выберите Control Services. На основной панели установите переключатель CIFS в положение «включено». В окне Проводника Windows наберите IP-адрес FreeNAS (например, \192.168.0.1) и нажмите клавишу. На экране отобразятся ресурсы, к которым пользователи имеют доступ. Подключите сетевой диск средствами Windows, и вам больше не придется вводить IP-адрес в Проводнике.

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

Созданный таким образом простой, совместно употребляемый диск – лишь вершина айсберга возможностей FreeNAS. Настройки позволяют заблокировать доступ к диску определенным пользователям и группам, создать последовательность моментальных снимков для восстановления старых версий документов или полностью удаленных файлов, применять мощное сочетание Dynamic DNS и FTP, для того чтобы упростить удаленным пользователям доступ к нужным им данным.

Резервное копирование

Если сервер FreeNAS будет служить хранилищем автоматически создаваемых резервных копий клиентских ПК, нужно выбрать одно из нескольких коммерческих или бесплатных приложений, к которым будут обращаться эти клиенты. На компьютерах, где установлена версия Windows 7.

Профессиональная и старше, стоит обратиться к встроенному инструменту «Архивация и восстановление» (младшие версии ОС не позволяют осуществлять резервное копирование по сети).

Запустите приложение в среде Windows 7 и щелкните мышью по ссылке «Настройка резервного копирования». Нажмите кнопку «Сохранить в сети», затем кнопку «Обзор» и выберите созданную вами папку FreeNAS. Если на сервере FreeNAS для вас уже создана учетная запись, введите имя пользователя и пароль. Если нет, применяйте имя пользователя по умолчанию (admin) и пароль, заданный вами ранее.

Можно разрешить Windows выбирать файлы, которые ОС считает наиболее важными, или же указать конкретные файлы и папки самостоятельно.

Затем следует запустить процедуру резервного копирования с выбранными вами параметрами. Процедура архивации будет выполнена в первый раз.

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

Требования к старому ПК

  • SATA разъемы на материнской плате, так как HDD c этим интерфейсом обладают наилучшим соотношением цена/производите-льность и имеют гораздо больший объем, в отличии от IDE винчес-теров.
  • Количество разъемов для подклю-чения жестких дисков на мате-ринской плате и свободных слотов в корпусе (возможность установить HDD в 5,25-дюймовые отсеки (специальные боксы)) Для сборки HTPC я использую такие боксы с 2-мя слотами под 2.5″ HDD.
  • При недостаточном количестве SATA-штекеров на блоке питания можно воспользоваться специальными переходниками IDE-SATA.

Процедура установки HDD в корпус

Чтобы установить 3,5-дюймовые жесткие диски в 5,25-дюймовые отсеки для оптических приводов поместите их в специальный бокс (см. рис).

Такие корпуса также могут быть выполнены в виде направляющих, которые крепятся с обеих сторон к HDD.

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

Установка программного обеспечения

Для реализации серверного решения будем использовать ПО FreeNAS . Скачайте ISO-образ по ссылке для 32-битной или 64-битной системы и запишите на минимальной скорости на диск CD-R\RW. Если нет болванки можно установить на флешку, как сделать загрузочную флешку написано в . Временно подключите к ПК дисковод (который сняли ранее или воспользуйтесь USB приводом). Зайдите в BIOS и установите в разделе Boot загрузку с дисковода. После установки программного обеспечения и перезапуска ПК запомните его IP-адрес, который будет указан на экране.

Настройка NAS сервера

Подключите NAS-сервер к своей сети. Откройте браузер вашего рабочего компьютера в этой сети и введите в адресной строке: http://»IP-адрес вашего NAS». В появившемся окне введите имя пользователя — admin и пароль — freenas. Перейдите в меню «Storage | Volumes | Create Volume» и выберите жесткие диски, которые будут образовывать RAID-массив. Далее активируйте файловую систему ZFS.

Можно использовать:

  • RAID 0 — дисковый массив повышенной производительности, без отказоустойчивости.
  • RAID 1 — зеркальный дисковый массив, имеет высокую надежность

Будем использовать RAID 1, как более надежный. Теперь нажмите «Add Volume» для форматирования ваших дисков в массив.

Доступ к NAS серверу в локальной сети

Чтобы открыть доступ к серверу перейдите в меню «Services | Control Services», задействуйте службы CIFS и настроить доступ в разделе «Sharing | Windows Shares» . Как и к любому сетевому носителю локальной сети доступ осуществляется с помощью Проводника Windows (например, \\NAS для доступа к корню или \\NAS\Photos для доступа к определенной расшаренной папке). Также можно сделать ярлыки, нажав на кнопку «Подключить сетевой диск» в окне Компьютер (Windows 7) под строкой проводника.

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

Немного информации об опасности использования RAID

RAID — это избыточный массив независимых жестких дисков. RAID — это не система хранения резервных копий, он лишь помогает повысить комфорт доступа к данным. RАID-система представляет собой набор HDD, объединенных в один массив. Если ваш жесткий диск вышел из строя его можно заменить, а после восстановить RAID и ваши данные будут с вами, исключая массив RAID 0.

Недостатки RAID 0

Данный режим дает лишь скорость доступа к данным. В Striping Mode (режим чередования) данные разбиваются на блоки и записываются одновременно на несколько жестких дисков. При поломке одного жесткого диска все данные будут потеряны.

Недостатки RAID 1

В режиме RAID 1 применяется метод зеркалирования данных, то есть на втором диске располагается идентичная копия данных. Есть одно уязвимое место — возможная неисправность контроллера, которая приведет к повреждению обоих носителей.

Недостатки RAID 1 и RAID 5

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

Также неисправный RАID-контроллер может привести к выходу из строя HDD. В RAID-массивах изменения применяются к файлам и при случайном удалении или изменении данных, действия необратимы.

Как ты догадался по названию, сегодня мы будем строить домашний 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. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

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

Часть первая: холодное железо

Его можно тушить, и в бульон покрошить,
И подать с овощами неплохо.

Льюис Кэрролл, Охота на Снарка

Любой, кто способен собрать персональный компьютер и установить 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.
Этого вполне достаточно для обеспечения всей требуемой функциональности. А всевозможные дополнения будут только зря кушать электричество. Но если вдруг приглянулась ATX-плата - имеете право.

Кулер выбирается по вкусу, память - по требованиям выбранной 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 своими руками».

Для начала небольшое пояснение. 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 управляет только памятью, а за сетевые функции должна отвечать соответствующая операционная система.

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