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

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

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

Домашнее сетевое хранилище NAS: пять главных сценариев использования

Каковы явные признаки того, что использование сетевого хранилища в вашем доме обернётся благом? Этих признаков немного, поэтому перечислим их все.

Во-первых, и это – главное: NAS может оказаться полезен там, где живут люди, использующие сразу несколько компьютеров, объединённых в локальную сеть и систему «умный дом». Говоря о «нескольких компьютерах», важно отметить, что сейчас под это определение подходит почти каждая семья, где используют смартфоны, планшетные компьютеры, ноутбуки, медиаплееры, игровые приставки и телевизоры с функцией Smart TV.

Сетевое хранилище для дома может быть, например, таким

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

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

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

Наконец, в-пятых, NAS хорошо себя покажет в жилище с большой площадью и обширной придомовой территорией – принимая видеопотоки от камер наблюдения.

Вкратце обозначив перспективные направления применения сетевых хранилищ для сценариев домашнего использования, перейдём к подробностям…

1: NAS в роли домашнего медиа-сервера

Группа сценариев домашнего применения сетевого хранилища для организации доступа к данным так или иначе связана с понятием «сервера». Современные NAS отлично подходят для организации на их базе серверов самой различной направленности – как используемых в рамках локальной домашней сети, так и имеющие канал связи с интернетом.

Самое очевидный и самый популярный сценарий этой группы – применение сетевого хранилища в качестве медиа-сервера. Этот сценарий предполагает каталогизированное складирование на NAS видео- звуковых и графических файлов для доступа к ним компьютеров, телевизоров, сетевых медиацентров, ноутбуков, планшетов и смартфонов, находящихся в доме. Фактически, это – развлекательная грань работы так называемого «умного дома»: сетевой инфраструктуры, связывающей все домашние гаджеты в единую функциональную систему.

Используя NAS как медиа-сервер, бывает полезно узнать: с какими конкретно современными мобильными устройствами он совместим, есть в его программной платформе встроенные механизмы каталогизирования контента, как осущестhttps://adm..gifвляется доступ и на какой скорости, есть ли возможность установить в настройках хранилища доступ из приложения iTunes (iTunes-сервер)?

Построив дома кинотеатр, глупо не докупить NAS

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

2: NAS в роли наблюдательного пункта

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

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

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

Камеры наблюдения бывают полезны не только на военных объектах

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

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

3: NAS в роли аудио- и видеоархива

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

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

Дома NAS может стать центром цифровой вселенной

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

В порядке очереди начнём мы со сценариев, где основная функция – это хранение.

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

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

Киномания - очень достойное занятие

Второй момент создания фильмотеки на базе сетевого хранилища касается объёма видеофайов и особым требованиям к скорости доступа к ним. Как уже было сказано выше, в крупных городах максимальная скорость широкополосного доступа в интернет позволяет смотреть фильмы потоком в достаточно неплохом качестве. Однако качество и требования к скорости доступа постоянно растут. Стандарт Full HD с пятиканальным звуком уже стал обыденностью. В штатном порядке выходят 3D-фильмы. Продажи телевизоров Ultra HD набирают обороты – а с ними появляется возможность выпускать киноленты с разрешением 3840 на 2160 точек. Увлечённый киноман сегодня просто вынужден собирать свою коллекцию на базе сетевого хранилища, если в его приоритетах значится качество изображения – а значит размер файла и его битрейт при воспроизведении.

Завершая тему скорости доступа, выскажем пару рекомендаций, касающихся характеристик различных моделей NAS. Современные сетевые хранилища для интеграции в сеть используют либо обычное проводное соединение через порт Ethernet, либо его в паре с беспроводным модулем Wi-Fi. Последний, безусловно, удобен – особенно для мобильных устройств, но даже при совместимости со стандартом 802.11n не может обеспечить скорость передачи данных выше 600 мегабит в секунду. Проводное же соединение вкупе с гигабитным сетевым адаптером позволяет уверенно себя чувствовать даже при просмотре с жёстких дисков NAS фильмов и передач в разрешении Ultra HD и формате 3D.

Видео, записанное и сберегаемое на дисках сетевого хранилища, прерогатива не одних лишь кинолюбителей. Ещё один сценарий использования NAS дома – это создание архива при работе частным видеооператором, монтажёром, режиссёром… Не секрет, что производство фильмов предусматривает накопление большого количества видеоматериала, объём которого продолжает расти – благодаря внедрению в жизнь камер, снимающих в Ultra HD или «сыром» формате RAW.

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

Сначала поговорим о фотографах. Ни для кого не секрет, что работа профессионального фотографа предполагает избыточность материала. К примеру, американские мастера, специализирующиеся на съёмке свадеб, в ходе одного заказа делают до 5000 кадров. Это – колоссальный объём информации – с учётом использования современных аппаратов с многопиксельными матрицами и использовании «сырого» RAW. Отечественные свадьбы имеют свою специфику – на них фотограф обычно отрабатывает целый день. В результате выход по кадрам у него не слишком отличается от показателей американских коллег.

У профессиональных фотографов архив работ пополняется очень быстро

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

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

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

