Содержание статьи
Обзор дистрибутивов для организации NAS-сервера
В небольших организациях востребованы простые в настройке и обслуживании специализированные файл-серверы, задача которых, по сравнению с более продвинутыми решениями, упрощена до минимума — хранение данных и предоставление сетевого доступа к ним.
FreeNAS 8.3.1
- Сайт: freenas.org
- Платформа:FreeBSD 8.3
- Системные требования: CPU x86/x64, RAM 128+ Мб, HDD 500 Мб
- Архитектура: x86, x64
- Русификация интерфейса: да
- Лицензия: BSD
Дистрибутив FreeNAS (Free NAS Server) построен на базе FreeBSD, при этом номер версии совпадает с номером релиза FreeBSD, на основе которого он создан. Изначально проект развивался под руководством Оливье Кошар-Лаббе (Olivier Cochard-Labbé), затем к нему подсоединилась группа добровольцев, что придало серьезный импульс развитию проекта. Сегодня FreeNAS находится под патронажем компании iXsystems, занимающейся разработкой аппаратных NAS на его основе. Кстати, эта компания поддерживает PC-BSD и способствует развитию ZFS во FreeBSD.
Текущая версия FreeNAS в качестве ФС использует ZFS (пул версии 28), среди особенностей которой: поддержка автоматического распознавания и объединения дубликатов данных, реализация RAID-Z3 (программный RAID 7, ZFS хранит три копии структур, обеспечивающих целостность), возможность разделения отзеркалированного zpool-раздела на несколько раздельных пулов (zpool split), импорт пула в режиме только для чтения, ускорение работы со снапшотами и другое. Например, функция ZFS Snapshots позволяет создать и отправить на удаленную систему снимок локальной ФС (и обновлять в случае изменений), а при сбое быстро восстановить работоспособность.
В релизе FreeNAS 8.3.1 реализовано шифрование ZFS, теперь можно надежно защитить данные без привлечения сторонних решений. Если процессор поддерживает инструкции AES-NI, работа модуля шифрования не будет сказываться на производительности. Управление ключами очень простое, подключить затем такой диск на другом сервере не составит труда.
Для доступа к хранилищу заявлена поддержка iSCSI, FTP/FTPS/TFTP, NFS, Samba, AFP (Apple Filing Protocol), SSH и синхронизация посредством RSYNC. Возможна организация программного RAID (0, 1, 5, 6, 10, 60), RAID-Z1/Z2/Z3, импорт дисков, отформатированных в FAT, NTFS, EXT2/3, UFS RAID. Для авторизации клиентов используется LDAP / Active Directory.
Реализованы и другие полезные функции: SNMP-мониторинг, тест дисков при помощи S.M.A.R.T., отправка журналов на удаленный syslogd и отчетов по электронной почте. Администратор получает наглядные графики использования ресурсов NAS-сервера.
С версии 8.2.0 поддерживаются плагины, которые позволяют легко расширить возможности системы. Аддоны основаны на FreeBSD jails и пакетах PBI с PC-BSD и полностью изолируют дополнения от основной системы. В настоящее время представлены расширения, реализующие поддержку BitTorrent, потокового DAAP-сервера (на основе Firefly) и MiniDLNA.
Файлы конфигурации и пользовательские данные хранятся на отдельном дисковом разделе data, в некоторых конфигурациях это неудобно. Все функции полностью настраиваются через локализованный и интуитивно понятный веб-интерфейс (написан с использованием Django). Также через веб можно подключиться к shell.
FreeNAS распространяется в виде установочных x86/x64 ISO-образов, образов для USB. На странице загрузки доступны и образы обновлений, пакет плагинов. Системные требования, в общем-то, невысоки, но каждая функция ZFS требует дополнительных мощностей и большого количества свободной памяти.
Установщик, как полагается во FreeBSD, текстовый, но работа с ним каких-либо неудобств не вызывает. Необходимо лишь выбрать из списка диск, на который ставить ОС, и согласиться с тем, что данные будут уничтожены, после перезагрузки можно настроить сеть при помощи конфигуратора (/etc/netcli).
![Интерфейс FreeNAS позволяет контролировать все аспекты работы сервера](https://xakep.ru/wp-content/uploads/post/61811/1.jpg)
![](https://xakep.ru/wp-content/uploads/2013/08/cover-1-215x280.jpg)
Хакер #175. 100 программ для хакера
OpenMediaVault 0.4.24
- Сайт: openmediavault.org
- Платформа: Debian
- Системные требования: CPU i486/amd64, RAM 1+ Гб, HDD 2+ Гб
- Архитектура: x86, x64
- Русификация интерфейса: да
- Лицензия: GNU GPL
Проект развивается в рамках FreeNAS и предлагает его реализацию, основанную на пакетной базе Debian (ядро 2.6.32). Считать OpenMediaVault копией нельзя, поскольку это вполне самодостаточное решение со своими особенностями. Так, если FreeNAS ориентирован на максимальное использование возможностей ZFS, то OpenMediaVault нацелен на большую поддержку встраиваемых устройств и простую подсистему установки дополнений и обновлений. Например, для установки плагинов и обновлений используется штатный пакетный менеджер, поэтому вместо смены всей «прошивки» просто ставится новая версия пакета, админ выбирает ее в предложенном списке в GUI, даже не вникая в особенности работы APT.
Система может быть запущена на любом оборудовании, которое будет работать в Debian. В качестве файловой системы используются ext3/ext4/XFS/JFS и NTFS/FAT32 (чтение/запись), поддерживается программный RAID (0, 1, 5, 6, JBOD, 5+0, 5+1, 0+1, 1+0 и другие при помощи mdadm). Для подключения к данным настраиваются SMB/CIFS, FTP/FTPS, TFTP, NFSv3/v4, SSH и RSYNC. Некоторые возможности реализованы при помощи плагинов: LVM, iSCSI Target, поддержка LDAP, доступ AFP, клиент BitTorrent, сервер DAAP, поддержка UPS и антивирус. Возможна организация совместного доступа к ресурсам и разделения привилегий (в том числе ACL) на основе групп и пользователя, настройка квот. Для мониторинга используется SNMP (v1/2c/3), S.M.A.R.T., отслеживается состояние UPS. В случае проблем администратор получает уведомление по email. В отличие от FreeNAS, для хранения настроек создается один смешанный раздел, сочетающий данные и системные файлы.
Для установки доступен образ для x86- и x64-систем, образы для VMware и VirtualBox, репозиторий для Debian. Также можно скачать исходные тексты и собрать все самому, то есть при желании дистрибутив легко затачивается под конкретные условия.
Управляющий веб-интерфейс OpenMediaVault написан на PHP с использованием JavaScript-фреймворка ExtJS, поддержка Ajax позволяет получать данные без перезагрузки страниц. Несмотря на использование других инструментов в создании интерфейса, внешне он очень похож на FreeNAS, хотя несколько проще в использовании (сказываются особенности ФС и системы обновлений).
Программа установки текстовая, но сложностей не вызывает. В процессе предстоит выбрать часовой пояс и установить пароль root. По умолчанию системный диск форматируется в ext4, и повлиять на это никак нельзя. Все остальные системные настройки производятся также через веб — сеть, брандмауэр, обновления, плагины и так далее. Пароль/логин для входа в интерфейс управления — admin/openmediavault.
![OpenMediaVault — самодостаточное решение, появившееся в результате переноса идей FreeNAS в Debian](https://xakep.ru/wp-content/uploads/post/61811/2.jpg)
![Основная фишка OpenMediaVault — простая установка дополнений](https://xakep.ru/wp-content/uploads/post/61811/3.jpg)
NAS4Free 9.1.0.1
- Сайт: nas4free.org
- Платформа: FreeBSD 8.3
- Системные требования: CPU x86/x64, RAM 256+ Мб, HDD 500 Мб
- Архитектура: x86, x64
- Русификация интерфейса: да
- Лицензия: BSD
NAS4Free был основан на кодах FreeNAS 0.7, когда прародитель (включая название) перешел под крыло iXsystems и началась его коммерциализация. Ориентирован в первую очередь для применения во встроенных системах, хотя не ограничен в возможностях установки на обычный компьютер или виртуальную машину.
Текущая версия построена на базе FreeBSD 9.1, в качестве ФС использует ZFSv28 (включая RAID-Z1/Z2/Z3), UFS, ext2/3, FAT, NTFS, поддерживает программный RAID (0, 1, 5 и другие) и шифрование диска. Обмен данными возможен по протоколам SMB/CIFS, FTP, TFTP, NFS, AFP, iSCSI (initiator и target), SCP (SSH), BitTorrent, HAST, CARP, синхронизация данных посредством RSYNC (клиент/сервер) или Unison. Поддерживает UPnP (на базе Fuppes), сервер iTunes/DAAP (Firefly), протоколы CARP, HAST, VLAN и Wake On LAN. Управление доступом производится на основе пользователей и групп UNIX. Для аутентификации используется внутренняя база и средства Active Directory и LDAP.
Состояние хардов отслеживается при помощи S.M.A.R.T., реализованы SNMP, отправка сообщений Syslog, контроль состояния UPS. В случае проблем админ получает уведомление по email. Поддерживается весь спектр оборудования, совместимый с FreeBSD. Все это полностью настраивается через веб-интерфейс.
Дистрибутив может быть установлен как на обычный хард, так и на Compact Flash, USB, SSD, также может работать с LiveCD/LiveUSB. Систему не следует устанавливать на диск емкостью более 2 Тб, такой диск можно использовать только для хранения данных.
Все настройки сохраняются в одном XML-файле (config.xml), поэтому их очень просто перенести на другую систему. Такой файл можно поместить на флешку, тогда он подхватится автоматически во время инсталляции, или импортировать через веб-интерфейс.
Работа с NAS4Free во многом напоминает FreeNAS старых версий. Например, по умолчанию устанавливается IP-адрес 192.168.1.250. После загрузки ОС появляется консольное меню, позволяющее сконфигурировать сетевые интерфейсы, сменить IP, установить систему, выйти в shell, сбросить пароль веб-администратора (по умолчанию учетки admin и root имеют пароль nas4free) и так далее. Интерфейс, кроме прочего, предоставляет возможность некоторых системных настроек, имеет редактор файлов, файловый менеджер, возможность отправки команд оболочке, инструменты сетевой диагностики, тестирование пропускной способности сети (при помощи Iperf). По умолчанию все сервисы отключены, администратор самостоятельно запускает и настраивает то, что необходимо.
В Wiki описано, как можно пересобрать дистрибутив под себя, добавив в него нужные приложения.
![Управление дисками в NAS4Free](https://xakep.ru/wp-content/uploads/post/61811/4.jpg)
ZFSguru 0.2-beta8
- Сайт: zfsguru.com
- Платформа: FreeBSD 9.1
- Системные требования: CPU x64, RAM 1+ Гб, HDD 2+ Гб
- Архитектура: x64
- Русификация интерфейса: нет
- Лицензия: BSD
Проект относительно молодой и ориентирован в настоящее время скорее на домашних пользователей и небольшие организации. В качестве файловой системы используется ZFSv28, поддерживаются UFS и ext2/ext3 (после установки e2fsprogs). Возможно создание программного RAID (0, 1, 5, JBOD, 5+0, 5+1, 0+1, 1+0 и так далее), RAID-Z1/Z2. Доступ к данным реализуется посредством iSCSI (initiator и Target), SMB/CIFS, NFS, SSH, RSYNC (клиент и сервер) и AFP. Поддерживаются специфические функции ZFS: дедупликация, снапшоты и сжатие, которые можно настроить через интерфейс для каждой ФС. Возможно использование SSD в качестве кеширующего устройства (ZFS L2ARC), позволяя тем самым повысить производительность при операциях чтения. Предусмотрено применение резервных дисков, которые будут активированы автоматически в случае выхода из строя одного из дисков массива.
Поддерживается управление учетными записями пользователей и групп, аутентификация средствами Active Directory и LDAP. Отчеты S.M.A.R.T., монитор I/O и benchmark позволяют контролировать состояние и производительность жестких дисков. Администратор может получать email о критических параметрах (в поставку входит Sendmail), отправку журналов на удаленный syslogd.
Функции легко расширить при помощи пакетов, которые устанавливаются простым щелчком. В настоящее время доступно восемь категорий, в которых насчитывается около 70 приложений — iSCSI-target, OwnCloud, несколько FTP-серверов, BitTorrent, антивирус ClamAV и другие.
Поддерживается весь спектр оборудования, совместимый с FreeBSD 9.1, в том числе многие Wi-Fi сетевые карты и RAID-контроллеры. Для управления используется веб-интерфейс (написан на PHP, в качестве веб-сервера задействован lighttpd), по виду напоминает настольное приложение. Настроек в нем много, они разбросаны по меню и подменю, можно изменить в том числе и некоторые системные параметры, есть веб-консоль для ввода команд оболочки и просмотра файлов на диске. Применение ZFS также накладывает свой отпечаток. Поэтому некоторое время придется потратить, чтобы освоиться. Далее проблем в работе обычно не возникает. Чтобы расшарить ФС, достаточно ее выбрать и нажать соответствующую ссылку, будет показана команда, которую можно тут же подправить.
ZFSguru реализован в виде ISO-образа, поддерживающего установку на жесткий диск, USB или виртуальную машину. Возможна загрузка и работа с LiveCD. Веб-интерфейс доступен отдельным архивом, который можно использовать для установки на FreeBSD. На сайте есть все необходимые инструкции по установке. Таким образом, можно легко собрать NAS-сервер под любые условия, обеспечив удобное управление.
Программа установки несколько отличается от других решений. Образ выгружается в ОЗУ, поэтому желательно наличие 1 Гб памяти, иначе процесс может завершиться с ошибкой. После загрузки доступно меню, позволяющее выйти в shell, узнать IP, сбросить настройки веб. Далее следует подключиться к серверу при помощи веб-браузера и произвести установку, воспользовавшись подсказками визарда, который поможет настроить доступ к серверу NAS, аутентификацию, настроить ZFS pool, отправить в сообщество ZFSguru данные об используемом оборудовании.
![Настройка файловой системы в ZFSguru](https://xakep.ru/wp-content/uploads/post/61811/5.jpg)
Openfiler 2.99
- Сайт: openfiler.com
- Платформа: rPath Linux
- Системные требования: CPU x64 1,6 ГГц, RAM 2+ Гб, HDD 8+ Гб
- Архитектура: x64
- Русификация интерфейса: нет
- Лицензия: GNU GPL
Первые версии дистрибутива, начало развития которого положено в 2003 году, базировались на CentOS, но впоследствии разработчики остановили выбор на сервисе rBuilder Online дистрибутива rPath. Текущая версия позволяет использовать компьютер в качестве бэкенда VM. Поддерживается Fibre Channel, iSCSI (initiator и target) и GNBD (сетевое блочное устройство).
Обеспечивается возможность простого управления хранением данных, поддержка больших хранилищ 60+ Тб, point-in-time снапшоты. Реализована синхронная и асинхронная поблочная репликация данных между узлами при помощи RSYNC (Remote Block Replication).
Кроме того, поддерживаются все сетевые протоколы, используемые сегодня для передачи файлов: CIFS/SMB (с «теневыми» копиями), NFSv3/v4 (с поддержкой ACL), HTTP/DAV, FTP, программный RAID всех популярных уровней (0, 1, 5, 6 и 10) и LVM2. В качестве файловой системы можно выбрать ext3 и XFS (рекомендуются, форматирование производится через GUI) или ReiserFS и JFS (форматирование вручную).
Чтобы удобнее управлять ресурсами дисков, их объединяют в общий пул (Dynamic Volume Aggregation), который затем «нарезают» по назначению (Logical и PITC Volumes).
Аутентификация пользователей может производиться средствами PAM (настраивается через веб), NIS, LDAP, Hesiod, Active Directory и NT4 домена, причем можно задействовать одновременно несколько механизмов. Политика доступа к ресурсам реализуется на основе членства в группе, IP-адреса или принадлежности к сети. Возможна автоматическая активация персональных (home) ресурсов зарегистрированных пользователей и гостевых каталогов. Дисковые квоты задаются для групп, персонально и отдельно для гостей. Это позволяет реализовать любые варианты. Для быстрой настройки квот используются шаблоны.
Openfiler содержит ряд приложений, выпускаемых под свободными лицензиями, — Apache, Samba, Bacula и другие. Поддерживается управление UPS. Есть возможность объединения нескольких Openfiler в кластер высокой доступности (High Availability).
Все настройки осуществляются через понятный, хотя и не локализованный веб-интерфейс (доступен на 446-м порту) или через SSH. Основные установки сервисов представлены в виде Administrative Tasks, позволяющих выполнить все необходимое поэтапно. После выбора меню внизу открывается подменю, основные пункты выбираются в поле справа. Некоторые продвинутые настройки убраны и открываются дополнительно (Expert View). Для управления настройками используется логин openfiler и пароль password, пользователь root (создается при установке) через веб может только настраивать квоты.
Изначально проект нацелен на коммерциализацию, поэтому внятная документация отсутствует. К счастью, в Сети можно найти ряд руководств, подготовленных пользователями. Поддержка возможна через форум, список рассылки или в IRC-канале. За плату предоставляются официальная поддержка и расширенные возможности.
Официально поддерживается установка в виртуальную среду Citrix XenServer и VMware vSphere. Последний релиз доступен только в виде ISO-образа под x86_64, но в случае необходимости использования оборудования на x86 или виртуальных машин VMware можно обратить внимание на предыдущий релиз. В качестве установщика используется усеченный вариант Anaconda. Сам процесс установки занимает десять минут и понятен даже новичку. Можно выбирать между графическим или текстовым вариантами.
Последний релиз датирован 2011 годом, но то, что есть, вполне актуально на сегодняшний день, и проект по-прежнему считается активным. Однако, учитывая, что rPath канул в Лету, обновить при необходимости компоненты Openfiler будет не просто.
![Openfiler: для удобного управления ресурсами дисков их объединяют в общий пул](https://xakep.ru/wp-content/uploads/post/61811/6.jpg)
NexentaStor 3.1.3.5
- Сайт: nexentastor.org, nexenta.com
- Платформа: OpenSolaris/Illumos
- Системные требования: CPU x32 (рекомендуется x64), RAM 1 Гб, HDD 2 × 10+ Гб
- Архитектура: x86, x64
- Русификация интерфейса: нет
- Лицензия: Community Edition EULA / коммерческая
Дистрибутив для создания сетевых хранилищ, который сочетает в себе ядро OpenSolaris и программное окружение Ubuntu 8.04 (в последующем планируется переход на ядро, разрабатываемое в рамках Illumos, и Debian Squeeze). В качестве файловой системы используется ZFS, для работы с пакетами задействован пакетный менеджер APT (штатный ncp3-репозиторий предоставляет более 12 тысяч пакетов). Есть и своя специфика. При работе apt-get
создаются контрольные точки, на которые можно при желании откатиться. Также apt-clone
позволяет клонировать систему для обновления в отдельный ZFS-пул, после чего переключить рабочую систему в обновленное окружение. Поддерживается все, что присуще ZFS: сжатие и дедупликация, синхронная и асинхронная репликация, поиск в снапшоте, отсутствуют лимиты на размеры файла, на количество снапшотов и copy-on-write клонов. Предусмотрена возможность использования кеша на SSD (Hybrid Storage Pools). Реализована поддержка комплекса технологий VAAI (vStorage API for Array Integration), предназначенного для передачи некоторых операций виртуальных машин по работе с дисками на сторону массива с целью повышения производительности. Подключение возможно как по NAS (NFS, CIFS, WebDAV, FTP), так и по SAN (iSCSI & FC). Реализовано управление квотами на уровне пользователей и групп, возможна интеграция с Active Directory. Управление системой производится через удобный веб-интерфейс (NexentaStor Management Viewer) или с помощью командной строки. Предусмотрена интеграция с внешними приложениями посредством API, возможности расширяются при помощи модулей.
Перед установкой следует свериться со списком поддерживаемого оборудования. NexentaStor делится на две версии: Enterprise и Community Edition. Последняя бесплатная, построена на Illumos/Debian и имеет ограничение максимального размера хранилища в 18 Тб, также отсутствует ряд модулей (например, для HA-кластера). Кроме установочного, доступны образы для быстрого развертывания в VMware и Citrix Xen.
Сам процесс установки довольно прост, все необходимые настройки производятся при помощи мастера. Интерфейс не локализован, но сложным его назвать нельзя.
Особенности ZFS v28 в FreeBSD
Файловая система ZFS не является «родной» для FreeBSD, поддержка долгое время существовала в виде патча, затем код был интегрирован в основную ветку FreeBSD 8.3 и 9.0. В настоящее время обеспечивается:
- Поддержка автоматического распознавания и объединения дубликатов данных, которые будут сохранены на физический носитель только один раз. Это позволит существенно уменьшить занимаемое дисковое пространство и повысить производительность. Но нужно помнить, что на каждый блок ФС ZFS использует примерно 512 байт в памяти для таблицы дедупликации, если задать маленький размер блока, то ресурс быстро исчерпается и ZFS будет тормозить.
- Поддержка RAID-Z3 — варианта RAIDZ с хранением трех копий, отвечающих за обеспечение целостности структур. Это позволяет значительно повысить надежность хранения по сравнению с RAID-режимами с двойным дублированием — RAID–6 и RAID-Z2, так как обеспечивается целостность данных при одновременном выходе из стоя сразу трех дисков.
- Поддержка команды
zpool split
, предназначенной для разбиения отзеркалированного zpool-раздела на несколько раздельных пулов. Позволяет упростить клонирование данных, когда к зеркалу добавляется несколько дисков, производится синхронизация и диски исключаются из пула. С использованием zpool split очень просто исключить диск из пула и создать на его основе новый пул. - Ведение счетчика ссылок на снапшот для более гибкого управления удалением неиспользуемых снапшотов. Увеличив счетчик, пользователь может пометить, что снапшот используется и его нельзя удалять.
- Импорт пула в режиме только для чтения.
- Утилита
zfs diff
отображает различия между двумя ZFS-снапшотами или между снапшотом и текущим состоянием ФС. - Команда
zpool import -F
позволяет «перемотать» поврежденный пул к состоянию, соответствующему более ранней группе транзакций.
unRAID Server
- Сайт: http://lime-technology.com/unraid-server
- Платформа: Slackware
- Системные требования: CPU x32, RAM 512 Мб, HDD 1+ Гб
- Архитектура: x86, x64
- Русификация интерфейса: нет
- Лицензия: GNU GPL / коммерческая
Дистрибутив, базирующийся на фирменной технологии, разработанной Lime technology LLC. От стандартных RAID ее отличает то, что в единый массив можно объединять диски SATA и PATA, диски разных объемов и скоростей. Для этого применяется отдельный диск для контрольной суммы (четности), данные между дисками не чередуются. Предусмотрена возможность динамического добавления дисков в массив.
Предлагается три версии: Basic (бесплатная), Plus и Pro. Лицензия привязывается к GUID диска, на которую установлена система. В Basic используется обычный RAID и установлено ограничение в три диска (Plus — 7, Pro — 25). Старшие версии поддерживают возможность разграничения доступа и интеграцию с Active Directory.
Основой unRAID Server является дистрибутив Slackware. Управление производится при помощи веб-интерфейса или стандартных команд UNIX. Дистрибутив нетребователен к мощности CPU и ориентирован прежде всего на встроенные системы, может устанавливаться и работать с USB-носителя. Система плагинов позволяет легко расширять штатные возможности. При знании основ Linux все нужное можно добавить самостоятельно. Поддерживаются все присущие NAS и SAN протоколы.
Перед установкой рекомендуется свериться со списком Hardware Compatibility. Сам процесс развертывания можно назвать нестандартным, но он хорошо описан в документации. По умолчанию диски форматируются в ReiserFS v3.6 (рекомендуемой), поддерживаются и другие ФС, в том числе NTFS.
WARNING
При использовании ZFS нужно следить за доступным свободным местом: когда его остается меньше 10%, производительность сильно падает.
Заключение
Выбор готовых решений, как видишь, очень большой, посоветовать что-то одно довольно сложно. Все зависит от конкретных условий использования и личных предпочтений касательно ОС и основной файловой системы. Сторонники Linux наверняка остановятся на OpenMediaVault, а BSD’шники будут мучительно выбирать между FreeNAS и NAS4Free. Если ты хочешь полностью оценить возможности ZFS, попробуй начать с NexentaStor.
INFO
Релиз FreeNAS 8.3.0, построенный на базе FreeBSD 8.3, стал самой популярной версией дистрибутива.
Количество загрузок FreeNAS превысило 500 тысяч.
Сейчас ведется разработка FreeNAS версии 9.1, пока находится в статусе бета.
Автор OpenMediaVault — Фолькер Тайле (Volker Theile), один из основных разработчиков FreeNAS.