• Своими руками сервер для хранения данных. NAS-сервер из старого ПК

    17.10.2020

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

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

    Canon PowerShot A200

    Цифровая фотография ворвалась в мою жизнь в 2002 году с рождением дочки. Все не запомнить, да и со временем что-то забывается, а потому хотелось запечатлеть как можно больше моментов начала её жизни. Так что предполагалось, что делать фото буду много и часто, что тогда не позволяла плёночная фотография (стоимость плёнки + стоимость печати = дорого). И вот 21 августа 2002 года был куплен цифровой аппарат фирмы Creative PC-CAM совмещающий в себе веб-камеру на батарейках и возможностью делать цифровые фотографии 1Мп не больше 8 штук (больше не помещалось во внутреннюю память устройства и работать с картами памяти она не умел). Очень быстро поняв всю прелесть такой фотографии и ущербность встроенной маленькой памяти, через пару месяцев молодой папа поднапрягся в финансовом плане и купил настоящий цифровик Canon PowerShot A200 который умел еще и записывать видео!

    Canon PowerShot A400

    С этого момента сразу морально умерла вдогонку к пленочному фотоаппарату, еще и видеокамера Samsung Hi8. Качество фотоснимков нового фотоаппарата была настолько потрясающая, а данная линейка Canon настолько универсальна (многократное оптическое увеличение, стабилизация от «дрожащих» рук, большое кол-во фото от одной зарядки), что в последующие годы менялась только модель: А400, А430, SX100 IS (оптическая стабилизация!) и SX200 IS. Последний куплен тоже 21 августа (совпадение) но уже в 2009 году и используется до настоящего времени. Кроме того, в марте 2012 года был куплен фотоаппарат Sony NEX-C3K Kit с двумя сменными объективами в комплекте 18-55mm/F3.5-5.6 и объем фото и видео (уже в FullHD качестве) заметно вырос. Фотоаппарат Sony NEX еще чем хорош, что через копеечный китайских переходник я к нему подключил объектив Гелиос 44-М с отцовского профессионального в СССР фотоаппарата Зенит (ух сколько свадеб на него снималось!).

    CANON PowerShot SX100 IS

    Я это к чему. За примерно 17 лет у нас накопилось более 20 тысяч фотоснимков и многие-многие часы видео. Для меня это настоящее сокровище, потерять которое не хотелось ну вообще никак. Все это добро выгружалось из памяти фотоаппаратов и аккуратно хранилось сначало на жёстком диске ПК, потом из-за проблемы с вирусами в Windows, переехало на один внешний диск, а потом и на более ёмкий HDD Western Digital (WD) 1TB My Book. Плюс еще какой-то приличный объем стали занимать оцифрованные киноплёнки(!) моего отца и с моей видеокамеры Samsung Hi8.

    Фотографии в старых фотоальбомах могли исчезнуть только если пожар, но это неприятное событие вы заметите сразу, или если повезет, то заранее и вызовите пожарных и всё успеете спасти. Особенность цыфры состоит в том, что весь ваш накопленный фото и видеоархив пропадает мгновенно, без предварительного запаха дыма, как говорить «по щелчку пальцами». Такое в последние годы случилось у двух моих знакомых с внешними USB-HDD.


    Как вариант хранению на внешних HDD, рынок предлагает нам устройства NAS - сетевые хранилища информации. Но это не единственная их функция, у этих устройств достаточно широкий функционал: они могут работать как автономные торрент-качалки, а потом скачанное видео могут транслировать к примеру на телевизор, могут работать как медиаплееры напрямую на ТВ подключаясь по HDMI, как серверы вашего веб-сайта и т. д. Все ограничивается только вашими желаниями и репозиторием программ для конкретного NAS. Накопители же в NAS можно объединять в массивы от RAID0 до RAID10 в зависимости от количества слотов в модели NAS. RAID позволяет как свободно манипулировать общим дисковым пространством (к примеру, объединить два разных HDD в один общий диск с помощью RAID0), так и делать файловое хранилище более защищенным (к примеру используя RAID5). Подробнее о вариантах использования разных уровней RAID можно почитать в Интернете. А еще отличие от обычных ПК и большой плюс NAS - это энергоэффективность и тишина. Т.к. NAS не предполагается использовать под игры, то в них обычно ставят холодный процессор и большой малооборотистый вентилятор для охлаждения HDD. Большой же минус NAS - это стоимость, доходящая подчас на некоторые модели до 40 тыс.рублей и выше, и это без учета стоимости накопителей, на которые могут уйти еще тысяч пятнадцать (к примеру, 4 HDD по 1 Тб в ценах апреля 2019 года). Согласитесь, не каждый семейный бюджет может потянуть всю эту затею.

    К счастью, есть еще один альтернативный и весьма бюджетный вариант. Им я и воспользовался. Это конечно не идеальный вариант, идеального ничего нет. Из плюсов - стоимость от 0 рублей, можно собрать NAS для дома из старого ПК и ненужных HDD. А из минусов - вы должны быть «с руками» или хотя-бы не бояться немного повозиться с железками и программным обеспечением. Я пошел по этому пути и вот моя история.

    пример корпуса

    Для начала был найден списанный 10-летний «офисный» ПК с БП на 300Вт, 2Гб оперативки DDR3, процессором Intel Pentium Dual-Core E5400 и все это «счастье» на материнской плате Gigabyte GA-G41MT-ES2L (2009 года выпуска) имеющий «на борту» для подключения жёстких дисков не только 4 разъёма SATA, но и пара старых IDE. Последним я очень обрадовался, т.к. у меня были пара старых IDE-дисков которые просто лежали уже много лет без надобности, на которых я собирался начать свои эксперименты с NAS. Еще что порадовало, на материнке кроме естественно PCI слотов был один современный PCI Express х1, который мне очень пригодился позже. Из минусов этой материнки - нет возможности загрузить операционную систему из встроенного кард-ридера, даже после обновления BIOS до последней версии. А жаль, у меня лежат ненужные пара 4Гб SD-карты, которые подошли бы для этого проекта, но увы. Зато есть возможность загрузки ОС с USB-флешки. Ладно, посмотрим, как это можно будет использовать в будущем. Еще на борту материнской платы есть сетевой порт на 1Гбит, что просто замечательно, т.к. скорость копирования по сети будет очень быстрая. Центр моей домашней локальной сети - это интернет-центр Zyxel Giga II порты которого тоже работают на скорости 1Гбит.

    Продолжим. Итак, второй вопрос после системного блока, возник такой: а какую ОС использовать для NAS? В Интернете предлагается много вариантов как платных, так и абсолютно бесплатных: FreeNAS, EasyNAS, Rockstor, OpenMediaVault и подобные, советую прочитать статью (откроется в новом окне) «Лучшие дистрибутивы NAS ». После того, как я ещё несколько дней смотрел Youtube, а потом самостоятельно проверял и тестировал все эти ОС на своем виртуальном компьютере в VirtualBox, пришло решение остановиться на OpenMediaVault (короче OMV). Почему? Да потому что OMV полностью поддерживает русский язык, бесплатен и базируется на ОС Linux (Debian), а это значит стабильность и надежность которая не снилась ОС Windows. Чем замечательны решения на ОС Linux - это бесплатность, отсутствие угрозы заражения вирусами ОС, а значит нет необходимости покупать антивирус, системные требования к Linux в разы ниже чем у Windows, а это значит, что ОС будет прекрасно себя чувствовать даже на тех ПК, на которых Windows просто отказывается запускаться. Кроме того, устройства под управлением Linux не требуют много к себе внимания на обслуживание (к примеру, все SmartTV, роутеры и сотовые телефоны работают на той или иной сборке Linux. В общем, как ни крути, Linux в данном случае, это мой вариант. В общем с ОС определился.

    Описывать установку OpenMediaVault я тут наверное не буду. Все достаточно просто, проблем никаких нет, да и подобных описаний полно в Интернете, дам для примера ссылку на статью (откроется в новом окне) «Openmediavault, или Как сделать NAS самому? «. Сами почитаете. Только напишу, что у меня сейчас работает:

      Т оррент-качалка с веб-интерфейсом. Очень удобно.

      М едиа-сервер miniDLNA позволяет смотреть фильмы на телевизоре. Указал несколько папок где лежат мои фильмы, а так-же папку куда скачивает торрент-к ачалка .

      Включены уведомления на электронную почту. Теперь на работе (да в любом месте!) я сразу узнаю о всех происшествиях если они произойдут.

      Включен монитор жёстких дисков по S.M.A.R.T. Если какому диску вдруг станет «плохо», уведомление об этом я получу на электронную почту к примеру, на своем смартфоне и смогу вовремя, до того как диск полностью сломается, сохранить с него информацию на другой диск.

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

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

      Включён антивирус Clave для проверок по расписанию общей папки. Дело в том, что в домашней сети есть один ПК с Windows, и хоть на нем стоит антивирус, но это-же Windows и мы же с вами понимаем, что антивирус в этом случае не всегда спасает. Так что на самом деле, антивирус в Linux нужен на тот случай, если файлы в общей папке заразятся от Wiondows-компьютера. В самом-же Linux вирусов нет просто как класса.

    пример IDE HDD

    В OMV есть плагин который надо поставить, если ОС работает на USB-флешке. Честно говоря руки так чесались, что я поторопился и не стал разбираться с этим плагином, а потому и не поставил ОС на USB-флешку, и чтобы не занимать загрузочным диском ценный SATA порт на матери, решил поставить OMV на IDE-диск. А что? Скорость тут не так важна, особенность Linux-а в том, что он работает в памяти ПК и не терроризирует записью-чтением жёсткий диск компьютера как Windows. В общем ОС занимает около 2,5Гб места и разместилась на 80Гб жёстком диске, а на второй IDE винт после окончания всех настроек OMV я сделал бэкап, на случай, если первый IDE-диск выйдет из строя. Вот так получилось бюджетнинько и думаю надёжно.

    Временно, на опыты, друзья подкинули пару 3,5“ HDD по 500Гб. Включил их в RAID0 и на выходе получил один диск ёмкостью 1Тб. Пока не забрали назад, будет работать так. Используется для работы торрента и общей папки пользователей. Еще были прикуплены пара 2,5“ Seagate Barracuda 1Тб. Вот так все 4 SATA порта на материнской плате стали заняты. На фото справа видно, сверху вниз: 2 IDE с системой OMV, далее идут пара SATA 500Gb которые «связаны» в RAID0, и в самом низу два — это 1Тб винты ноутбучного формата 2`5 дюйма. Кстати, картинки дальше все кликабельны, нажимайте на них для увеличения.


    Aerocool Motion 12

    Т.к. дисков получилось что называется «внабой» да и лето впереди, решил сделать для них дополнительное охлаждение. Купил в ДНС вентилятор «Aerocool Motion 12» за 270 руб. и установил его внутрь напротив стойки с HDD в штатное место. Работает тихо, 1200 оборотов всего, но продувает замечательно за счет увеличенного количества лопастей, их тут 9 штук.

    Интересно, а что делать, когда мне понадобиться добавить, хотя бы еще один жёсткий диск? Сейчас нет свободного SATA-порта на материнке, да и в корпусе ПК в штатных местах крепления HDD места так-же нет.

    Oimaster He-2006

    Слоняясь по Интернету, однажды обнаружил в китайском магазине интересное решение. В корпус ПК в место DVD-привода вставляется стойка под шесть 2`5 HDD на выдвижных шасси, с замком от случайного отключения дисков, с индикацией работы HDD и принудительным охлаждением внутренностей. Мне конечно не надо было прямо на 6 HDD, да и внутри ограниченного пространства они слишком плотно находились бы, а это проблема тепловыведения, диски же греются, особенно в круглосуточном режиме. Но в общем идея мне понравилась. Я стал искать решение на 4 HDD и надо было как-то решить проблему отсутствия свободных SATA-портов. И перефразируя пословицу про Рим на современный лад: в Китае - всё есть. Нашел плату SSU SA3014 PCI-E добавляющую 4 порта SATA 3.0 за примерно 1350 руб на Алишке .

    Но скажу честно, мне в тот момент подфартило и я купил её в другом месте: как раз открылся новый интернет-магазин Bringly.ru — совместный проект Яндекса и Сбербанка. Там были скидки, да еще и на первую покупку раздавали баллы, которыми можно расплатиться за товар как деньгами. В общем, вместе со всем, с доставкой, эта плата мне стоила 565 рублей. Получилось очень бюджетно, в стиле моего проекта. Потом, пересмотрев кучу вариантов стоек для HDD в 5`25 отсек, я пришел к выводу, что самая нормальная фирма - это Oimaster. Куча положительных озывов, и судя по фото устройства- все довольно качественно и надежно, хотя и дороговато.
    Но ведь и он должен бережно заботиться о моих дисках, что-бы данные хранимые на них никуда не пропали, например из-за некачественной пайки какой нибудь схемы внутри стойки или элементарного перегрева. Минимальная цена на него в районе 1898 руб. Пара месяцев я искал варианты подешевле, ждал, может где скидки будут? Скидок на последней распродаже даже на АлиЭкспрессе на него не было, так что пришлось покупать, что называется по полной стоимости. Хорошо, что пользуюсь службой возврата денег (кэшбэк) Letyshops (нажмите на баннер вверху этой страницы), и часть оплаченных денег всегда возвращается мне назад, так что можно считать, что товар достается всегда дешевле. Когда все пришло - установил все в корпус. Все работает - отлично!

    В OMV есть встроенная система статистики. Ведется учет того, на сколько сильна нагрузка на процессор, сколько оперативной памяти используется, а сколько осталось свободной, можно посмотреть динамику заполнения жёстких дисков и прочее. Напомню, в моей системе стоит процессор Intel Pentium Dual-Core E5400 мощности которого оказалось больше чем достаточно, средняя нагрузка не превышает 8-10%. Оперативной памяти 2Гб тоже более чем, 0,6Гб занята системой, остальная часть выделена под буферизацию данных.

    В завершение. Могу сказать, что NAS получился копеечным, по сути из обязательных трат — это 270 руб. для дополнительного вентилятора для обязательного охлаждения массива HDD. Так что не спешите выкидывать старые ПК — они еще могут долго вам служить, но уже в иной роли. Если есть старые HDD — тогда тоже никаких затрат. Все остальные мои траты на дополнительную плату и стойку на 4 диска — в общем-то были не обязательны. Возможностей OMV хватит с головой не только на домашнее применение, но и для офиса, и для большой корпоративной сети — так как все это базируется на ОС Linux (Debian) с регулярными обновлениями системы. А мой NAS радует семью новыми фильмами, мгновенной доступностью сразу всей массы домашнего видео и фото, и наконец уверенным спокойствием за сохранность всех накопленных годами данных.

    Категории: / / от 09/04/2019

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

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

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

    Любой, кто способен собрать персональный компьютер и установить 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 должен удовлетворять именно вас, это не production-система, которая обязана обеспечивать некие формализованные показатели. Трудностей при описании такой штуки две. Одна вынесена в эпиграф, а вторая связана с острым дефицитом телепатов. Но я все же попытаюсь высказать некоторые разумные предположения, и они будут проходить по разряду IMHO. Для экономии места «IMHO» далее опускаю. Считаем, что эта метка стоит у каждого предложения. Если же ваш конкретный случай прозреть не удалось - приношу извинения, возможно, вам подойдет другой текст.

    Этот же адресован собирающему свой первый NAS, способному поставить Windows, но в глаза не видавшему FreeBSD Handbook или Oracle Solaris ZFS Administration Guide. NAS собирают и IT-продвинутые граждане, они обычно разворачивают полную версию выбранной операционной системы. Интересно, что часть новичков в тему втягивается и со временем делает так же.

    Задачи

    Во избежание недоразумений сразу же определим, зачем нам NAS.

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

    Вторая - давать доступ к хранимым данным . Обязательна поддержка SMB/CIFS для Windows, очень желательна NFS (для медиаплееров), FTP (для загрузки больших объемов данных) и AFP (если дома есть Макинтош). Часто упоминается DLNA, об этом отдельно.

    Третья - автономное скачивание документов из сети по различным протоколам.

    Четвертая - автоматизировать бекап с компьютеров в локальной сети . Семейное фото, видео, созданные вами документы - уникальны и невосстановимы, но дома это все хранится хорошо если в полутора экземплярах: один - на диске ноутбука, половина - на каком-то USB-диске, куда фотки скидывали прошлой осенью. Если (точнее - когда) такие данные пропадут, а NAS позволит их восстановить - вы испытаете искреннее удовольствие от своей прозорливости. Или наоборот.

    Требования

    Умеренно сложная начальная настройка . Человек в первый же день должен получить работающий вариант. Может, не полностью тюнингованный, но дающий полезный результат. Это, кстати, значит, что набивший руку пользователь должен с начальной настройкой справиться за пару-тройку часов.

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

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

    DLNA/UPnP

    Понять, что именно вам нужно от DLNA-сервера, реально только методом тестирования. Большинство задач среднего пользователя, типа передачи медиа на планшет, решают практически все UPnP-серверы. А по поводу использования DLNA для вывода на телевизор процитирую разработчика HMS, одного из лучших программных UPnP/DLNA-медасерверов: «Для владельцев телевизоров большинства производителей использование данной технологии является временным этапом, который заканчивается или покупкой сетевого медиаплеера (думаю, предпочтительный вариант) или подключением телевизора в качестве монитора. Если время и нервы дороги, то, возможно, стоит пропустить данный этап» . Возможности встроенного в телевизор плеера и недорогого отдельного, вроде Дюны, Попкорна или WD, по всеядности, качеству картинки, удобству пользования и пр. обычно разнятся очень сильно. Правда, встроенные плееры быстро прогрессируют, поэтому определяться стоит по конкретному железу.

    Дисковые массивы и файловые системы

    Зачем нужен массив

    Главный вопрос при построении NAS - организация дискового пространства. Как мы выяснили в 1-й части , дисков много, 4-6, иногда 10 и более. Их, конечно, можно использовать и по отдельности. Но объединение в массив удобно тем, что место доступно единым куском. В массиве без избыточности при смерти диска гибнут данные на нем и, часто, в зависимости от реализации, на всем массиве. Вы имеете право, пользуясь аргументом «ничего, перекачаю», экономить на избыточности. Те, кому время дороже, предпочитают массивы с избыточностью. Важно: никакой RAID не заменит бекап. RAID обеспечивает доступность данных в случае сбоя диска. Невосстановимые данные обязательно бекапить. К счастью, их обычно совсем немного.

    Термин «массив с избыточностью» часто смешивают с термином RAID. Но доступны и более продвинутые технологии. Выбирая софт для NAS, вы можете использовать их или обойтись без этого. Чтобы понять, что́ больше подходит именно вам - давайте вспомним о проблемах RAID и файловых систем.

    RAID 5 (6 и др.) подвержен серьезной проблеме. При записи в массив одновременно должны быть записаны данные и блоки четности. Но запись на несколько дисков не есть атомарная операция. Если в процессе записи возникнет проблема (отключение питания, сбой диска и т.п.), то возможна ситуация, когда данные и блоки четности не будут соответствовать друг другу. Если неправильно записаны данные, то они во многих случаях могут быть исправлены или хотя бы обнаружены при обслуживании файловой системы, расположенной поверх RAID (chkdsk, fsck…). А вот неверные блоки четности в худшем случае могут остаться незамеченными до момента, когда по ним будет восстанавливаться массив. И вместо данных будет восстановлен мусор. Мало того, мусор будет записан безо всяких о том предупреждений. Дополнительную информацию по проблеме можно получить .

    Рис 1. Дыра по записи в RAID. Слева - данные и блоки четности синхронизированы, идет запись. В центре - сбой по питанию. Справа - данные и блоки четности не синхронизированы, но RAID об этом не знает.

    Промышленные RAID-контроллеры решают проблему за счет использования BBU, «батарейки». После сбоя даже при отключенном питании контроллер помнит, какие данные должны были быть записаны. И при появлении возможности записывает эти данные в массив.

    Сбой при реконструкции

    Пусть у нас есть RAID 5 из пяти 3Т-дисков, в котором один из дисков отказал. Массив надо перестраивать, при этом придется прочитать 4 диска × 3T = 12Т =1,2·10 13 байт = 0,96·10 14 бит информации, причем независимо от степени заполнения массива - ведь на уровне RAID о файлах ничего неизвестно. Исправные диски пользовательского класса имеют законное право дать один сбой в среднем на 1·10 14 бит (см. напр. ). То есть с очень большой вероятностью мы получим сбой реконструкции просто по спецификации диска. Плюс какая-то вероятность того, что диск действительно сломается. Традиционный рецепт: использовать диски корпоративного класса (с вероятностью сбоя 10 −15), не увлекаться емкими дисками и использовать RAID 6. К сожалению, все три совета по цене не очень соответствуют домашним условиям.

    Надежная файловая система

    Перейдем на один уровень выше, к файловой системе. От нее ждут простой вещи - возможности записать файлы и потом прочитать то, что записано. Парадоксально, но бо́льшая часть ФС этого не гарантирует: они полагаются на идеальную работу оборудования - дискового контроллера, кабеля, самого диска. Аппаратный сбой приводит не просто к потере данных - он приводит к незамеченной пользователем потере данных . Копируете свой фотоархив - а на самом деле часть файлов уже протухла. Узнать об этом можно, сличив контрольные суммы, что мы делаем при перекачке прошивок и подобных не терпящих сбоя данных. А почему бы не сличать контрольные суммы средствами ФС?

    Другое «детское» пожелание к ФС - чтобы она работала и не ломалась - тоже толком не выполняется. ФС без журналирования, например FAT или ext2, при сбое способна похоронить все свое содержимое. Журналируемые ФС, например NTFS или ext3, существенно надежнее, т.к. можно найти точку непротиворечивого состояния и воспроизвести журнал. А нельзя ли создать ФС, которая вообще не может попасть в противоречивое состояние? Можно - через Copy-on-Write. Данные пишем не поверх старых, а выделяем новый блок, пишем туда, и если все в порядке - заменяем указатель со старых данных на новые.

    ZFS

    ZFS объединяет функциональность ФС и поддержку RAID-подобных массивов. Распространяется по свободной лицензии (CDDL). Создана Sun Microsystems для Solaris. Портирована во FreeBSD начиная с версии 7.0. Совсем недавно проект ZOL (ZFS on Linux) достиг стадии релиза. Можно ожидать быстрого распространения ZOL, процесс уже пошел. Существует и проект под Mac OS X, ZEVO, см. .


    Рис 2. ZFS автоматически сличает контрольные суммы, обнаруживает ошибки и восстанавливает данные, если они сохранены с избыточностью (рисунок с сайта eonnas.com).

    Присмотритесь к ZFS, если вам интересна ФС с такими возможностями:

    • хранящая контрольные суммы и не позволяющая считать мусор вместо данных;
    • сохраняющая целостность до такой степени, что утилиты вроде chkdsk или fsck для нее просто нет;
    • снабженная инструментом проверки целостности холодных данных и их автоматической коррекции, если данные сохранены с избыточностью;
    • способная мгновенно создавать снимки своего состояния и хранить их хоть за каждую минуту месяца, монтировать любой набор снимков, откатываться к снимку.

    Присмотритесь к ZFS, если вам интересен RAID:

    • программный, т.е. не требующий аппаратного контроллера;
    • аппаратно-независимый, были бы SATA-порты;
    • без Дыры по записи;
    • способный к реконструкции деградированного массива с частично нечитаемыми дисками с потерей только тех данных, для которых нет ни одной копии;
    • работающий при проверке целостности и реконструкции только с полезными данными, а не со всем массивом;
    • с поддержкой аналогов RAID1 (зеркало), RAID5 (избыточность в размере одного диска), RAID6 (двух) и даже «RAID7» (сохраняющий данные при выходе из строя любых трех дисков массива), а также более сложных вариантов, подобных RAID50 или RAID60.

    У ZFS есть и недостатки, основные из которых:

    • Нарастить RAID-Z-массив на один диск нельзя. Можно заменить все терабайтные диски на тритеры - и увеличить объем. Можно собрать из 3 (и более) дисков еще один RAID-Z и добавить его к существующему, получив единый пул. Но превратить RAID-Z1 из 5 дисков в RAID-Z1 из 6 можно, только слив куда-то информацию, разрушив массив и создав новый.
    • Массив нельзя уменьшить. Можно только увеличивать - добавлять группы дисков, менять диски на бо́льшие.
    • Ресурсоемкость. ZFS постоянно считает контрольные суммы, что создает нагрузку на процессор и использует под кеши память. Дома у меня работало с Atom 330 и 2 ГБ памяти. Хотя при использовании ZFS этого Атома для полной утилизации гигабитной сети мне не хватало, но 40-50 МБ/с многих устроит.

    Да, еще: если разрушить ZFS и создать из тех же дисков новый массив (то есть дать пару команд и/или понажимать кнопки в веб-интерфейсе, в обоих случаях игнорируя предупреждения), то данные с разрушенной ФС будут надежно похоронены - в отличие от, например, NTFS, данные с которой относительно просто восстановить и после пересоздания таблицы разделов. Считать ли это недостатком - зависит от точки зрения.

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

    ReFS + Storage Spaces

    В Windows Server 2012 Microsoft предложила ФС ReFS и систему управления томами Storage Spaces . Связку ReFS и Storage Spaces можно считать до некоторой степени аналогом ZFS, причем со свойствами, не реализованными в последней. Интересны гибкость удаления-добавления дисков, thin provisioning и др. Недостатки тоже есть - это собственническая лицензия, доступна только в составе Windows Server 2012 и Windows 8.1.

    Плохо, что, судя от отзывам тестировавших, производительность связки ReFS-Storage Spaces ощутимо, в разы, падает при использовании вариантов с четностью, то есть, грубо, аналога RAID5 или ZFS RAID-Z. Еще хуже, что появились первые сообщения о потере данных из-за сбоев ReFS, причем официальная поддержка не решила проблем. Так что интересному решению, похоже, стоит дозреть.

    Btrfs + mdadm

    Официально Btrfs для Linux пока не получила статуса релиза, хотя разрабатывается с 2007 г. Подобно подавляющему большинству ФС (и в отличие от ZFS), это именно файловая система, создаваемая поверх блочного устройства. Чтобы получить, грубо, аналог ZFS, нужно добавить, например, хорошо отлаженный mdadm, одна из возможностей которого - перестройка RAID при добавлении диска без потери данных.

    Традиционные ФС

    И, конечно, существование продвинутых ФС не заставляет вас выбрать одну из них. Возможно, вам для NAS больше подойдет NTFS, ext4 или UFS - родная ФС для выбранной вами оси. На относительно слабом железе этот выбор может оказаться единственным.

    Варианты программного обеспечения


    Рис 3. Примерный алгоритм выбора софта для домашнего NAS

    Из чего и как выбирать

    Хочу порекомендовать скачать VirtualBox, установить туда несколько приглянувшихся вариантов и в течение нескольких дней потыкать каждый палочкой. На виртуалке это дешевле, проще и быстрее, чем на реальном железе. Серьезно экономит нервы. Особенно если ни один из вариантов вам не понравится.

    Как софт самосборного NAS можно использовать три группы программных продуктов.

    Во-первых, можно поставить полную операционную систему. Это может быть Linux, UNIX или Windows в зависимости от личных потребностей и предпочтений. Windows представляется более знакомой, *nix дает больше NAS за те же деньги, но конфигурирование *nix с нуля - задача не для новичка.

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

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

    Windows

    В профильной ветке проводился опрос об используемой форумчанами в самосборных NAS операционных системах, и Windows досталось третье место с результатом чуть ниже 20%. Конечно, голосовали и более продвинутые камрады, но их точно было не большинство.

    Результат, способный удивить. Windows - наиболее знакомая большинству операционная система. На ее основе можно сделать NAS - в конце концов, 20% опрошенных это сделали. Причина скромной цифры в том, что у использования Windows в качестве оси NAS есть не только достоинства, но и недостатки:

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

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

    Приводя же неполный список достоинств Windows, помимо привычности можно упомянуть:

    • Родная высокоскоростная реализация SMB.
    • Совместимость с железом. Драйвера для Windows пишут обязательно.
    • Широкий выбор софта. То есть для NAS обычно большого выбора и не нужно. Но чем более специфичны ваши требования, тем больше вероятность, что их удастся решить именно софтом под Windows.
    • Огромное множество инструкций и решений на все случаи жизни, на родном языке.

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

    Готовые *nix-сборки для NAS

    Наиболее популярны в профильной ветке три сборки - NAS4Free, OMV (=openmediavault) и FreeNAS 8.x. Все нацелены на средней продвинутости любителя и позволяют либо из коробки, либо путем загрузки плагинов удовлетворить типовые потребности.

    С торговой маркой FreeNAS связана история, вызывающая путаницу. Продукт FreeNAS развивался долгие годы, а затем по ряду причин разделился. Широко известное название, являющееся торговой маркой, попало в собственность компании iXsystems, которая решила полностью переписать код, а исходную разработку закрыть. Так появился FreeNAS 8.x, основанный на FreeBSD 8.x. Однако оригинальный проект силами энтузиастов выжил, был перенесен на FreeBSD 9.x и успешно развивается под именем NAS4Free. Как результат, апгрейд с сохранением настроек с FreeNAS 0.7 поддерживается в NAS4Free, но не поддерживается во FreeNAS 8.

    Детальное, в том числе русскоязычное, описание установки и конфигурирования сборок можно найти в FAQ профильной ветки и , поэтому здесь текст мы сэкономим.

    Официальные аппаратные требования для этих трех продуктов сведем в таблицу, тем более что они не так легко гуглятся.

    И, естественно, нужны диски для хранения данных. Похоже, разработчики FreeNAS указывают не требования, чтобы только начало работать, а чтобы работало производительно. Во всяком случае, в руководстве по эксплуатации при установке на виртуальную машину указан минимальный размер оперативной памяти в 512 МБ.

    NAS4Free

    NAS4Free распространяется по свободной лицензии BSD. Проект имеет многолетнюю историю (происходит от m0n0wall, FreeNAS 0.7, 0.6 и ранее), старшая цифра текущей версии - 9. То есть сборка неплохо вылизана, но продолжает развиваться. Основана на последнем релизе FreeBSD 9.1.

    NAS4Free скомпилирована в двух версиях, для 32- и 64-разрядных Intel x86-совместимых процессоров. Использовать NAS4Free можно тремя способами: LiveCD/LiveUSB, full и embedded. Режим «живого диска» традиционен для *nix-дистрибутивов и предназначен прежде всего для ознакомления. При реальном использовании обычно производят установку. Вариант full - традиционная установка, обычно на жесткий диск. Для установки используется небольшой раздел, размер которого задается при установке, и swap-раздел, а остальная часть диска доступна для данных. Поставить full на USB-флешку можно, но из-за интенсивной записи флешка за несколько месяцев износится.

    Для установки на USB-флешку предназначен вариант установки embedded. При старте системы создается небольшой диск в памяти, куда копируется образ системы и тут же настраивается по параметрам, собранным в единственный конфигурационный файл XML. А затем производится загрузка с этого диска в памяти. Такой подход имеет достоинства. Систему очень удобно разворачивать - системную флешку можно записать на другой машине. Состояние системы собрано в одном текстовом файле, так что его очень легко сохранять и, при необходимости, использовать для восстановления системы. Диск в памяти очень быстр, а системная флешка практически не изнашивается.

    Недостаток в том, что почти любые изменения, внесенные в систему иначе, чем через веб-интерфейс, теряются после перезагрузки. Частично разработчики решили проблему, предоставив в веб-интерфейсе возможность сохранения множества параметров. Частично проблему можно обойти за счет применения трюков вроде объединения через unionfs папки диска в памяти и папки на реальном носителе и использования автоматически запускаемых командных скриптов. Более продвинутые пользователи используют виртуализацию, чтобы ставить в jail или отдельные виртуальные машины все что угодно, хоть пару-тройку Windows. Расширение TheBrig серьезно облегчает настройку и использование jail для установки дополнительного софта. Но это все же требует знаний, сравнимых с необходимыми для развертывания полной системы. А новичку правильнее считать, что в NAS4Free есть только те сервисы, что включены изначально, всё настраивается через веб-интерфейс, и добавлять ничего нельзя.

    Список того, что есть «из коробки»:

    • WebGUI (управление и настройка);
    • Диски и массивы: ZFS v28 (зеркало, RAID-Z 1, 2, 3…), софт-RAID 0, 1, 5 и смесь (1+0, 1+1 и т.п.), шифрование дисков (с использование аппаратного ускорения, если присутствует), файловые системы ZFS, UFS, ext2/3, FAT, NTFS, iSCSI-инициатор;
    • Сетевые протоколы и службы: SMB/CIFS (Samba) - для Windows-машин, AFP (Netatalk) - для Mac OS, NFS - для *nix, FTP (ProFTPD), TFTP (tftp-hpa), Rsync (client/server) - мощный инструмент, в том числе для бекапа, SCP (SSH), iSCSI-таргет;
    • Сервисы: UPnP server (FUPPES - надо признаться, средненький), Webserver (lighttpd), Network bandwitdh measure (Iperf), Bittorent client (Transmission);
    • Мониторинг: S.M.A.R.T (smartmontools), E-mail alert, SNMP, Syslog, UPS (NUT).

    Можно видеть в списке практически все, что может понадобиться от домашнего NAS. Но наиболее важным достоинством является использование файловой системы ZFS. Относительно слабым местом NAS4Free является комплектный UPnP/DLNA-медиасервер. По личному опыту, он вполне рабочий и удовлетворит большинство потребностей, но если нужны специальные плюшки, приходится искать что-то другое.

    Детальные, с картинками, инструкции по настройке я написал и . Описана как базовая настройка, так и ухищрения вроде установки homemediaserver в виртуальную Windows-машину или TorrentMonitor в jail для автоматической загрузки сериалов по мере выхода обновлений.

    FreeNAS 8

    FreeNAS 8 - сборка на базе FreeBSD 8.3, созданная и развиваемая компанией iXsystems. Компания разрабатывает также платную версию. Долгое время бесплатная FreeNAS была искусственно серьезно ограничена. Вышедшая в октябре 2012-го версия FreeNAS 8.3 существенно доработана и обеспечивает необходимую для домашнего NAS функциональность. У FreeNAS прекрасная англоязычная документация. Коммерческие корни продукта прослеживаются и в высоких аппаратных требованиях (6+ ГБ RAM), и фокусе на используемую в бизнесе функциональность. Типично домашние сервисы, такие как битторрент и UPnP/DLNA-медиасервер, реализуются как дополнительные модули, каждый в собственной клетке (jail). Работа с jail ведется через пользовательский интерфейс и, как и весь проект, прекрасно документирована.

    UPD: FreeNAS 9. Совсем недавно, 5 августа 2013 г., выпущен релиз FreeNAS 9.1.0, а 27 августа - содержащий коррекции ошибок релиз 9.1.1 Новая версия использует FreeBSD 9-Stable и, по мнению разработчика, содержит значительные улучшения в области стабильности, расширяемости, простоты использования и производительности. Мы планируем протестировать производительность в 3-й части статьи. Аппаратные требования FreeNAS 9.x по сравнению с FreeNAS 8.x не изменились.

    FreeNAS 8 устанавливается на флешку объемом не менее 2 ГБ и занимает ее целиком. Используется nanoBSD-образ, разворачиваемый в оперативную память, что предохраняет флешку от износа. Хотя существует и 32-разрядная версия, она скорее предназначена для ознакомления. Для реальной эксплуатации рекомендуется 64-разрядная версия, в частности из-за требований к объему памяти, несовместимых с 32-разрядной архитектурой.

    Функциональность «из коробки» близка к функциональности NAS4Free. Отличие в доступности двух UPnP-серверов на выбор (FUPPES и miniDLNA) и отсутствии веб-сервера (разработчики обещают со временем добавить его).

    Созданные в NAS4Free дисковые ZFS-пулы могут быть импортированы во FreeNAS и наоборот с сохранением данных. В профильной ветке пользователей FreeNAS 8 немного, и некоторые жалуются на проблемы (см. FAQ ветки). Впрочем, еще не создано программного продукта, на который бы хоть кто-то не жаловался.

    OMV

    OMV ( на форуме сайт) основан на Debian Linux, что обеспечивает богатейшую функциональность и расширяемость. Продукт создан и поддерживается Volker Theile, в прошлом одним из ведущих разработчиков FreeNAS. Распространяется по открытой лицензии GPL.

    Поддержки ZFS в продукте нет, и она, по заявлению разработчика, не планируется, что и представляется его главным недостатком. В сети можно найти хак по установке zfsonlinux на OMV.

    OMV устанавливается на жесткий диск или USB-флешку, при этом занимает носитель полностью. Такая инсталляция не выглядит оптимальной ни для диска, ни для флешки. Странно использовать весь жесткий диск под систему, которой нужен всего гигабайт. Боязно устанавливать на флешку продукт, интенсивно на нее пишущий. Однако для обеих проблем энтузиастами разработаны хаки, решающие эти проблемы: специальный скрипт выносит каталоги с интенсивной записью в память, а несложное редактирование дистрибутива позволяет создать на системном диске раздел для данных.

    Описывать функциональность OMV особого смысла нет. Базовая функциональность, аналогичная NAS4Free и FreeNAS, за примечательным отсутствием ZFS, доступна из коробки или как набор дополнительных модулей. Но OMV - по сути своей Debian, вариант Linux, для которого существует неимоверное множество приложений. Их можно устанавливать стандартным для Linux способом.

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

    Другие варианты

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

    Многие бесплатные сборки находятся на ранней стадии развития, не позволяющей использовать их любителем. Как потенциально интересный пример можно привести . Это Linux(CentOS)-проект с интеграцией zfsonlinux. Если (и когда) автор доведет продукт до релиза, он может стать интересной альтернативой.

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

    Если вам, как и автору этих строк, наличие ZFS кажется обязательной функциональностью NAS, то рано или поздно внимание обращается к вариантам, растущим корнями из Solaris. На все Solaris-деривативы наложило печать удушение OpenSolaris со стороны Oracle после покупки Sun. Большинство пережили трудный этап, перейдя на кодовую базу Illumos, некоторые вымерли, но это другая тема. Вариантов здесь несколько, например . Плюсы - производительность при несколько меньших аппетитах к железу по сравнению с вариантами на FreeBSD и Linux. Минусы - более узкий список аппаратной и программной совместимости и относительно высокие требования к администратору. Настолько высокие, что обычно значительно проще развертывать систему на полной ОС.

    Особняком стоит использование на стандартном железе модифицированного софта от покупных NAS. Автор не юрист, чтобы всесторонне оценить детали применения лицензий, поэтому на всякий случай обойдемся без ссылок. Но для не-юриста картина выглядит очень похожей на ситуацию с OpenWRT. Оригинальные прошивки написаны производителями NAS на базе открытого кода с лицензией GPL. По этой же лицензии результат опубликован в исходных кодах. Энтузиасты, снова по лицензии GPL, берут этот код, модифицируют его и публикуют результат. Этот результат представляет собой в целом рабочую сборку на основе Linux, которую можно установить на голое железо, виртуальную машину или подходящий NAS другого производителя. Последнее, кстати, практикуется уже много лет и до сих пор не прикрыто - вероятно, как раз из-за отсутствия юридических нарушений в такой практике. Достоинство у такого варианта ценовое, но есть и недостатки. Во-первых, помимо GPL-кода в составе покупного NAS используется и собственнический, в основном для связи с железом. Поэтому у таких сборок есть проблемы по переходу в спящий режим, экономии электроэнергии, регулированию шума вентиляторов и т.п. Во-вторых, покупной NAS ведущего производителя - это еще и интернет-сервисы, предназначенные, естественно, только для покупателей, а не для всех желающих. Так что ровно то же самое в результате установки такой сборки не получается, скорее это вариант пощупать, в том числе и в виртуалке.

    Веб-интерфейс на полную ОС

    Более-менее активно участники профильной ветки используют ZFSguru и napp-it. Несомненно, существуют и другие продукты, начиная с . Но они меньше подходят (или совсем не подходят) для обсуждаемых целей. Да и автор с ними не сталкивался, см. эпиграф.

    ZFSguru

    Использует FreeBSD. Продукт на сегодняшний день представляет собой удобный инсталлятор FreeBSD, позволяющий установить полную систему на ZFS-пул, например на зеркало, сконфигурировать пулы данных и получить качественный полуфабрикат NAS. Полуфабрикат - потому что часть базовой для NAS функциональности пока не реализована и запланирована на неопределенное будущее. Руками придется ставить подключение к UPS, сетевой доступ к файлам и пр. Качественный - потому что то, что уже сделано - сделано хорошо.

    napp-it

    Проект по уровню готовности выглядит редким исключением. Продукт позволяет буквально несколькими нажатиями кнопок превратить чистую установку Solaris-подобной операционной системы в NAS с ZFS. В текущей версии рекомендуется использование OmniOs или OpenIndiana, поддерживаются с некоторыми ограничениями Nexenta, Illumian и Oracle Solaris 11.1. Секрет, видимо, в том, что разработчики удачно коммерциализировали продукт. Базовая функциональность бесплатна, бесплатны и расширения для домашнего использования, прежде всего UPnP-сервер Mediatomb. Расширения сугубо корпоративного назначения - платные. По результатам непродолжительных испытаний автором на виртуалке впечатления остались положительные. Но солярка есть солярка. В репозитариях даже transmission весьма бородатый, а более-менее современный надо собирать, на что автору кривизны рук не хватило. Камрад padavan где-то на форуме описывал пассы с бубном, которые позволили ему решить проблему, но, как говорится, что позволено Юпитеру, то не дано быку. Так что хотя napp-it и здорово добавляет дружественности NAS на базе Solaris, без заметного UNIX-опыта в эту тележку лучше не впрягаться.

    Полная *nix-система

    Тут - коротко. Ученого учить - только портить. Серверный *nix-продукт с нуля дома поднимают либо люди с профессиональным опытом, либо продвинутые любители, хобби которых уже не умещается в песочницу готовой сборки (или коробки) с пришиванием к ней рюшечек. Судя по профильной ветке, работают с самым разнообразным софтом. Зачастую совмещая через виртуализацию сильные стороны и/или развитую функциональность продуктов под разными ОС.

    Виртуализация в NAS

    Использование виртуализации в NAS - практика для продвинутого пользователя естественная. Наверное, простейший вариант - установить на NAS VirtualBox с PHP-веб-интерфейсом и поднять несколько виртуальных машин, делающих то, что в основной оси делать трудно или нецелесообразно. Прежде всего, запустить более-менее экзотический софт. Для NAS4Free и OMV написаны специальные расширения, делающие виртуализацию посильной любителю. Разумеется, VirtualBox можно поставить и на практически любую полную ось. Задача управления виртуальной машиной через монитор, мышь и клавиатуру десктоп-компьютера решается еще проще, в том числе с использованием VNC-клиента. Недостатком VirtualBox является значительное падение производительности по сравнению с системами на голом железе.

    Второй вариант - мягкая виртуализация через FreeBSD-клетки (jails). Владельцы систем на полных осях чаще используют клетки по прямому назначению, для изоляции потенциально опасных процессов, типа веб-сервера, доступного извне. В сборках механизм клеток используется для того, чтобы обойти ограничения на установку дополнительных программ. Во FreeNAS это коробочная функциональность, для NAS4Free написано расширение (TheBrig), интегрирующееся в веб-интерфейс.

    Наконец, выходящий за рамки NAS вариант виртуализации, довольно популярный в профильной ветке, называется с подачи разработчиков « ». Кратко - на железо устанавливается ESXi, в нем поднимается виртуальная машина, единственной задачей которой является создание ZFS-хранилища. Для этого внутрь нее пробрасывается дисковый контроллер, а дисковое пространство экспортируется по файловым и блочным протоколам для других виртуальных и реальных машин. Если вам непонятно, зачем такие извращения - оно вам точно не нужно.

    Итого

    Если вы хотя бы по диагонали прочитали столько букв, то на 99,9% с созданием домашнего NAS вы справитесь. Было бы желание. Успеха, и если что - обращайтесь в профильную ветку.

    Хотелось бы выразить благодарность всем участникам профильной ветки на forum.. Sh, TPAKTOP, iZEN и RU_Taurus за множество полезных комментариев.

    Особая благодарность разработчикам свободного софта: Olivier Cochard-Labbé, Daisuke Aoyama, Michael Zoon, Volker Theile и многим другим. Они сделали возможным само существование темы «NAS своими руками».

    Похожие статьи