При постоянном увеличении хранимой на домашнем NAS информации пользователю нужно обратить внимание на количество установочных мест для жёстких дисков. Конечно, большинство подсознательно предполагает, что сетевому хранилищу для дома вряд ли нужна возможность подключения более одного или двух дисков. Однако, как нам кажется, всегда лучше просто купить новый HDD и вставить его в шахту, чем думать над приобретением диска заметно большего, чем сейчас, объёма и изыскивать способ копирования на него уже имеющейся информации. Наконец, напомним, что NAS с четырьмя и более «посадочными местами» может в полной мере использовать все преимущества системы слияния дискового объёма в массив RAID. Впрочем, об этом – немного позже.

4: NAS в роли хранилища резервных копий

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

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

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

Если домашний NAS хранит образы программных сред - даже отказ жёсткого диска в рабочем ноутбуке не будет фатальным

Ещё больше обезопасить свой покой помогает применение для дисков, установленных в домашнем NAS, режима работы в качестве массива RAID. Система RAID имеет следующие возможности: объединение пространства всех дисков с кратным увеличением доступа к нему (RAID 0), полное зеркалирование (полное копирование) пар дисков (RAID 1), объединение пространства с выделением одного из дисков под хранение контрольных сумм (RAID 5, доступно для сетевых хранилищ с четырьмя и более слотами установки HDD).

5: NAS в роли почтового отделения, web-хостинга

Менее распространённые, но всё же актуальные для дома сценарии – это создание на их базе web-сервера для запуска во всемирной сети личного сайта (одиночного блога, онлайнового магазина, стартапа…), почтового сервера или сервера обслуживания камер видеонаблюдения.

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

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

Материнские платы NAS на ARM и x86. Разница очевидна

Представленные на рынке современные NAS работают под управлением центральных процессоров двух архитектур: ARM и x86. Последняя представлена практически исключительно процессорами Intel Atom. Именно они предпочтительные в сценариях, которые предполагают большое количество подключений к серверу с интенсивным обменом информацией. Кроме того, NAS на платформе x86 имеют более привычную для пользователей персональных компьютеров конструкцию и более пригодны для ремонта и модернизации в домашних условиях.

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

Будь я работником макаронной фабрики, то сейчас ломал бы голову над тем, куда девать этак 500 упаковок макарон по полкило штука. К счастью, когда начальство решает премировать сисадмина “натурой”, получение в подарок фургона сухого пайка не грозит, хотя имеются неплохие шансы стать обладателем нескольких десятков килограмм откровенного лома. Однако в этот раз мне повезло – в качестве корпоративного подарка я получил пару новеньких WD Re 2004FBYZ на 2 терабайта каждый, и блок питания Thermaltake Smart DPS G 750W. Вот только что делать с дисками? Ставить в домашний комп – слишком расточительно даже для меня, все-таки Enterprise Class, да и нужды особой нет. Куда практичнее на их основе собрать NAS. Разумеется, не какую-нибудь файлопомойку, а высоконадежное хранилище – эдакий “черный ящик” для критически важных данных. Плюс к этому, можно совместить приятное с полезным – раз уж принято решение целиком перевести инфраструктуру на “умные” БП (а именно так Thermaltake позиционирует линейку Smart DPS), неплохо бы воочию увидеть, как это работает.

Но есть одна загвоздка – на данный момент фирменное приложение существует только под Windows. Для корпоративного ЦОДа эта операционная система хороша, но для домашнего файлового хранилища ужасна и крайне нерентабельна. Посему, я решил сделать два поста. В этом мы поднимем NAS на основе Windows Server 2008 r2 (убедившись, что “окошки” и “домашний NAS” – понятия несовместимые), и посмотрим, на что способна DPS G App 2.0. Во втором же соберем бюджетный NAS на основе NAS4Free, создав по-настоящему надежную систему.

Предисловие

Дабы не быть закиданным помидорами, сразу хочу предупредить – статья рассчитана, прежде всего, на непрофессионалов. Хотя почитать о Smart Power Management от Thermaltake будет интересно даже опытным админам и энтузиастам, основной материал ориентирован на людей, не желающих переплачивать за громкое имя, покупая готовые решения, и при этом далеких от системного администрирования (программистов, дизайнеров, веб-разработчиков и т.д.). Если ваша рука достаточно тверда, чтобы собрать компьютер из комплектующих, но при этом вы не хотите долго и муторно разбираться с серверным ПО, а консоль видели только в страшных снах – этот материал для вас. Если же захотели посмотреть на SPM Cloud, чтобы решить, насколько эта система может оказаться полезной именно вам, крутите пост до подзаголовка “Насколько умен интеллектуальный блок питания?”. Кстати, предупреждаю – под катом много фото и скриншотов.

Простенько, но со вкусом

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

Корпус. Роль корпуса для хранилища данных взял на себя Thermaltake Core V1 – симпатичный, цельнометаллический кубик с тихим 200 миллиметровым вентилятором за передней фальш-панелью.

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

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

Еще одним преимуществом Core V1 являются 4 съемные стенки (боковые, крыша и дно), что значительно облегчает процедуру сборки. Каждая панель крепится парой винтов, которые легко откручиваются вручную. Также мне весьма понравилась реализация корзин для дисков – каждый из четырех фиксирующих винтов получил собственный резиновый демпфер, неплохо гасящий вибрацию:

Материнская плата. Здесь мой выбор пал на GIGABYTE GA-J1800N-D2H со встроенным Intel Celeron. Мощности двухъядерного процессора с базовыми 2.41 GHz для сетевого накопителя данных хватит за глаза (хотя Windows Server загрузит его на 100%, но ведь “окошки” – не наша целевая платформа), он достаточно экономичен и не требует активного охлаждения (отпадает необходимость покупки кулера).

Несмотря на дешевизну, Gigabyte внедрили в продукт свои фирменные фишки: технологию High ESD, обеспечивающую защиту от электростатики для микросхем и LAN, а также Anti-Surge IC, предотвращающую выход системной платы из строя из-за скачков напряжения – все, что нужно для действительно надежной системы. Единственный спорный момент – расположение внутреннего USB-разъема вплотную к радиатору: с ним попросту неудобно работать.

Оперативная память. Ничего особенного – обычные Transcend 2Gb DDR-III 1333Mhz в форм-факторе SO-DIMM. Если где-то в чулане завалялся старый ноутбук, можете снять модули с него.

Блок питания. Добротный Thermaltake Smart DPS G 750W, рассчитанный на производительные ПК и серверные платформы, сертифицированный по стандарту 80 PLUS Gold. Для полноценного сервера или рабочей станции – в самый раз, для сборки NAS своими руками – слишком мощный, однако на время эксперимента можно себя побаловать, установив нитрос на малолитражку.

Разумеется, в устройстве подобного класса предусмотрено модульное подключение кабелей. Из встроенных – только коннекторы материнской платы и процессора (разделяемый 4+4 pin, что пришлось очень кстати при сборке).

Дополнительное удобство обеспечивают плоские кабели, хотя даже они уместились в компактном Core V1 с трудом – все же корпус на подобное не рассчитан. Среди них оказался и провод для подключения Thermaltake Smart DPS G 750W к внутреннему разъему USB. Очевидно, он обеспечивает взаимодействие бортового 32-битного микроконтроллера с сенсорами материнской платы, и необходим для полноценного функционирования Smart Power Management. Однако о том, насколько система мониторинга оправдывает себя и какие фичи предоставляет, мы поговорим несколько позже.

Охлаждение. Два тихих нерегулируемых TITAN DC FAN. Раз мы хотим собрать тихий NAS без лишних затрат, такой вариант станет оптимальным.

HDD. Хотя дареному коню в зубы не смотрят, считаю нужным все же сказать пару слов о виновниках торжества – сладкой парочке WD Re 2004FBYZ. Ведь, как ни крути, именно от качества жестких дисков зависит сохранность информации.

Если обратиться к спецификациям производителя, выглядит все очень вкусно. Так, винчестеры оборудованы акселерометрами и датчиками давления, на базе которых реализована технология Rotary Acceleration Feed Forward (RAFF), обеспечивающая защиту от линейной и угловой вибрации в реальном времени, что повышает как надежность, так и производительность. Будучи серверным решением, WD Re 2004FBYZ имеют и TLER (Time Limited Error Recovery), ограничивающую время коррекции во избежание ошибочного выпадения диска из RAID-массива. Добавьте к этому заявленное время наработки на отказ в 1.2 миллиона часов, и мы получим практически идеал.

Впрочем, о правдивости красивых слов и мудреных аббревиатур сложно судить, пока не попробуешь продукт самостоятельно. И здесь я могу сказать лишь то, что набираю эту статью на компьютере, внутри которого вот уже 6-ой год трудится пара терабайтных Caviar Black. Да и 2.5-дюймовый малыш в стареньком Dell Inspirion 1501, ныне отданном родителям, чувствует себя ничуть не хуже. Собственно, и перевод инфраструктуры именно на WD на текущем месте работы состоялся именно с моей подачи – с этим брендом у меня сложились давнишние и весьма продуктивные отношения. Я использую их диски уже не первый год, они никогда меня не подводили, и на сегодняшний день я не вижу ровным счетом ни одной причины изменять своим предпочтениям.

Флешка. Любой USB-накопитель объемом 8 Гб. Разумеется, оптимально подойдут компактные “затычки”, корпус которых практически не выступает над разъемом.

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

  • Дополнительные кулеры следует ставить на выдув – тогда мы добьемся проточной циркуляции воздуха спереди назад и оптимального охлаждения;
  • Когда будете устанавливать материнскую плату, следите за металлической перемычкой над отверстием USB 3.0 на задней панели – действуя неосторожно, ее можно загнуть и, таким образом, блокировать разъем;
  • Корзины для дисков крепятся одним-единственным винтом, однако установлены они достаточно жестко и сразу могут не податься. Для извлечения корзины ее необходимо потянуть по направлению от корпуса и немного вниз;
  • На материнской плате не предусмотрено подключение для внешних USB 3.0, можете смело прятать этот провод в нижний отсек корпуса.

Занимательная математика

Пожалуй, стоит взять небольшую пазу и посчитать, насколько бюджетной получилась наша сборка. Итак, приступим:
  • Корпус: Thermaltake Core V1 – 3 764 руб.
  • Блок питания: как бы ни был хорош Thermaltake Smart DPS G 750W, для небольшого файлового хранилища он слишком роскошен. В будущем я планирую поставить туда Chieftec HPS-350NS – 1560 руб.
  • Материнская плата: GIGABYTE GA-J1800N-D2H – 4436 руб.
  • Оперативная память: Transcend SO-DIMM 2Gb DDR-III 1333Mhz x 2 – 3040 руб.
  • Охлаждение: TITAN DC FAN (80 мм, 2000 об/мин) x 2 – 404 руб.
  • USB-накопитель: 300 рублей.
