Сетевой накопитель своими руками. Делаем из старого пк домашнее хранилище данных. Сбой при реконструкции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Практически в любой локальной компьютерной сети оказывается востребован файл-сервер . Хранилище данных необходимо и в "самопальной" сети - масштаба дома, деревни, школы, дачного посёлка. Это просто удобно, когда есть отдельное хранилище для "тяжелого" контента - HD-видеофильмов, музыки, ПО и т.д. Но фирменный файл-сервер - удовольствие не из дешевых. Изрядно сэкономить можно, превратив старый ПК в домашний файл-сервер. Для этого потребуется лишь установить специальный софт и настроить его.

Фактически, мы сделаем своими руками NAS (Network Attached Storage) - сетевую систему хранения данных, сетевое хранилище . То есть, компьютер с некоторым дисковым массивом, подключенный к локальной сети и поддерживающий работу по принятым в ней протоколам.

В нашем примере для организации NAS мы используем дистрибутив FreeNAS . FreeNAS - это свободная операционная система для сетевого хранилища . FreeNAS основан на FreeBSD с использованием Samba и PHP, поддерживает software RAID. К нему можно получить доступ по протоколам CIFS (SMB), Apple Mac AFP, FTP, SSH, iSCSI и NFS. Для работы FreeNAS необходим компьютер с процессором i386 или x86-64, с минимум 128 Mб оперативной памяти и 500 Mб дискового пространства. Также требуется возможность загрузки с привода оптических дисков.

Мы рассмотрим установку и настройку 7-й ветки FreeNAS. Поскольку FreeNAS базируется на FreeBSD, список поддерживаемого оборудования для них совпадает. Как показывает практика, для нормальной работы системы требуется хотя бы 512 Мб RAM. Для домашнего NAS 1-2 Гб памяти будет более чем достаточно.

Главный компонент домашнего NAS - жёсткие диски . Понятно, что при возможности стоит выбирать ёмкие HDD с большим буфером и частотой вращения 5400-5900 RPM - они не будут сильно шуметь и нагреваться при работе. Но преимущество описываемой системы как раз в том, что её можно собрать из кучи разнообразных старых винчестеров, объединив их в дисковый массив . При этом для SATA-дисков стоит выставить в BIOS режим совместимости с IDE.

FreeNAS не требует мощной системы - хватит и старого Pentium или Athlon. Если NAS-система собирается "с нуля", достаточно будет платы с чипом Intel Atom и пассивным охлаждением - такая платформа будет тихой, негреющейся и энергоэкономичной. Видеопамять также имеет смысл снизить до минимума. На время установки нам также понадобится CD-привод - потом его можно будет отключить.

Собрав систему, устанавливаем FreeNAS. Качаем ISO-образ системы, пишем его на CD, указываем в BIOS загрузку с оптического привода и перегружаемся. Загрузчик предлагает несколько вариантов запуска системы. Загружаясь в режиме по умолчанию, FreeNAS выводит основное меню.

Выбираем полный (Full) вариант установки и указываем диск, на который будем инсталлировать ОС. Для раздела с ОС желательно выделить примерно 500 Мб дискового пространства. Установка занимает всего пару минут, после чего нужно перезагрузиться . Оптический привод уже можно отключить.

Первым делом следует изменить настройки сетевого интерфейса. Выбираем в меню пункт номер два - в случае, если локальная сеть имеет адресацию, отличную от 192.168.1.0/24. Лучше всего для файл-сервера задать статический IP-адрес - не забудьте только указать адрес основного шлюза и DNS-сервера.

После того, как эти настройки будут применены, монитор и клавиатуру также можно отключить. Далее вся настройка пойдёт только через веб-интерфейс по адресу http://ip-адрес-NAS/ (его мы задали ранее). По умолчанию логин - admin, пароль - freenas.

Войдя под ними, отправляемся в раздел System > General Setup. Там меняем язык интерфейса , выставляем часы, и при необходимости - включаем синхронизацию с NTP-сервером. Сохраняемся и обновляем управляющую страницу. Не забываем поменять пароль для входа в веб-интерфейс, снова сохраняемся, выходим и логинимся заново.

