NAS для домашнего использования. Часть 1. Теория.

Уже пару лет, а то и больше, в обиход плотно вошло слово NAS.

NAS (Network Attached Storage) — сетевая система хранения данных, сетевое хранилище.

По сути, представляет собой компьютер с некоторым дисковым массивом, подключенный к сети (обычно локальной) и поддерживающий работу по принятым в ней протоколам. Часто диски в NAS объединены в RAID массив. Несколько таких компьютеров могут быть объединены в одну систему.

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

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

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

  1. Обьем хранимых данных (что туда можно класть, от резюме до коллекции фильмов)
  2. Скорость доступа к данным (можно ли работать с файлами по сети напрямую)
  3. Интерфейсы доступа к данным (сетевой диск, iSCSI, HTTP, FTP ...)
  4. Энергопотребление (будет постоянно включен или по необходимости)
  5. Шумность (ставить в комнате или подальше от спальни)

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

Кроме того, что внутренняя архитектура NAS должна обеспечивать непрерывную подачу данных клиентам, необходимо организовать для этого и не менее скоростной сетевой интерфейс. Тут вариантов три Wi-FI, LAN, FC (из которых доступны пользователю только два первых, а последний очень дорогой и требует закупки спец оборудования). Максимальная скорость по Wi-Fi заявляется в районе 300-600 мегабит, что недотягивает до 1Гбит LAN, поэтому , грамотнее всего цеплять NAS кабелем к роутеру, чтобы не терять в скорости. Чревато парой дырок в стене и дополнительным проводом за плинтусом.

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

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

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

Потребность в этой информации тоже различна. Часть ее не нужна за пределами настольного компьютера, часть используется только внешними устройствами, а часть может использоваться одновременно несколькими пользователями с чтением и модификацией.

Попытаемся перечислить типы часто используемой информации с характеристиками.

  1. Фильмы и видеоклипы в цифровых сжатых форматах
  2. Музыка в цифровом формате mp3
  3. Семейный фотоархив
  4. Семейный видеоархив
  5. Библиотека программ и драйверов устройств
  6. Документы в формате офисных пакетов
  7. Резервные копии состояния жестких дисков компьютеров

Фильмы и музыку я скачиваю с торентов или DC++, иногда с vc.com. Есть большая вероятность, что в случае потери или удаления, я смогу снова найти все эти фильмы или клипы, правда, на скачивание уйдет порядочное количество времени. Но найду и скачаю. И с каждым годом, шансы что скорость скчивания будет больше, растут. Прогресс...

Библиотека софта и драйверов пополняется постоянно и смысл в ее хранении на компе только в том, чтобы можно было быстро установить что-то, не скачивая. Новые версии всегда можно скачать с сайта производителя. Чем меньше храните дистрибутивов локально, тем меньше шансов погореть, если придется отмазываться от неправомерного использования пиратского ПО, даже если это Windows 3.11. Так что , все лишнее лучше удалять нафиг, оставляя лишь то, что действительно нужно. И там, откуда можно быстро удалить.

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

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

С документами все проще, там 90% - конфиденциалка, но они занимают мало места и хорошо шифруются и жмутся. Можно настроить программы репликации для синхронизации данных между настольным компьютером, ноутбуками и архивом NAS. Аналогично с исходными кодами проектов и прочим барахлом. Можно подумать об SVN на NAS.

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

Т.е. получается что нужно использовать отказоустойчивый обьемный и скоростной RAID массив для хранения медиаконтента. Часть контента может быть легко восстановлена, часть может быть безвозвратно потеряна. Если исходить из практики построения массивов, то логичнее всего делать массив 5-го уровня из максимального количества дисков. Понятие "максимальное количество" подразумевает то, что ограничение может быть как на уровне свободного места в корпусе, так и по цене. Еще одним ограничителем может быть энергопотребление системы (не забываем, что она должна быть постоянно включена).

Недорогие корпуса позволяют установить от 2 до 8 жестких дисков 3,5" если установить дополнительную корзину вместо 5.25" устройств. Такие корзины бывают на 3-5 дисков и стоят около 100-150$ за штуку. Установка дисков в такие устройства позволит создать благоприятные условия для охлаждения, что в разы повышает надежность системы и уменьшает вероятность выходя дисков из строя в случае перегрева (обычное дело в случае использования в качестве NAS , диска во внешнем корпусе без охлаждения).

 Если ориентироваться на готовые решения, то у существующих NAS, наиболее типичным количеством является 4 места под установку HDD, потому что такое сочетание позволяет собрать систему на нескольких уровнях RAID на выбор. Из отказоустойчивых вариантов могут подойти RAID 1 (зеркало), RAID 10 (Stripe из двух зеркал) и RAID 5. Только последний вариант позволяет наиболее рационально использовать свободное место, а в первом случае полезная емкость будет вдвое меньше общей.

Так и получается, что число дисков с данными равное 4, наиболее удобно для построения NAS еще и потому, что при истользовании внешних RAID контроллеров, не бывает плат на 3 диска (3- минимальное количество дисков в RAID5). Бывают 2 4 6 8 12 16 портовые контроллеры. Чтобы не было соблазна купить контроллер на 16 дисков, посмотрите цены на модели с аппаратным расчетом XOR и тогда станет понятно, почему не нужно гнаться за количеством дисков более 4.

Если собирать систему из 4 дисков , то можно использовать RAID 10 и RAID 5 уровни. В первом случае, для хранения полезной информации будет использоваться всего 50% суммарной емкости дисков, во втором - 3/4 , что более рационально. Но за углом притаилось большое волосатое "НО".  RAID 10 менее требователен к вычислительной мощности процессора контроллера и можно купить недорогой SATA контроллер без поддержки RAID5, что сэкономит деньги. Суммарно, стоимость 4 дисков + контроллер дает некую стоимость мегабайта хранимой информации. Так вот за счет более дешевого контроллера, разница стоимости мегабайта может быть не в пользу RAID5 из-за дороговизны оборудования. Тут каждый выбирает сам, что ему важнее.

Иногда, выбирать не из чего. Особенно если вы приобрели недорогой 4-х дисковый NAS в котором слабый процессор и такой массив тянет RAID5 только формально, потому что выдает скорость чтения меньше, чем может позволить пропускная способность сетевого инфтерфейса.  По моему опыту, один QNAP TS-412 на 4-х дисках выдавал около 35 мб.с. чтения , что меньше чем скорость чтения одного диска.  Стоимость этого NAS без дисков составляла около 12тр в розницу. Внутри какая-то плата с процессором Marvell. Что-то получше - это то же самое, только внутри стоит материнка на Intel Atom D410 с гигом оперативки и по цене 30тр. При этом, всей темой XOR занимается именно процессор, т.е. там опять нет никакого аппаратного RAID. Тупо - красивая коробка с индикатором и корзина за 130$ . Софт  - линукс, специальная версия для NAS (кстати - бесплатная). 

Теперь стало понятно, почему я решил собрать NAS самостоятельно? Чтобы сделать свое решение масштабируемым, скоростным, таким как мне надо.

{jcomments on}