Итого: 13 504 рубля.

Я намеренно не учитывал HDD, чтобы сравнить с продукцией Synology. К примеру, DiskStation DS216+ обойдется вам в 28 173 рубля, при этом под капотом мы увидим весьма скромную начинку: Intel Celeron N3050 1.6 GHz, RAM – 1 Gb, все те же два посадочных места 3.5 мм для дисков. Если бы WD Re 2004FBYZ не достались мне даром, то я заплатил бы еще 17 660 рублей, а конечные затраты приблизились к 31 тысяче – стоимость “голой” платформы популярного бренда. Да, наша сборка менее компактна, зато более производительна и надежна, и это практически за полцены! А если есть разница, затем платить больше? На этом небольшое лирическое отступление завершено – время двигаться дальше и вводить в строй нашу машину!

Windows Server – самое ужасное решение для домашнего NAS

Даже если вы в глаза не видели *nix’ы, даже если при виде командной строки вас бросает в дрожь, даже если “окошки” кажутся привычными и вселяют чувство безопасности, не вздумайте поднимать личное файловое хранилище на основе Windows. Почему? Расскажу по ходу данного материала. Но сперва разберемся с установкой.

Ставить Windows Server 2008 r2 будем, разумеется, с флешки. Для создания загрузочного накопителя можно обратиться к следующей инструкции , или воспользоваться утилитой Windows USB/DVD Download Tool , которую также рекомендуют в официальном блоге Майкрософт . Тоже самое можно осуществить и с помощью Rufus , которая, к тому же, сможет проверить память на битые блоки (одного-двух проходов будет вполне достаточно), либо осуществить установку в режиме Windows To Go, что позволит запускать ОС непосредственно с девайса.

Однако последний вариант – не лучшая идея, учитывая особенности работы операционной системы и требуемое для нее дисковое пространство, поэтому давайте сделаем обычную загрузочную USB-флешку.

Теперь можно приступать к установке, и здесь мы видим первый подводный камень – размер. Хотите поставить редакцию Standart с визуальным интерфейсом? Будьте добры выделить 24 гигабайта. В случае с парой дисков, это – слишком расточительно. В остальном какие-либо нюансы отсутствуют: как и в версии для домашнего использования, все сводится к “Далее-Далее-Готово”.

Войдя в систему, вы увидите следующий довод “против” – необходимость активации. Я не планирую использовать Windows Server в качестве основы для NAS – все это, прежде всего, эксперимент, поэтому ограничусь триалом, который любезно предоставляют сами Microsoft. Запускаем regedit, ищем ключ реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation\Manual

Меняем его значение на единицу и перезагружаем машину. Теперь пробный период увеличился с 3-х до 30 дней. В общей сложности, его можно продлить до полугода при помощи сценария slmgr.vbs. Команда slmgr.vbs -dli поможет узнать, сколько времени осталось до окончания текущей лицензии, а slmgr.vbs –rearm сбросить период оценки (не более трех раз). Процесс можно автоматизировать , создав небольшой XML-файл.

Еще одно “фе” я бы хотел высказать в сторону “Центра обновлений”. К Windows Server 2008 r2 SP1 впоследствии было выпущено более 300 заплаток разного калибра. На установку их всех потребуется несколько часов, при этом патчи конфликтуют с добавлением ролей сервера. То есть, обновляться необходимо либо до, либо после, процесс отнимает уйму времени, и загружает систему по максимуму:

С обновлениями связан еще и прискорбный баг. После установки апдейтов вы можете обнаружить, что место на системном диске стало пропадать само собой. Если подметите утечку, зайдите в папку C:\Windows\Temp. Почти наверняка вы увидите такую картину:

Дело в сбое архивации логов обновлений – система плодит поврежденные архивы со страшной скоростью, после каждой ошибки запуская процедуру заново. Лечится это удалением всех файлов из папки C:\Windows\Logs\CBS, после чего можно спокойно почистить каталог Temp.

Однако двинемся дальше. И первое, что необходимо сделать – настроить автологин, благо NAS все равно будет находиться в домашней сети, а каждый раз вводить пароль – слишком утомительно. Отправляемся в “Пуск” –> “Выполнить”, и вбиваем команду control userpasswords2.

Выбрав группу “Администраторы”, снимаем галочку с “Требовать ввод имени пользователя и пароля”, сохраняем выбор.

Теперь разберемся с удаленным подключением. Проще всего воспользоваться встроенным менеджером рабочего стола. Для его активации пройдите в “Пуск” –> “Панель управления” –> “Система и безопасность” –> “Настройка удаленного доступа”, выберите второй или третий пункт (если планируете вывести NAS в интернет). Также стоит задать более простое и лаконичное имя компьютера на одноименной вкладке.

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

Если планируете выпускать домашний NAS в интернет, можно дополнительно настроить IP-фильтр:

Убедитесь в том, что LM Server находится в автоматическом режиме запуска:

Также не забудьте задать статический адрес для нашей машины в свойствах адаптера:

Где 192.168.1.1 – адрес роутера. Наконец, включите сетевое обнаружение и общий доступ к файлам и папкам в “Панель управления” –> “Сеть и интернет” –> “Центр управления сетями и общим доступом” –> “Изменить дополнительные параметры общего доступа”.

После описанных выше операций, можно со спокойной совестью подключить NAS к домашней сети. Если дальнейшее управление будет осуществляться через LM Viewer, установите приложение на свой компьютер и добавьте новое соединение, нажав на плюс на панели инструментов и заполнив необходимые поля:

Где 192.168.1.250 – IP-адрес NAS. Либо воспользуйтесь встроенной в Windows утилитой подключения к удаленному рабочему столу.

Теперь давайте создадим раздел для хранения информации. Идем в “Диспетчер сервера” –> “Хранение” –> “Управление дисками”, щелкаем правой кнопкой мыши по неразмеченному пространству на системном диске, выбираем “Создать простой том” и, следуя подсказкам мастера, создаем основной раздел “Данные”, отформатированный в NTFS.

Можно приступать непосредственно к поднятию файлового сервера. Открываем в диспетчере “Роли” –> “Добавить роли”.

После приветственного окна мастера, появится список доступных. Нас интересуют “Файловые службы”:

В следующем окне ставим галочку напротив “Диспетчер служб файлового сервера”, по желанию можно включить “Службу Windows Search”.

В “Наблюдение за хранилищем” помечаем наш раздел “Данные”:

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

В “Параметрах отчета” задаем путь для хранения записей:

Если подключили Windows Search, выбираем индексацию тома “Данные”:

Подтверждаем выбор и ждем окончания установки. После этого нам станут доступны возможности диспетчера управления файлами (расположен в “Пуск” –> “Администрирование”). Из всего спектра предлагаемых инструментов, для домашнего использования пригодится управление квотами.

Как видим, раздел “Данные” уже получил по умолчанию “мягкую” квоту. Это означает, что в случае его заполнения более, чем на 85%, нам придет оповещение, однако запись файлов в NAS по-прежнему будет доступна. Квоты можно задавать не только для разделов, но и для отдельных директорий. Давайте создадим на диске “E” папку “Music”, и зададим для нее предельный размер. Нажимаем “Создать квоту” и выбираем путь:

В “Настраиваемых свойствах” укажем лимит в 300 Гб и выберем вариант “Жесткая”, чтобы меломания не привела к ситуации, когда на диске не останется места для регулярных бэкапов и важных документов:

Добавим пороговое значение в 85% и зададим способ оповещения:

В результате получим:

После нажатия кнопки “Создать” система предложит сохранить настройки в шаблон. Впоследствии это позволит нам применять аналогичные правила к другим папкам в один клик.

Чтобы новая квота отобразилась в списке, следует перенастроить фильтр. Кликните по одноименной ссылке и выберите значения “Все”:

Теперь новая квота также видна на главном экране:

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

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

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

Щелкнув по “Изменить свойства шаблона”, попадаем в меню настройки.

Здесь, нажав кнопку “Изменить”, можно вызвать раздел добавления новых расширений и удаления существующих, а также ознакомиться с предустановленными:

Осталось сделать нашу папку доступной по сети. Для этого отправляемся в “Пуск” –> “Администрирование” –> “Управление компьютером” –> “Общие папки” –> “Общие ресурсы” и создаем новый. Далее просто следуем подсказкам мастера. Сперва указываем путь к папке:

На следующем шаге задаем ее параметры (можно оставить по умолчанию):

Настраиваем разрешения доступа. Для локальной сети можно открыть доступ для всех, для интернета – оставьте только администраторам:

Теперь папка “Music” будет доступна прямо с любого компьютера вашей домашней сети – достаточно набрать адрес \\NAS\Music в проводнике и авторизоваться. Аналогичную процедуру проделаем и для каталога Backup, а заодно проверим, как работает блокировка файлов, попытавшись загрузить в него фильм.

Отказано в доступе – все работает отлично.

Остался последний штрих – создание программного RAID-1. В этом нет ничего сложного: идем в “Диспетчер сервера” –> “Хранение” –> “Управление дисками”, щелкаем правой кнопкой по системному диску (“Диск 1” в нашем примере), и выбираем “Преобразовать в динамический диск”.

Затем поочередно щелкаем по каждому тому, выбирая в меню “Добавить зеркало”. Все разделы “отразятся” на второй диск и начнется ресинхронизация:

И здесь еще один довод “против”. Дело в том, что процесс ресинхронизации для HDD на 2 терабайта будет длиться более 5 часов. Диски будут сверяться полностью, независимо от того, сколько информации записано, а их загрузка будет стремиться к 100%. Конечно, WD Re способны выдержать и не такое испытание, вот только нормально использовать NAS в этот период вы не сможете: скорость записи/чтения значительно упадет.

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

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

Насколько умен интеллектуальный блок питания?

Вы любите квесты в реальности? Я вспомнил про них потому, что мое знакомство с DPS App и Smart Power Managment началось как раз с этакого миниквеста. Google услужливо подсказал страницу для скачивания приложения , нажав на заветную кнопку я увидел вот такую форму:

Ничего необычного – многие компании просят ваш E-mail для новостной рассылки. Однако введя свой адрес, вместо утилиты я получил:

Даже без переводчика ясно, что запрашиваемая страница не найдена. В чем же может быть дело? Оказывается, все работает немного не так. Сперва необходимо создать аккаунт в системе, подтвердить регистрацию, и лишь затем вы сможете скачать утилиту в разделе “Продукция”.

Еще один важный нюанс – если вы придерживаетесь золотого правила составления паролей, используя в том числе специальные знаки, то здесь от такой практики придется отказаться. Проблем с авторизацией на сайте не возникнет, однако DPS App попросту не примет кодовую фразу, отобразив ошибку:

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

Теперь давайте наконец скачаем и установим само приложение. Обращаю внимание, что для его корректной работы требуется Microsoft .NET 4.5, Adobe Flash Player ActiveX, а также актуальная версия Java. После запуска утилита предложит войти в систему для синхронизации с SPM, что мы и сделаем.

Оборудование определяется автоматически (в ранних версиях серийный номер приходилось указывать вручную). После успешной авторизации появится вот такое окно:

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

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

  1. Общий вольтаж и напряжение по каждой из подключенных линий;
  2. Напряжение на центральном процессоре и видеокарте;
  3. Силу тока;
  4. Общую мощность.

С помощью круглых стрелочек можно включить режим графика, отображающего изменения в реальном времени:

Присутствует и датчик температуры БП, где можно выбрать единицы измерения по вкусу:

Также в DPS App доступно управление вентилятором Thermaltake Smart DPS G 750W. В режиме “Производительность” агрегат подберет оптимальные обороты, практически сравняв температуру компонентов блока питания с температурой окружающей среды. Опция “Zero fan” позволяет отключить вентилятор вовсе – хотя сам по себе блок питания чрезвычайно тихий, если ваши домочадцы так и не привыкли к убаюкивающим звукам исправного сервера, данная функция поможет сделать NAS практически бесшумным. Учитывая экономичность нашей системы, активное охлаждение может не понадобиться вовсе. Если же температура превысит критические 80°C, БП автоматически перейдет в интенсивный режим работы.

Пункт “Расходы” позволяет задать тарификацию на электроэнергию и, таким образом, узнать, во сколько вам обходится эксплуатация оборудования. К сожалению, на данный момент поддерживается только одна тарифная зона и только одна валюта – доллар США. Вследствие этого, инструмент годится лишь для использования в ознакомительных целях, о чем утилита любезно предупреждает.

Довольно занятной функцией является возможность отправки данных в социальные сети. Поддерживаются Фейсбук, Твиттер и его китайский аналог Weibo. При щелчке по соответствующей иконке на аккаунте публикуется скриншот открытого в данный момент счетчика. Также доступна отправка картинки на e-mail, но лишь в том случае, если на компьютере предварительно настроен почтовый клиент.

Вкладка “Рекорд” предоставляет куда более интересные возможности. Здесь можно выгрузить отчеты о работе блока питания по датам в формате CSV.

Показания снимаются с периодичностью в одну минуту. В таблице фиксируются все параметры, отображаемые на индикаторах – очень удобно для оценки эффективности системы.

Впрочем, давайте отвлечемся от приложения (весь доступный функционал мы разобрали, за исключением управления подсветкой, которой данная модель не оснащена), и посмотрим, какие возможности предлагает облачная платформа SPM. Но сперва зайдем в “Мой аккаунт” –> “Настройки”:

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

По замыслу разработчиков, Smart Power Managment должен стать не просто облачным сервисом мониторинга, но полноценной социальной платформой. Используя функции позиционирования, вы сможете заводить знакомства с другими пользователями и обмениваться опытом посредством личных сообщений. Учитывая, что целевая продукции Thermaltake – профессионалы и энтузиасты, в будущем такая система способна послужить прекрасной альтернативой тематическим группам и форумам, позволяя в пару кликов отыскать коллег и единомышленников по всему миру.

Перейдем к вкладке “Мои выгрузки”. Сюда загружаются сформированные приложением отчеты.

Щелкнув по ссылке “Загрузить данные…” попадаем в визуальный интерфейс. Тут представлена вся информация, сохраненная в текстовых отчетах, но уже в виде графиков. Можно просмотреть статистику по самому БП, CPU и видеокарте:

Наиболее же интересной является вкладка “Анализ”. Выбрав БП (а платформа позволяет добавить неограниченное количество устройств), попадаем на вот такую страничку:

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

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

Вкладка “Анализ потребляемой электроэнергии” подскажет, насколько БП подходит для файлового хранилища:

Как и следовало ожидать, нам удалось собрать домашний NAS, энергопотребление которого сопоставимо с обычной бытовой лампочкой.

Последняя вкладка позволяет сформировать план по энергосбережению на основе выбранных параметров. Здесь же можно настроить оповещения для мобильной версии приложения:

Помимо этого, Smart Power Managment позволяет осуществлять удаленное управление питанием компьютера или сервера. Все необходимые инструменты представлены в разделе Remote.

Имеется возможность полностью обесточить или перезагрузить систему (не пугайтесь, соответствующий сигнал будет подаваться на материнскую плату), а также планировать отключение по расписанию:

Перечисленный функционал доступен также в DPS G Mobile App, выпущенной для iOS и Android (Windows Phone закономерно обошли вниманием). И если просматривать статистику на экране смартфона не очень удобно, то реализация удаленного управления домашним NAS придется как нельзя кстати. Все внесенные ранее настройки полностью синхронизируются:

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