Теперь нужно подключить swap-раздел. Отправляемся в секцию "Диагностика" > "Информация" > "Разделы" и смотрим там информацию о разбивке диска. Наш диск разбит на три раздела разного объёма - для ОС, данных и подкачки. Определяем путь до раздела подкачки. Имя диска в нашем примере - /dev/ad0 (оно видно сверху), по размеру (256 Мб) понятно, что для swap используется третий раздел. Путь к нему будет выглядеть как /dev/ad0s3. Во время установки нам этот путь был показан сразу после форматирования диска . Переходим по пути "Система" > "Дополнительно" > "Файл подкачки ", выбираем тип устройства и указываем путь. Сохраняемся.

Теперь следует добавить в систему диски. Проходим путем "Диски" > "Управление" и кликаем на список. Выбираем в списке требуемый диск. Включаем поддержку SMART. Если используется только один диск (на который и установлена ОС), выбираем UFS with Soft Updates. При добавлении другого, уже отформатированного диска с данными, следует указать соответствующий тип файловой системы . Нажимаем "Добавить".

Если система собрана с использованием ещё не отформатированных дисков, то переходим в раздел "Диски" > "Форматирование", выбираем нужный диск и форматируем его. Специалисты рекомендуют использовать UFS, хотя это и не обязательно.

Далее монтируем все использованные нами HDD. Для этого проходим путем "Диски" > "Точка монтирования", нажимаем плюсик, выбираем в качестве типа "диск", потом собственно накопитель, указываем номер раздела и тип файловой системы, а также вводим имя точки монтирования. Замечу, что для каждого диска они должно быть уникальным. Нажимаем кнопки "Добавить" и "Применить изменения". Базовая установка FreeNAS завершена.

Теперь откроем доступ к NAS по сети. Для этого потребуется включить службу CIFS/SMB (NetBIOS). В настройках меняем имя рабочей группы, имя NAS в сети, выставляем кодировки, включаем сервер времени и разрешаем AIO. Прочие параметры оставляем по умолчанию, после чего жмем "Сохранить и перезапустить". Далее следует добавить как минимум один сетевой ресурс: указываем имя и комментарий, а также путь до него.

Изначально все точки монтирования находятся в каталоге /mnt. Соответственно, путь до корня накопителя выглядит так: /mnt/точка_монтирования/ (в нашем случае - /mnt/data/). При настройке рекомендуется создать в корне диска несколько папок и уже их добавлять в сетевые ресурсы. Если NAS содержит несколько дисков, всех их следует "расшарить" аналогичным образом.

Теперь в сетевом окружении Windows виден созданный файл-сервер с полным доступом. Чтобы управлять файлами и папками прямиком из веб-интерфейса, применяем файл-менеджер из раздела "Дополнительно". Логин и пароль для него аналогичны таковым у пользователей FreeNAS.

SMB-ресурсы используются в локальной сети; для внешнего доступа следует включить FTP-сервер . Соответственно, на роутере нужно открыть 21-й TCP-порт, а также включить DDNS-службу (присутствует в составе FreeNAS). В параметрах службы FTP разрешаем вход только авторизованных пользователей. Сохраняем настройки.

Управление пользователями - через раздел "Доступ" > "Пользователи". Для доступа пользователя к FTP-серверу указываем в качестве основной группы ftp.

В случае с NAS для домовой сети (как в нашем случае) также стоит включить встроенный во FreeNAS Bittorrent-клиент Transmission. В его настройках указываем папку, куда будут складываться закачиваемые файлы. Затем выбираем каталог для отслеживания torrent-файлов - как только в него будет закинут torrent, Transmission автоматически добавит закачку. Ссылка на веб-интерфейс Bittorrent-клиента по умолчанию выглядит как http://ip-адрес-NAS:9091/.

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

Когда всё настроено, Windows легко определяет NAS как сетевое медиаустройство и позволяет напрямую слушать с него музыку, просматривать видео и картинки .

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

Виктор ДЕМИДОВ

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

