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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Здравствуйте, уважаемые читатели этого прекрасного интернет-сайта! Хочу продолжить описание своих трудов по сборке самодельного NAS. Про первый важный компонент своей системы я уже писал в категории «Компьютеры и планшеты», это ADSL-модем Asus DSL-N55U. Почему я купил именно его и вообще краткую предысторию зачем мне вообще NAS нужен, можно почитать . Внимание! Много фото!

Сегодня я хотел бы подробнее рассказать о покупке второго не менее важного компонента (все IMHO, кому-то он не нужен вообще) - корпусе. Вообще для меня удобство монтирования комплектующих, их охлаждение, надежность и внешний вид играют большую роль… поэтому любая коробка от старого системного блока мне не подходила, хотелось что-то небольшого размера (mini-ITX), с возможностью установки винчестеров в количестве не менее четырех (слишком разрослась моя коллекция) и с хорошо организованной системой охлаждения (или хотя бы с возможностью таковую организовать самому), экономичное.

Конечно же в первую очередь я обратил внимание на корпуса известных всем кто интересуется данным вопросом компаний - Lian Li, Chenbro, Thermaltake. Chenbro и Thermaltake отпали, т.к. были значительно дороже или не было нужного формата (мне хотелось использовать mini ITX). В конце концов остановился на 2 корпусах: Lian Li PC-Q08 и Lian Li PC-Q25 (первый дешевле и можно с удобством использовать в дальнейшем для домашнего небольшого компьютера, второй удобней именно для построения NAS, но из-за особого способа крепления боковых стенок говорят что дребезжит и требует небольшой дороботки). Пока искал информацию о этих корпусах, на youtube увидел несколько обзоров корпуса Prodigy, который как раз был в ассортименте магазина, где я и собирался делать заказ. Корпус очень понравился, жаль что не было подробных обзоров про корпус в русскоязычном сегменте интернета. Как я ранее уже говорил, в республике Беларусь ограничение на беспошлинный ввоз товара из-за рубежа всего лишь 120 евро (при получении на почте, конечно), хоть мы и вступили в таможенный союз с Россией и Казахстаном, поэтому я и решил купить именно этот корпус из тех двух трех что выбирал (тем более что более дешевый Lian Li PC-Q08 временно исчез на сайте из продажи, сейчас снова есть).

Корпус Prodigy бывает четырех цветов - черный, белый, оранжевый и красный, для себя я выбрал черный, как наиболее практичный. Вместе с корпусом (60 евро), чтобы покупка была выгодна (хотя скажу честно, т.к. выбора у меня в городе, да и РБ таких корпусов почти нет, я заказал бы и только один этот корпус) заказал в наш лимит 120 евро еще блок питания (37 евро) и кулер (23 евро) для процессора, с учетом скидки 5 евро для первой покупки, получилось ровно 115 евро, доставка в Беларусь и комиссия банку за оплату картой VISA - 28.55 евро. Покупал корпус с вышеописанными комплектующими в немецком интернет магазине Computeruniverse.ru.

В результате для моего «домашнего» NAS получилась такая конфигурация:
- процессор Pentium G2020 (Box), кулер Scythe Shuriken Rev.B
- мат.плата ITX Asus P8H-77 I
- корпус Prodigy
- память DDR3 1333 Samsung 2х4 Gb, была получена в наследство от ББ («большой брат, т.е. настольный компьютер»), туда установил 16 Gb DDR3 AMD 1600
- ИБП Ippon 850 уже был у меня, только необходимо заменить батарею
- блок питания (с сертификатом 80 PLUS Bronze - важно, так как наш NAS работает в режиме 24/7)
- HDD WD Green 2x3 Tb, 2x2 Tb, 1х1,5 Tb для торрентов
- флеш-накопитель 4 Gb QUMO Nano flash
Операционная система - .
ВИДЕО:
Небольшое ВИДЕО с этими компонентами можно посмотреть здесь:

Хотел уточнить по выбору именно такого набора комплектующих - прежде всего такой выбор обусловлен тем, что повышенные требования к памяти и процессору предъявляет файловая система ZFS используемая в качестве основной в ОС NAS4FREE и УЖЕ ИМЕЮЩИМИСЯ у меня изначально (память и частично жесткие диски). Очень кратко что же такого особенного предлагает ZFS:

Дополнительная информация

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


Хоть при заказе все выбранные позиции были помечены как «на складе», после оплаты в кабинете увидел что блок питания стал с пометкой ожидается через 1-2 дня… но на следующий день все выслали. Через неделю посылка была на таможне, а еще через 5 дней коробку принесли прямо в квартиру. Общая коробка доехала нормально (внутри заводские коробки, все новое в пленке), по ее внешнему виду видно, что возможно ее несколько раз прилично тряханули, но ничего порванного и т.п. нет.


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








Краткие ТТХ корпуса с сайта производителя:

Materials Steel, Plastic
Colors (Int/Ext) Black/Black, White/White
Dimensions (WxHxD) 250 x 404 x 359mm
Internal Dimensions (WxHxD) 250 x 310 x 340 = 26.35 liters
Motherboard Sizes Mini-ITX
5.25" Drive Bays x 1 (removable)
3.5" Drive Bays x 5 (3 + 2 modular)
2.5" Drive Bays x 9 (5 + 2 + 1 +1)
Cooling Front 120mm x 2 (120mm x 1included) or 140/180/200/230mm x 1(optional)
Cooling Rear 120mm x 1 (included) or 140mm x 1(optional)
Cooling Top 120mm x 2 (optional)
PCI Slots x 2
I/O USB 3.0 x 2, HD Audio
Power Supply PS2 ATX (bottom, multi direction), PSU cage depth 180mm, max PSU depth 160mm
Extras FyberFlex™ Composite handles, SofTouch™ surface treatment, filtered intakes, tool-free drive locking

Общие впечатления о корпусе весьма и весьма положительные, IMHO система получилась не очень громоздкой, достаточно объемной (имею ввиду по числу винчестеров которые можно установить) и тихой (скажу честно, это с двумя установленными 140 мм. тихоходными вентиляторами о которых ниже).
По поводу сборки в этом корпусе - по сравнению с тем как я собирал когда-то HTPC в корпусе mATX Thermaltake Lanbox Lite, это просто праздник какой-то. Никаких усилий, попыток что-то как-то разместить, лишь бы влезло и т.п., хотя по объему данный корпус меньше. Жесткость корпуса достаточная, верхняя и нижняя «ручки» корпуса (из-за которых он напоминает компьютеры очень известной фирмы:-)) из гибкой софт-тач пластмассы. Материнская плата на свое место устанавливается горизонтально (корпус из-за этого довольно широкий) на уже впаянные стойки и ограничений по высоте для кулера башенного типа практически нет, здесь уже все будет зависеть от совместимости с конкретной мат.платой, т.е. в принципе можно построить систему с пассивным охлаждение для процессора. Собранный компьютер выглядит след. образом:


Далее про охлаждение - в комплекте два 120 мм. кулера с подключением к мат.плате 3 pin (нужно иметь переходники тем, у кого как и у моей мат.платы, разъема для подключения только два, один из них заберет кулер процессора). Т.к. у меня установлено пять винчестеров, а лето у нас довольно жаркое в последнее время, штатные вентиляторы были заменены на 2х140 мм, один на 900 об/мин, другой 1000 об/мин - его подключил к мат.плате и в BIOS поставил «тихий» режим, в таком режиме он работает на 600 об/с. Сейчас (идет копирование на один из дисков NAS) температура винчестеров - 32 градуса, процессора - до 41. Возможно придется придумывать что-то еще, т.к. обдув идет только на корзину с 3 винчестерами, а возможно и нет (летом будет видно). Один из купленных 140 мм вентиляторов оказался с синей подсветкой и если для домашнего компьютера это приемлемо, то для 24/7 работающего NAS нет, раздражает ночью.