Вместо заключения

Подведем итог. Мы выяснили, что использование Windows в домашнем NAS – это долго, дорого и крайне неудобно. Излишняя прожорливость, длительность настройки, обновления и ресинхронизации, наконец, баги и необходимость приобретения лицензии – все это делает “окошки” пожалуй самым худшим решением для файлового хранилища. Поэтому уже в следующем посте я расскажу о том, что такое NAS4Free и с чем ее едят.

Что же касается платформы Smart Power Managment, могу сказать, что решение уже отлично работает, предлагая вполне достаточный набор инструментов для мониторинга и управления электропитанием. Она способна стать неплохим подспорьем в ситуациях, когда использование профессиональных отраслевых решений является нерентабельным (например, в ходе построения IT-инфраструктуры небольших офисов). Умный БП способен пригодиться и частному пользователю: когда ваш компьютер работает в режиме 24/7, возможность отслеживать изменения удаленно придется весьма кстати, как и тревожная кнопка для отключения системы в экстренных случаях. Но лично мне бы хотелось увидеть более продвинутую систему тарификации с поддержкой нескольких зон и валют – это позволило бы с высокой точностью фиксировать затраты на электроэнергию и планировать бюджет без дополнительного ПО. Если же Thermaltake выпустит версию утилиты под Linux и FreeBSD, ей и вовсе не будет цены. Надеюсь, представители компании читают Хабр – быть может, мои идеи им понравятся и утилиту все же перенесут на *nix"ы.

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

Введение

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

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

Данная статья носит ознакомительный характер и не претендует на полное пособие по построению сетевых хранилищ (NAS) на любые случаи жизни.

NAS (Network Attached Storage) - один из вариантов системы хранения данных (СХД). Фактически это узкоспециализированный файл-сервер, чьё программное обеспечения (а порой и аппаратное) заточено исключительно на операции обмена и сохранения данных.Обычно работает через стек протоколов TCP/IP, хотя бывают и исключения.

Традиционно NAS поддерживает передачу данных по протоколам файлового доступа: SMB (CIFS), NFS, APF и некоторым другим. Но в последнее время в NAS стали встраивать и поддержку протоколов блочного доступа, например, iSCSI.

Примечание. Строго говоря, работа в режиме блочного доступа - это прерогатива другой группы устройств - SAN (Storage Area Network). Фактически, современный NAS с функциями блочного доступа - это уже гибридное устройство SAN/NAS. Но несмотря на красивое симметричное написание, называть его всё равно будем NAS. Так короче и привычнее.

Преимущества создания NAS своими силами

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

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

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

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

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

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

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

Какие могут быть недостатки у этого направления?

Во-первых, творческий процесс затягивает. Уже давно пора сдавать в эксплуатацию, а тут не провели ещё тысячу первый тест, не переписали в литературном стиле главу в документации и так далее... :)

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

Правильно определяем роль и расположение NAS в ИТ-инфраструктуре

Для этого рассмотрим два варианта использования NAS: в роли самостоятельного файл-сервера и в роли СХД.

NAS как файл-сервер

Обычно это вспомогательный файл-сервер для разгрузки основного корпоративного сервера. Зачастую это связано ограниченными функциями при интеграции в Active Directory.


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

Использование NAS - в качестве СХД

Здесь могут преследоваться такие цели как:

Расширение дискового пространства серверов. Проще говоря, стало мало места - добавили сетевое хранилище и на серверах подключили новые тома, например, по iSCSI.

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

Вспомогательная СХД для виртуальной системы. Далеко не всегда требуется размещать те или иные виртуальные машины на скоростных ресурсах. Иногда вполне достаточно простого NAS c томами, подключёнными по протоколам NFS или iSCSI.


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

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

Если есть желание досконально разобраться во всех тонкостях программного и аппаратного обеспечения и создать уникальную систему под себя с максимально гибкими настройками - имеет смысл взять некий OpenSource дистрибутив, например, одну из сборок Linux, FreeBSD, Open Indiana и, тщательно его переработав, сделать платформу для собственного сетевого хранилища.

Если есть желание сразу запустить и начать работать - стоит воспользоваться готовым популярным дистрибутивом для NAS.

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

Среди готовых дистрибутивов есть три наиболее известных направления:

    на основе FreeBSD - FreeNAS, NAS4Free, ZFSGuru;

    на основе Solaris - NexentaStor;

    на основе Linux - Open-E, OpenMediaVault, RockStor.

Основной «изюминкой» дистрибутивов FreeNAS, NAS4Free, ZFSGuru, а также NexentaStor и Open-E является поддержка той или иной вариации файловой системе ZFS.

RockStor - экспериментальный дистрибутив, предполагающий использование Btrfs.

OpenMediaVault - заслуженный известный дистрибутив на базе Debian, поддерживающий файловые системы: XFS, JFS, ext2/ext3/ext4 - полная поддержка, NTFS и FAT32 - в режиме «чтение/запись». Следует учесть, что все дистрибутивы с ZFS предъявляют достаточно высокие требования к аппаратному обеспечению.

Народная примета: Если на сервере меньше 16GB RAM - возиться с ZFS особого смысла нет.