В качестве основы для системы NAS мы выбрали корпус Prodigy от BitFenix. Он имеет шесть отсеков для установки 3,5-дюймовых жестких дисков. Компактная материнская плата ASRock E350M1 с интегрированным двуядерным центральным процессором обеспечивает достаточную производительность и предоставляет четыре разъема SATA для подключения жестких дисков.

Для использования шести дисков потребуется установить контроллерную плату с двумя портами SATA. С материнской платой совместимы два модуля ОЗУ Kingston HyperX по 4 Гбайт каждый. В качестве блока питания мы выбрали тихую и энергоэффективную модель be quiet Pure Power L8 мощностью 300 Вт, а жесткие диски рекомендуем тихие - такие как, например, WD Red (2 Тбайт).

2. Сборка компонентов

Если точно выполнять указания руководства пользователя к корпусу BitFenix Prodigy, то проблем при сборке компьютера возникнуть не должно. Следует учесть, что блок питания лучше всего установить вентиляционным отверстием вниз, а жесткие диски вставляются в корпус вместе с салазками разъемами вперед.

3. Подключение

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

4. Установка FreeNAS на флешку

Распакуйте на ПК с операционной системой Windows образ FreeNAS, а также бесплатную программу Win32 Disk Imager. Для этого воспользуйтесь архиватором 7-Zip, который умеет работать с форматом XZ.

Вставьте флеш-накопитель емкостью не менее 2 Гбайт и запустите Win32 Disk Imager. Откройте файл образа FreeNAS, щелкнув по значку папки и выбрав в пункте «Device» букву флеш-накопителя. Щелчок по «Write» запустит процесс записи образа на флешку. Извлеките накопитель из вашего компьютера и вставьте его в USB-порт собранного вами сетевого хранилища данных.

5. Первая загрузка NAS

Подключите клавиатуру, а также монитор к собранному вами хранилищу NAS и соедините его посредством LAN-кабеля с роутером. Включите NAS и сразу нажмите несколько раз кнопку Del для входа в настройки UEFI.

В пункте «Advanced/Super IO Configuration» измените значение «Serial Port» на «Disabled» - в противном случае FreeNAS не запустится. После этого в пункте «Boot/Boot Option» выберите флеш-накопитель, сохраните настройки и перезагрузите NAS.

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

6. Базовые параметры

Откройте в браузере на своем компьютере веб-интерфейс. В пункте «System/Settings» можно изменить язык на русский. В пункте «Часовой пояс» выберите необходимые настройки. После щелчка по «Сохранить» и нажатия на клавишу F5 загрузится русскоязычный интерфейс.

7. Настройка дисков

Используя кнопку «Хранилище/Управление томами ZFS», можно выполнить распределение дискового пространства. Вначале введите «Название тома», затем щелкните по значку «+» рядом с «Доступные диски». После этого в разделе «Планировка тома» вы увидите подключенные диски. Перетащите круглую серебристую кнопку вверх и вправо, в результате все диски должны расположиться рядом друг с другом. Для максимальной отказоустойчивости выберите в меню «RaidZ2».

8. Создание учетной записи пользователя

В дереве папок щелкните по «Учетная запись/Пользователи/Добавить Пользователь». В пункте «Имя пользователя» и «Полное имя» введите «Guest», кликните рядом с «Домашний каталог» по «Просмотреть» и выберите созданный на предыдущем шаге том.

Активируйте опцию «Отключить вход по паролю» и подтвердите выбор щелчком по «ОК». Кликните вверху по значку «Хранилище» и по созданному ранее тому, затем внизу по значку ключа с диском «Изменение разрешений». В диалоговом окне выберите «Guest» рядом с «Владелец (Пользователь)» и «Владелец (Группа)» и щелкните по «Изменить».

9. Настройка CIFS

Затем создайте в пункте «Общие ресурсы/Windows (CIFS)» новый общий ресурс с любым названием и укажите созданный ранее том в качестве пути. Активируйте «Разрешить гостевой доступ» и «Только гостевой доступ».