Продолжу про охлаждение - всего корпус позволяет установку 1х120 (140) мм. вентилятор сзади, 2х120 мм. или водяное охлаждение сверху, 2х120 мм вентилятора спереди, но при условии что снята корзина для 5" устройства или 1х140/180/200/230 мм. вентилятор, т.е. вполне по силам создать практически бесшумную машину. Например, установить большую башню без кулера на процессор и 230 мм. кулер на 600- 900 оборотов спереди. Жаль что у себя в городе я такого размерчика не нашел, а в интернет-магазине купить не мог из-за таможенного лимита (да и вспомнил, когда корпус уже приехал), возможно закажу при следующих заказах…
Чем еще реально удобен корпус, так это возможностью снимать «не нужные» части - корзины для винчестеров, отсек для 5" устройства, есть 2 съемных фильтра - один сверху и один под блоком питания.


Допускается установка пяти 3.5" винчестеров (в корзины, используя салазки с возможностью дополнительного закрепления винтом, штырьки в салазках в резиновых демпферах) и еще двух SSD на боковой стенке или девяти 2.5" винчестеров - в корзинах, на корпусе снизу и на боковой крышке. Расстояние между винчестерами в большой корзине достаточно большое, что должно хорошо сказаться на их температурном режиме.
Блок питания можно использовать стандартный и это большой плюс корпусу, но желательно не длиннее 160 мм (сам отсек длинной побольше и если блок модульный, думаю встанет и 165 мм), он устанавливается на резиновые ножки приклеенные прямо в дно корпуса, с боков остается еще пространство шириной около 3 см, куда можно укладывать не используемые кабели - я так и сделал, спрятал не нужное ближе к задней стенке. Хоть раньше я и планировал купить блок питания модульного типа, чтобы в корпусе было как можно меньше проводов, в Prodigy я уместил все без особых трудностей, спрятав все «хвосты», благо пространство и довольно удачная конструкция это позволяют.


На поддоне для мат.платы есть отверстия для кабелей, тоже очень продумано и удобно, боковые стенки прикручены на «барашки» с большими накатанными головками. Как будет видно на фото из кабелей у меня остались торчать SATA кабели, основное питание, звук и USB, т.е. можно вполне получить не «захламленный» проводами красивый корпус, если не подключать не используемые при построении NAS звук и USB 3.0 для передней панели (у меня просто привычка, чтобы все было подключено). Тем кто будет использовать корпус в качестве игровой машины или HTPC - мне нравится что здесь наконец-то USB 3.0 для передней (вернее боковой) внешней панели подключается к разъему мат.платы, а не через кабель к задним разъемам, как, например, у меня в ББ (HAF X).
Что еще нужно иметь в виду? Если ставить такой же кулер как у меня, нужно иметь ввиду что он перекроет единственный слот PCI express и использовать его не получиться (для видеокарты, например). Когда я вскрыл коробку с корпусом, то при распаковке мне под ноги высыпалось несколько пластмассовых кусочков, оказалось что при перевозке и встряске поломались ограничители для корзины винчестеров на 3 диска (они расположены сзади и на фото, к сожалению, не видны) и пришлось немного повозиться с суперклеем, так что осторожно - при покупке в офлайн магазине проверяйте этот момент. Софт-тач материал довольно быстро пачкается, после того как я перенес корпус пару раз, остались видны отпечатки пальцев - стираются влажной тканью. Немного не понравилось как закрываются боковины - не так плотно как хотелось бы, мне нравится чтобы боковые крышки закрывались и нормально держались без винтов, здесь прикручивать стенки на «барашки» обязательно.
Что оказалось неожиданным в корпусе? Размер. На видео и фото в интернете мне он казался немного поменьше, поэтому лучше прикиньте его габариты на каком-нибудь похожем предмете, коробке, например.
Фотографии пустого корпуса и уже почти собранного можно посмотреть в моем , а как я открывал коробку с корпусом на видео можно увидеть здесь:
ВИДЕО:

Дополню свой пост, т.к. спрашивают в комментариях о вопросах, которые относятся больше к собранной системе в целом, а не конкретно к корпусу. Скорости копирования по сети (клиент Windows компьютер, протоколы SMB2 и FTP): на NAS - до 120 МБайт/с, с NAS - до 70 МБайт/с. Сколько потребляет система не могу сказать точно, только основываясь на приблизительных расчетах - до 80 Вт (и все зависит еще от выбранного режима работы жестких дисков - включены постоянно (наиболее предпочтительно для механики винчестера), с остановкой шпинделя и т.п.).

Еще одно дополнение поста. Недавно приобрел нужную в хозяйстве вещь (пусть и изредка)- простейший ваттметр Xavax Energiekostenmessgerät. Хочу привести данные по энергопотреблению системой в типовом режиме, при загрузке системы(пик) и при перезаписи информации с одного диска на другой:
типовой режим (торренты) - 53,6 Вт
загрузка системы - 82 Вт (максимальное значение)
перезапись образов с одного диска на другой - 63,6 Вт
В настройках системы по энергосбережению стоит - «не останавливать жесткий диск».

И небольшое видео с уже собранным и настроенным NAS, на нем можно посмотреть и что представляет собой web-оболочка для управления и настройки NAS4FREE:
ВИДЕО:


Спасибо, что прочитали мое творение до конца. Если у кого-то будут уточнения и пожелания, могу скорректировать свой пост.
Еще раз спасибо всем кто прочитал и поблагодарил за труд, просто если писать всем персональное спасибо, то комментариев станет в раза два больше - и будет не удобно читать, спасибо Вам.

P.S. Про скидку 5 euro (реферал) на первую покупку в магазине : Обзор понравился +97 +205

В предыдущих постах я неоднократно упоминал о zfs. Причем получалось, что и памяти и процессора она требует не по детски. Остался вопрос - и зачем? Сразу скажу, что не претендую на полноту и пр. Что такое zfs можно взглянуть в Википедии. Заинтересовавшимся серьёзнее советую нагуглить zfs administration guide (вроде бы был и по русски). Моё намерение - объяснить зачем вдруг дома файловая система корпоративного уровня. Прим. У читателя, особенно второй части поcта, предполагается уверенное понимание того, что такое дисковые массивы, напр. RAID5. Если понимания нет - вряд ли такие массивы стоит дома самому строить и этот текст читать.


1. Целостность файловой системы . Каждый сталкивался с ситуацией, когда файловую систему приходилось чинить. Успешно или не очень. zfs построена так, что в ней даже нет утилиты вроде виндовой chkdsk или линуксовой fsck. Ситуация, когда файловая система оказалась в противоречивом состоянии, просто невозможна. Реализовано через Copy-on-write (данные пишем не поверх старых, а выделяем новый блок, пишем туда, если все ОК - заменяем указатель со старых данных на новые. Подробнее - см гугл). В результате логическая структура диска не испортится из-за того, что-то не вовремя отключили или свет отрубился. Ну разве записанное в последние 10 сек пропадет. (впрочем, диск может и физически сгореть при играх с электричеством).

2. Уверенность, что не прочитаешь мусор, думая, что читаешь данные . Железо несовершенно. Например, если дребезжат контакты на SATA кабелях, на диск будет записано совсем не то, что было в памяти. И никто, замечу, долгое время об этом не узнает. Мой профессиональный опыт связан с полиграфией. Не раз приходилось на выводе видеть картинку до середины нормальную - а дальше шум. zfs хранит с каждым блоком данных его контрольную сумму. При считывании данных сумма автоматически сличается. Казалось бы, так просто...