Ещё один важный нюанс - откуда планируется запускать саму операционную системы. В этом случае есть два варианта:

    система каждый раз стартует с временного носителя, например, с USB-флешки или при загрузке по сети, и потом образ разворачивается оперативной памяти;

    стандартная установка на постоянный жёсткий диск.

Например, NAS4Free может быть установлен как на сменный носитель, так и на жёсткий диск, а для OpenMediaVault лучше выбрать жёсткий диск из-за swap раздела. И тут снова вопрос, а есть ли возможность установить жёсткий диск или SSD для системы? После того, как мы разобрались со своими пожеланиями, переходим к выбору аппаратного обеспечения.

Проработка конфигурации

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

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

RAID-контроллер или HBA

Некоторые RAID-контроллеры, HBA и сетевые карты могут не поддерживаться в том или ином дистрибутиве. Симптом внешне выглядит примерно так - загружается дистрибутива, например, с флешки, а диски система «не видит».

Иногда вопрос решается перепрошивкой Firmware, иногда - установкой свежего драйвера от производителя контроллера, иногда - переходом на новую или другую ветку дистрибутива. В самых тяжёлых случаях не помогают ни сторонние драйверы, ни за замена прошивки.

Сетевые адаптеры

Проблема примерно та же что и в случае с HBA и RAID-контроллерами. Можно побороться, но иногда можно столкнуться с полным отсутствием поддержки.

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

Например, если сейчас используется стандарт Gigabit Ethernet на витой паре, а в дальнейшем планируется использовать 10 Gigabit Ethernet SFP (оптоволокно), то нужно проработать вопросы совместимости и в том, и в другом случае.

Количество слотов расширения

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

Возможность установки в корпусе дополнительных компонентов

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

Как происходит проработка конфигурации

Берём описание конфигурации выбранного сервера, включая чипсет, HBA или RAID-контроллер, сетевой адаптер, etc., и перечень поддерживаемого оборудования в выбранном дистрибутиве и сверяем с тем, что есть в спецификации сервера.

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

Если не понятно, поддерживается данное устройство или нет, то идём на сайт производителя и уточняем, есть ли драйвер для данной системы. Например, для NAS4Free подходят драйверы от производителя оборудования для соответствующей версии FreeBSD.

А Если совсем всё плохо - выбираем другой дистрибутив или другую конфигурацию сервера.

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

Тестирование

Допустим, уже закупили оборудование с тщательно проработанной конфигурацией.

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

Для проверки на производительность нам понадобится ещё один компьютер желательно с более мощными характеристиками, чтобы протестировать NAS без оглядки на производительность других компонентов обмена данными. Сразу стоит отметить, что тестирование - это целая наука. И далеко не всегда расчётные и ожидаемые значения соответствуют тому, что получается на практике. Поэтому прислушаемся к совету Козьмы Пруткова «невозможно объять необъятное» и выборочно остановимся на интересных нюансах.

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

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

Второй вид тестов - при помощи специализированной программы, например, выполняем различные сочетания.

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

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

Поэтому рекомендуется провести тестирование не только на создаваемом NAS, но и на других системах (компьютерах), с целью получить некое усреднённое значение. Тогда легче определиться с результатами в данной среде эксплуатации.

По результатам тестирования может быть три варианта:

    Характеристики соответствуют ожидаемым условиям для этой среды эксплуатации.

    Характеристики отстают от ожидаемых, но известно узкое место, которое необходимо «расширить». Например, нужен кэширующий SSD.

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

Третий случай самый сложный. Наиболее частая рекомендация, которая может помочь - попробовать другое программное обеспечение (другой дистрибутив). Иногда помогает установка другого драйвера на HBA или RAID-контроллер, например, свежий драйвер от производителя. Помимо тестирования на производительность существует ещё тестирование на отказоустойчивость. Например, как поведёт себя RAID (аппаратный или программный) при искусственном сбое диска, сохраняется ли связь на дублированных сетевых каналах при аварии на одном из них и так далее.

Опытная эксплуатация

Как это часто бывает - получили более-менее приличные данные при тестировании и бегом стали внедрять. И в итоге получаем кучу неприятных «сюрпризов», которые не проявлялись при тестировании.

Как этого избежать? Только путем постепенного ввода в эксплуатацию. Самое главное - все это время пристально наблюдать за новым оборудованием и тщательно контролировать выбранные параметры.

Например, не переносим все выбранные виртуальные машины на новый том iSCSI, а только одну. И проверяем её работу. Если всё нормально, через неделю можно перенести ещё одну. Ещё через две недели - ещё две и так далее.

Основное достоинство такого подхода заключается в том, что появляется время вовремя избавится от этих самых «сюрпризов» и запускать на полную мощность уже проверенную и предсказуемо работающую систему. Кроме того, появляется время написать инструкции, уточнить регламенты, проще говоря, подогнать документальную базу под новые реалии.

Разумеется, рассмотреть все аспекты в рамках одной статьи невозможно. Но нам удалось познакомить вас с основными нюансами, которые стоит учитывать при строительстве сетевых хранилищ.

Часть вторая: программное обеспечение

Плюнь в глаза тому, кто скажет, что можно объять необъятное
Козьма Прутков

Кому и зачем

Ваш домашний 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 своими руками».



Просмотров