Затем щелкните по кнопке «Службы» вверху и по значку гаечного ключа позади «CIFS». Выберите в строке «Модель аутентификации» параметр «Анонимный», введите имя NetBIOS и рабочей группы вашего ПК.

В качестве гостевой учетной записи выберите «Guest» и активируйте опцию «Разрешить пустой пароль» и «Включить домашние каталоги». В пункте «Домашние каталоги» выберите созданный ранее том.

В завершение активируйте CIFS с помощью расположенной вверху кнопки «Службы». Теперь общий сетевой ресурс будет отображаться в проводнике Windows по адресу «\\\».

Теги nas

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

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

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

Любой, кто способен собрать персональный компьютер и установить Windows, при желании может справиться и с созданием достаточно продвинутого NAS из x86-совместимого железа и свободных сборок ПО на основе *nix . При этом, грубо говоря, число установленных дисков влияет на стоимость и трудоемкость проекта только стоимостью дисков. Что позволяет серьезно сэкономить по сравнению с покупкой готового NAS на 4 и более дисков, но вряд ли выгодно, если ваши потребности удовлетворит NAS на 1-2 диска. Сказать, какой вариант лучше - нельзя. У каждого свои предпочтения. Кто-то отлично готовит дома, а кто-то предпочитает ужинать в ресторане. Вам доставляет удовольствие возня с компьютерным софтом и железом? Тогда этот текст может быть полезен. Вам нужен сервис хранения сам по себе? Выбирайте между облачным хранилищем и готовым NAS из коробки.

N. B. Это статья не про модель оборудования и не про версию программного продукта. Она про концепцию создания NAS своими руками и предлагает рассмотреть другие варианты решения задачи, кроме покупки готового устройства. Тема длинная, насчитывает под тысячу страниц обсуждения. Народ там вежливый и отзывчивый. Это как бы намек на то, что статья не претендует на полноту, академичность или истину в последней инстанции.

Что за NAS-то?

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

Определение не идеальное, но вполне рабочее. NAS используют и в бизнесе, но там свои требования и особенности. Нас же будет интересовать домашнее использование NAS.

К идее собрать NAS своими руками люди приходят обычно двумя путями, причем часто - обоими сразу. Когда дома один компьютер, NAS не нужен. Постепенно появляются другие сетевые устройства. Ноутбуки, смартфоны, планшеты. А особенно - сетевые HD-медиаплееры, всякие Dune, Popcorn, WD TV и им подобные. Именно с приобретением сетевого медиаплеера человек зачастую начинает накапливать терабайты информации. Сначала она хранится на сменных жестких дисках, подключаемых к медиаплееру и/или на все добавляемых в основной компьютер. Скоро дисков становится слишком много для удобного пользования, а круглосуточно тихонько жужжащий компьютер, заодно качающий что-то из интернета, начнет раздражать если не вас, то вашу дражайшую половину. Возникает идея собрать эту кучу дисков в отдельную коробку, засунуть куда-нибудь в угол и поручить ей раздавать контент всем сетевым устройствам и качать торренты. Поздравляю, вы пришли к NAS по первому пути. По дороге обязательно взглянули на готовые NAS, из коробки. Но цена!..

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

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

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

Ситуация кардинально меняется, если 1-2 дисков не хватает, а есть потребность в 4 и больше. Маркетологи производителей устанавливают на них ценовой уровень, который знакомого с компьютерным ценником человека ввергает в состояние фрустрации (хотя произносят они при этом куда как более народные слова). И человек начинает выбирать аппаратную конфигурацию, к которой мы и переходим. Хотя ему стоило бы начать с программной, но против природы не попрешь.

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

По амбару помела