3. Уверенность, что хранимые данные не протухли . Да, данные при хранении имеют тенденцию портиться. Что хорошо известно тем, кто поверил маркетингу производителей DVD болванок про 100 лет и записал на них свои архивы. Особенно это важно для "холодных" данных, долгое время лежащих без движения. Архивах, старых фото и т.п. Проверить данные вроде как просто - надо их считать и сличить контрольные суммы. Для zfs, понятно - достаточно файлы прочитать. Для регулярной проверки есть команда, в фоновом режиме все проверяющая.

4. Снимки файловой системы. Легкость запоминания состояния файловой системы на данный момент времени, хранение таких снимков и откат к ним при необходимости. Защищает от дурацких действий человека. Модель Copy-on-write просто располагает к такой функциональности - блоки удаленных или перезаписанных данных просто не освобождаем, а ссылки на них храним в снимке. В результате снимок занимает места столько, сколько содержит измененных по сравнению текущим моментом данных, а не весь объем данных.

Это все было для данных без избыточности, типа одиночного диска. Но zfs позволяет формировать массивы с избыточностью , подобные (и превосходящие) RAID1 (зеркало), RAID5 (избыточность в размере одного диска), RAID6 (двух) и даже "RAID7" (сохраняющий данные при выходе их строя любых трех дисков массива). Массивы можно объединять, получая что-то вроде RAID10 или RAID50. И чем же zfs массивы лучше?

5. Аппаратная независимость . Чтобы сделать аппаратный RAID5, тем более RAID6, нужен дорогой RAID контроллер. zfs raidz - вариант программного RAID, требуются только доступ к дискам, например SATA порты. zfs raidz вполне может быть построен на портах разных контроллеров и из дисков разных моделей (в использовании разных моделей дисков есть и плюсы и минусы). И перенесен чуть не на любое железо, куда можно подключить диски. Я, например, неоднократно переставлял диски между SATA портами, прозрачно импортировал массив, созданный в режиме IDE на контроллере, в ACHI режиме и на SAS контроллере. Хотя операционная система нумерует диски по портам и определяет IDE, ACHI и SAS диски по-разному, zfs все это способен молча отработать (до определенных пределов, конечно. Сдуру что хочешь можно сломать.)

6. Отсутствие Дыры по Записи . (Wiki) То есть разрушения данных, если диск массива не может принять данные. Дорогие RAID контроллеры оборудуют батарейками, которые позволяют много дней хранить данные, не успевшие попасть на диск, и записывать их в массив при появлении возможности.

7. Устойчивость при сбое диска . Пусть у нас одинаковые RAID5 и zfs raidz1. В каждом из них сбоит один из дисков, меняем его на новый. И в процессе замены (а она занимает многие часы для больших массивов) не читается блок на одном из оставшихся дисков массива.

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

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

8. Работа с полезными данными, а не всем массивом . Например, если я заменяю диск в RAID5 массиве, время восстановления зависит от объема массива. Если в zfs raid1 - от объема записанной в массив информации, тк не используемое для данных место не будет синхронизироваться.

Преимуществ еще много, но мне для дома интереснее именно эти. В корпоративном применении - есть и другие (сжатие данных, дедупликация...). Упомяну важные для меня недостатки .

1. Нарастить raidz массив на один диск нельзя . Можно заменить все терабайтные диски на тритеры - и увеличить объем. Можно собрать из 3 (и более) дисков еще один raidz и добавить его к существующему. Но превратить raidz1 из 5 дисков в raidz1 из 6 можно только слив куда-то информацию, разрушив массив и создав новый.

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

3. Ресурсоемкость . zfs постоянно считает контрольные суммы, что создает нагрузку на процессор и жрет под кеши память. В корпоративном применении есть мнение - гигабайт памяти на терабайт массива. Дома мне хватает 330 атома и 4 Гб памяти (а раньше и на 2 Гб работало - особой разницы не увидел). Хотя атома для полной утилизации гигабитной сети мне не хватает, но 40-50мб/с мои потребности закрывает.. А вот если железо старое и еще значительно слабее - zfs не для Вас.

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

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

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