Для того, чтобы комфортно смотреть по сети FullHD видео, включая образы BD дисков нам понадобится как минимум:

  • 1-2 гигабайта RAM, если не будет использоваться ZFS и 4-8, можно больше, если ZFS будет. (Про ZFS - позже, нетерпеливым Гугл в помощь.) Но даже на раритете с 256 МБ можно кое-что полезное собрать;
  • x86-совместимый процессор, в идеале (и для ZFS) - 64-битный, но и 32-битный подойдет для большинства вариантов. То есть любой x86-процессор кроме уже совсем музейных. Желательно - поменьше греющийся, но тут уж что есть;
  • проводной Ethernet-порт, лучше гигабитный - хотя и 100 мегабит достаточно для просмотра по сети BD-образов. Подключение NAS по Wi-Fi - спорная идея (но в случае самостоятельной сборки у вас гораздо больше свободы в выборе беспроводных контроллеров);
  • диски и SATA-порты. Для NAS нет разницы между SATA-2 (на 3 Гбит/с) и SATA-3 (на 6 Гбит/с). Не каждый диск работает быстрее, чем древний SATA-1, поэтому и такие порты можно использовать. А вот IDE-диски, по современным понятиям, медленные, малоемкие, горячие и шумные. Если SATA-портов не хватает, можно использовать контроллеры. Но если (когда) вы вскоре решите переехать на новое железо, то купленные как костыли для устаревшей материнской платы SATA-контроллеры будут валяться без дела. По себе знаю, у меня два валяются. И осторожнее с дисками более 2 ТБ. Многие старые контроллеры с ними несовместимы. А среди контроллеров SATA-1 попадаются и такие, которые не работают с дисками более терабайта - правда, это уже древность и редкость;
  • понятно, корпус, куда это все влезет и блок питания, который это потянет. С БП есть тонкости, имеет смысл присмотреть и новый, см. ниже.

Скорее всего, оставшееся от апгрейдов железо таким требованиям удовлетворит. А если еще и шуметь будет не очень (или есть куда убрать) - то вообще повезло. Можно начать экспериментировать.

Индпошив

Если вы собираете NAS из специально приобретаемых компонентов, то сначала стоит определиться с пожеланиями. В большинстве случаев (но нельзя объять необъятное) запросы делятся на три группы, условно «тихо-компактно», «эффективно-расширяемо» и «сервер-так-сервер». Уточню, что однозначно правильный вариант не существует. Ведь взвешивает пожелания, затраты и свои возможности сам пользователь. А вот неправильный - возможен. Когда результат не удовлетворяет явно или неявно заданным при проектировании требованиям. Например, супруга заявит, что коробка, конечно, большая. Но воет как самолет, и жить она в одной квартире с ней не согласна. Или собранная под пассив система не выдерживает испытания летом. Или банально затыкается видео при просмотре по сети. Поэтому пожелания лучше обдумать на берегу. Особенно - неявные.

Важное примечание. Мы говорим про NAS, а не про HTPC (Home Theatre PC), то есть не о компьютере, показывающем кино со звуком на большом экране, подключенном к его видеовыходу. В принципе никто не запрещает вам делать HTPC , в том числе со многими жесткими дисками, хотя требования для HTPC и NAS, а также используемые для них софт и железо очень различны. HTPC - это другая тема.

Тихо-компактно

Этот набор требований сформирован под влиянием готовых NAS. Хочу компактный и тихий, но чтобы влезало 4 диска (часто 6, иногда больше). Такие требования обычно приводят к выбору материнской платы Mini-ITX с впаянным Atom-подобным процессором, размещенной в компактном корпусе. Примеры - чуть ниже.

Есть очень неплохое преконфигурированное решение - HP Proliant Microserver (). Компактно, разумно по цене (от 12 000 на момент), 4 жестких диска, пятый можно вставить вместо ODD, излишнего в NAS. И с помощью небольшого бубна заставить нормально работать предназначенный для ODD SATA порт. Недостатки - далеко не мощный процессор, но для многих сценариев - достаточный. Если микросервер вас устроил, отправляемся в главу про софт.

HP Proliant Microserver - качественный и недорогой кандидат на роль домашнего NAS

Если нет - сначала выбираем корпус под желаемое число дисков (нужен или нет диск под систему, зависит от ОС. В главе про софт и обсудим.). Здесь в схватке понтов эстетического чувства с жадностью со стремлением к эффективным затратам проходит первая проверка на прочность концепции «тихо-компактно». Красивые компактные корпуса недешевы. Если победа за жабой стремлением к эффективности, идем в главу эффективно-расширяемо. Туда же отправляемся, если выбранный корпус допускает установку материнской платы microATX. Если победила эстетика - подбираем материнскую плату Mini-ITX (Mini-DTX). Первое требование - максимум портов SATA (можно с учетом eSATA). В принципе, настольные варианты с 6 SATA-портами выпускались. Но удастся ли найти здесь и сейчас - вопрос. Если не хватает портов, SATA-контроллеры PCIe на 2 и даже 4 порта достаточно доступны. Для них, естественно, нужен слот PCIe. С учетом того, что он в Mini-ITX - единственный, расширяемость на этом и заканчивается.

Примеры все из реальной жизни, часто с доработками и дополнительными фото - см. FAQ в профильной ветке, раздел 3.1

от axel77 от half_moon_bay от padavan
Корпус Chenbro ES34069 Lian Li PC-Q25 Lian-Li PC-Q08
Блок питания 180 Вт в комплекте Corsair, PSU-500CXV2EU, 500 Вт Enermax 380 Вт (82+)
Материнская плата Zotac NM10-DTX WiFi Asus E35M-I* Asus P8H67-I**
Процессор интегрированный Intel Atom D510 интегрированный AMD E-350 Intel Pentium G840
Оперативная память Kingston 2×2 ГБ Corsair XMS3 2×8 ГБ 2×4 ГБ DDR3-1333
Винчестеры для данных 4×Samsung HD204UI 7×3,5″ 6×3,5″ + хотсвап для 3,5″ HDD в отсеке 5,25″
Системный накопитель 2,5″ Toshiba 500 ГБ USB-флешка 2,5″ HDD
Операционная система FreeBSD FreeNAS 8.x OMV
Дополнительно сеть Intel WG82574L*** ST-Lab 370 4xSATA PCIe 2xSATA-II
Оценка цены**** 14 950 руб 15 600 руб 14 000 руб

* Сейчас материнские платы с E-350 стали редкостью, их заменили версии с E-450. SATA-портов - меньше;
** В продаже нет, но см., к примеру, ASUS P8H77-I;
*** автор через самодельный рейзер добавил сеть, но это, скорее, личный перфекционизм;
**** Цены - прикидка по просьбе редакции с использованием современного Яндекс Маркет, при отсутствии - Price.ru, при отсутствии - аналоги. Прикидка грубая, так как некоторых моделей уже нет в продаже и найденные цены не обязательно актуальны. Цена не учитывает диски данных, б/у системный HDD при наличии учитывался как 1000 руб.

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

Очевидная особенность впаянного процессора - производительность. Если ее недостаточно, подавляющее большинство отказывается от формата Mini-ITX. Но, полноты ради, надо сказать, что это не обязательно, ср. конфигурацию от маэстро padavan.


Сборка от padavan, как видно - на редкость компактно

В декабре прошлого года были анонсированы Intel Atom S1200 (Centerton) серверного назначения. Когда появятся в продаже - могут оказаться интересным вариантом для домашнего NAS. Поддержка ECC-памяти, Intel Virtualization (VT-x), 8 линий PCI-E, 8 ГБ памяти - этого хватит для большинства вариантов.

Эффективно-расширяемо

Значительная часть NAS-остроителей - кто сразу, кто столкнувшись с ограничениями вариантов на Atom-подобных процессорах, - решает собрать конфигурацию, допускающую серьезное расширение. По процессору, памяти, но прежде всего - по числу дисков. Как уже говорилось, готовые NAS даже на 4 диска недешевы, а на 8-10 уже запретительно дороги для дома. В то же время, подобрать достаточно просторный корпус нетрудно. Например, в моем корпусе, оставшемся от апгрейда Крафтвеевского компьютера (на корпусном железе тогда не экономили), сейчас живет 7 шт. 3,5″ дисков и без особых проблем можно установить еще 3. При выборе корпуса под действительно большое число дисков стоит смотреть в сторону моделей со многими 5,25″ слотами, в которые затем ставить корзины с обдувом, используя 5,25″ слоты для четырех 3,5″ дисков. См. пример в главе «Затраты».

Так как NAS работает 24/7, хотелось бы процессор энергоэффективный (в Москве ватт в год стоит 35 руб). Intel Sandy Bridge и Ivy Bridge серьезно снижают энергопотребление в простое, а ведь NAS львиную долю времени загружен крайне слабо. Поэтому суточное энергопотребление такого NAS может оказаться существенно ниже, чем у варианта на Atom, который не умеет снижать потребление в простое. Какую именно модель процессора взять, зависит от того, требуется ли делать транскодинг видео в реальном времени.

Многие современные телевизоры имеют функциональность DLNA, позволяющую принимать видео по локальной сети. Проблема в том, что понимают они лишь некоторые варианты кодировки. И часто вовсе не те, что используют рипы и ремуксы, водящиеся на просторах Сети. Задачу можно решить несколькими способами. (1) Искать кино в формате, который поминает ваш телевизор. Это хвост, виляющий собакой. (2) Перекодировать на компьютере кино под запросы телевизора. Это потери времени и возможно только для самостоятельно снятого видео. (3) Нагрузить NAS перекодировкой в реальном времени и (4) Купить медиаплейер, то есть небольшую коробочку, которая получает, с том числе по сети с NAS, видео как файлы и снабжает в телевизор с ресивером аудио-видео сигналом, обычно по HDMI. Если Вы выбрали вариант (3), то надо изучать спецификации телевизора и смотреть в районе Core i7. Плюс из-за ограничений в DLNA вообще, и в реализации этой маркетинговой идеи в вашем телевизоре в частности, полной всеядности получить не удастся. Вариант (4) на современном уровне цен оказывается не только проще и функциональнее, но и дешевле. Тогда как процессор NAS подойдет фактически любой младший Pentium или Celeron 2-го или 3-го поколений Core. Можно взять i3, благо в сравнении с ценой дисков разница будет ничтожна. Выбирайте на вкус. Для быстрой справки или детального окончательного сравнения моделей-кандидатов можно использовать раздел тестирования процессоров на iXBT . Я себе взял Intel Pentium G2120 как младший на то момент Ivy Bridge. Младшие Sandy Bridge дешевы и более чем достаточны.

Доступные на момент написания процессоры AMD на фоне Intel не впечатляют - хотя AMD гораздо щедрее снабжает свои процессоры поддержкой ECC-памяти, и возможно, вскоре у компании появится что-то конкурентоспособное, например Opteron 3250 с заявленной ценой $99.


Материнская плата ASUS P8H77-M Pro: 7 SATA, до 32 ГБ ОЗУ

Материнская плата. Я взял ASUS P8H77-M Pro из таких соображений:

  • LGA1155, встроенное видео получаем автоматом из-за процессора, оно понадобится только на этапе установки;
  • максимальное число SATA-портов, неважно, 3 или 6 Гбит/с (7 SATA + eSATA);
  • лучше 4 слота под память, но достаточно 2 (4, до 32 ГБ);
  • интегрированный 1000BaseTX, считается, что лучше от Intel. Но с учетом наличия процессора с запасом вычислительной мощности, и Realtek прекрасно пойдет (Realtek 8111F);
  • PCIe-слоты на случай установки в будущем SATA-контроллеров и сетевых карт (x16, x4 в слоте x16, 2 по х1);
  • Форм фактор - microATX.
Этого вполне достаточно для обеспечения всей требуемой функциональности. А всевозможные дополнения будут только зря кушать электричество. Но если вдруг приглянулась ATX-плата - имеете право.

Кулер выбирается по вкусу, память - по требованиям выбранной OC. Тут возможен разброс от гигабайта до 32.

Блок питания вынесен в отдельную главу.

Примеры описанного варианта:



от ZanZag от shale
Корпус Lian Li PC-V354R InWin BP659
Блок питания Chieftec BPS-550C 550 Вт 200 Вт в комплекте
Материнская плата ASUS P8H67-M EVO(B3) ECS H61H2-I2
Процессор Intel Pentium G860 Intel Celeron G530
Оперативная память 4×4 ГБ DDR3 PC3-1066 Kingston 2×2 ГБ
Винчестеры для данных 6×Hitachi HDS5C3030ALA630 3×Seagate ST3000DM001
Системный накопитель CF 4 ГБ через переходник CF-IDE 40 ГБ SSD
Операционная система nas4free 9.x OMV
Дополнительно кулер Cooler Master DP6-8E5SB-PL-GP, доп. вентиляторы 2×Zalman FDB-1 и Arctic Cooling F9 PWM
Оценка цены 18 200 руб 7300 руб

Сервер-так-сервер

Существует «премиальная» категория NASостроителей, которые по объективным или субъективным причинам строят NAS из серьезных и дорогих серверных компонентов. Энтузиасты экспериментируют с 10-гигабитными сетевыми решениями. Помните, что серверные конфигурации зачастую по габаритам и шуму не вполне совместимыми с жилыми помещениями. Возможность использования ECC-памяти - наиболее очевидное преимущество подхода. Файловая система ZFS, используемая в данном сегменте домашнего NASостроения, активно использует память. При этом сбой в памяти может привести к оставшемуся незамеченным искажению данных. ECC-память решает проблему, но для ее использования в варианте Intel нужны серверные процессоры (есть интересные исключения, например Pentium G2120) и материнские платы.

Зачастую используется виртуализация и несколько гостевых OC решают задачи, у каждого - какие-то свои. Распространен вариант, когда SATA-контроллер пробрасывается в виртуальную машину, выполняющую функцию хранилища (Solaris или FreeBSD c zfs). Из этой VM дисковая емкость экспортируется по NFS или iSCSI для гипервизора и других VM. От дальнейшего объяснения того, в чем сам не сильно разбираюсь, воздержусь и приведу реальные примеры.





Сборка от TPAKTOP, вид снаружи и изнутри

от fatfree от axel77 от TPAKTOP
Корпус Fractal Design Define Mini Supermicro CSE-SC846E26-R1200B
Блок питания Seasonic X560
Материнская плата Supermicro X9SCL-F Supermicro X9SCM-F Supermicro X9SCM-F
Процессор Intel Xeon E3-1230 Intel Xeon E3-1230 Intel Xeon E3-1220
Оперативная память 4×Kingston KVR1333D3E9S/8G 4×Kingston KVR1333D3E9S/4G 4×Kingston KVR1333D3E9S/4G
Винчестеры для данных 5×WD20EFRX в процессе накопления 12×ST31000524AS в двух 6xRaidZ2 (основной пул), 2хST32000542AS в зеркале (бэкап пул), 4хST3250318AS в страйпе (торрент пул)
Системный накопитель Intel SSD 520 180 ГБ 2,5″ на 320 ГБ TS64GSSD25S-M
Операционная система ESXi 5.1.0 + Nexenta CE + Ubuntu Server 12.04 + Windows 8 FreeBSD FreeBSD
Дополнительно HBA IBM ServeRAID M1015, кулер Noctua NH-L12 2×HBA IBM ServeRAID M1015 2×HBA IBM ServeRAID M1015, Intel Gigabit ET Dual Port Server Adapter

SATA/SAS-контроллеры

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

Хотелось бы выразить благодарность всем участникам профильной ветки на forum.сайт, в том числе камрадам axel77, half_moon_bay, padavan, ZanZag, shale, конфигурации которых были использованы в статье; камрадам Sergei V. Sh, TPAKTOP, iZEN и RU_Taurus за множество полезных комментариев.
Особая благодарность разработчикам свободного софта: Olivier Cochard-Labbé, Daisuke Aoyama, Michael Zoon, Volker Theile и многим другим. Они сделали возможным само существование темы «NAS своими руками».

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

Введение

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

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

Данная статья носит ознакомительный характер и не претендует на полное пособие по построению сетевых хранилищ (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, а только одну. И проверяем её работу. Если всё нормально, через неделю можно перенести ещё одну. Ещё через две недели - ещё две и так далее.

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

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