FreeNAS: дистрибутив для создания сетевого хранилища данных
Сергей «grinder» Яремчук (grinder@ua.fm, )
Даже в сети небольшой организации, не имеющей централизованного управления, данные удобно хранить на отдельном сервере. Это на порядок упрощает администрирование, позволяет тонко разграничить доступ и упростить резервное копирование.
Содержание:
- Архитектура систем хранения данных
- Дистрибутив FreeNAS
- Установка FreeNAS
- Веб-интерфейс FreeNAS
- Заключение
- Боковые выносы
Архитектура систем хранения данных
Технически NAS (Network Attached Storage) представляет собой один или несколько специализированных выделенных устройств, имеющих свой IP-адрес и обеспечивающих доступ пользователей на уровне данных напрямую, либо через сервер-посредник. Учитывая, что устройства NAS выполняют строго определенные функции, и при реализации используются, как правило, специальные версии популярных операционных систем, в качестве серверов можно задействовать маломощные системы с небольшим количеством ОЗУ и соответственно меньшей стоимостью. Подключение подобных устройств прозрачно для сети, они сами определяют свои сетевые адреса и объявляются как накопители информации. Решения на базе NAS являются оптимальными для небольших организаций, либо отдельных подразделений, так как позволяют создать сеть хранения информации любой емкости без больших затрат.
Все недостатки такого подхода полностью вытекают из достоинств. Например, необходимо побеспокоиться о защите информации от несанкционированного доступа со стороны других пользователей. Поэтому такие системы широко используют различные методы аутентификации: LDAP, NIS, Radius, Active Directory и прочие. Но, наверное, все-таки самым главным недостатком NAS является существенное увеличение нагрузки на сеть, а потому стоит очень тщательно планировать расположение и количество NAS-устройств. Если какой-то из отделов организации будет работать с файлами большого объема, лучше перевести его в отдельную подсеть и выделить ему персональный NAS-сервер.
Для построения NAS-сервера можно задействовать любую доступную операционную систему, в том числе и ориентированную на десктоп. Но будет ли результат удобным в использовании? Сможет ли обеспечить эффективное хранение информации? Это напрямую зависит от подготовки админа. Да и производительность чисто настольных систем, вроде Windows XP, в данном случае будет довольно низкая. Что касается серверных вариантов Windows, то стоят они неоправданно дорого, для того чтобы покупать и использовать в качестве хранилища файлов (кстати, Windows Storage Server 2003 более приспособлен к такой работе, но его цена также кусается).
Можно попытаться решить проблему при помощи любой из свободных операционных систем, вроде Linux или *BSD, но это требует значительных временных затрат на развертывание и поддержку. Кроме того, в небольших организациях часто нет штатной должности системного администратора, который мог бы постоянно следить за такой системой. Но выход есть – использование специализированного дистрибутива , где имеется все необходимое.
Дистрибутив FreeNAS (Free NAS Server) построен на базе FreeBSD 6.3 и распространяется под лицензией BSD. Изначально целью проекта было создание дистрибутива, позволяющего построить надежное устройство хранения информации для небольших организаций или офисов при сравнительно небольшой стоимости. Идея проекта принадлежит Оливеру Кохарду-Лаббе, который и занимался его разработкой в свободное время. Затем в проект пришли добровольцы, и теперь основная группа составляет уже 6 человек.
Текущая на момент написания этих строк версия 0.69b1 обеспечивает поддержку:
- сетевых файловых протоколов CIFS (Samba), FTP, NFS, SSH, RSYNC, AFP (Apple Filing Protocol);
- технологии UPnP;
- жестких дисков ATA/SATA, SCSI, USB и Firewire;
- файловых систем UFS, FAT32, EXT2/EXT3 и NTFS в режиме «только чтение»;
- программных RAID 0, 1, 5, JBOD, 5+0, 5+1, 0+1, 1+0;
- аппаратных RAID и сетевых карт, поддерживаемых FreeBSD 6 (включая беспроводные).
А еще шифрование разделов при помощи geli (GEOM-ELI), управление пользователями и группами с возможностью локальной аутентификации или Active Directory, поддержка SNMP мониторинга, S.M.A.R.T., отправка журналов на удаленный syslogd и отчетов по электронной почте. Наличие RSYNC сервера позволяет производить синхронизацию как локальных данных, так и с удаленных клиентов, а поддержка Unison гарантирует двустороннюю синхронизацию каталогов.
FreeNAS распространяется в двух вариантах: LiveCD и Embedded. Кроме того, доступны исходные тексты. При работе с LiveCD предусмотрено сохранение настроек на дискету. При загрузке система самостоятельно попытается их найти, без дополнительных действий со стороны администратора. В отличие от LiveCD, версию Embedded (ранее Generic-PC) перед работой следует установить.
Как и m0n0wall, FreeNAS оптимизирован для работы с USB или CompactFlash устройствами. Такой вариант может быть полезен при использовании программного RAID. Так как под RAID диски форматируются полностью, нельзя использовать загрузочный диск как часть RAID. Вариант Embedded занимает всего 22 Мб, LiveCD фактически представляет собой Embedded + средства загрузки системы, его размер чуть больше – 44 Мб. Для увеличения производительности и уменьшения циклов записи/перезаписи, которые являются критичными для флэш девайсов, обращение к носителю сведено к минимуму. После загрузки образ помещается в ОЗУ, запись идет только во время сохранения конфигурации, обновления системы или программного обеспечения, входящего в его состав. FreeNAS умеет работать и под виртуальными машинами.
Для настройки уже установленной системы используется локализованный web-интерфейс.
Для установки и использования FreeNAS понадобится компьютер как минимум с 96 Мб ОЗУ, сетевой картой и одним или более жестким диском. В процессе загрузки LiveCD образа ничего интересного не происходит. В случае проблем можно выбрать вариант без ACPI или перейти в Safe Mode. Встречаем заставку с BSD’шным демоном, убрать которую, чтобы прочесть сообщения ядра, можно нажав любую клавишу. После загрузки будут выданы установки системы: сетевой интерфейс и его IP-адрес (по умолчанию 192.168.1.250). С этого момента можно отключить монитор и все настройки производить при помощи веб-интерфейса. Но мы спешить не будем и сначала установим FreeNAS на жесткий диск.
Вся первоначальная настройка происходит при помощи консоли установки — FreeNAS console setup. Нажимаем клавишу 9 (Install/Upgrade to an hard drive/flash device, etc) и попадаем в псевдографическое меню настройки, основанное на библиотеке ncurses. Пункты меню не локализованы, но с их назначением легко разобраться и с базовым английским. Следует также заметить, что от версии к версии названия пунктов и их нумерация может не совпадать, поэтому в слепую использовать старые руководства, найденные в Сети, не следует.
На первом шаге нам предлагают установить (Install) или обновить (Upgrade) операционную систему в варианте Full или Embedded. Последний шестой пункт «Upgrade and convert full OS to Embedded» позволяет обновить систему и конвертировать в Embedded вариант. Если планируется использование только одного диска в системе (для загрузки и хранения информации), то нужно выбрать пункт с «+ data partition» в имени. В этом случае в пределах одного слайса будет создано два раздела: для системы (совсем небольшой) и для данных (под него будет отведено все остальное доступное пространство). Для установки на жесткий диск оптимальным является третий пункт «Install Full OS on HDD + data partition».
Далее программа запросит имя привода CD-ROM и жесткого диска. Ничего самому выдумывать и вспоминать не нужно. Выводится список всех найденных в системе устройств (если их несколько), тебе потребуется лишь выбрать необходимые названия. У меня это acd0 и ad0 соответственно. Вводим размер системного раздела. По умолчанию предлагается 96 Мб, чего обычно хватает с запасом. После установки программа сообщила, что FreeNAS был установлен на первый раздел ad0s1 слайса, а вывод GEOM_LABEL говорит о том, что ad0s2 присвоена метка DATA.
Вот, собственно, и вся установка. По окончании будет выведено краткое резюме и рекомендации по добавлению DATA диска в систему. Для этого необходимо:
- Добавить диск на странице Disks:Management
- Добавить точку монтирования на странице Disks:Mount point
Пока просто запомним это. Нажимаем <Enter> для продолжения и, выбрав пункт 7 (Reboot system) консоли, перезагружаем систему. Далее все настройки будем производить при помощи веб-интерфейса.
Для настройки загружаемся с жесткого диска и нажатием в меню клавиши 1 выбираем пункт «Assign Interfaces». Опять же будет выведен список найденных сетевых устройств, просто отмечаем тот, который соответствует LAN. Чтобы повторно пересканировать оборудование, следует выбрать "auto".
Если в системе установлено несколько сетевых карт, то кроме LAN интерфейса (в моем случае — это ed0), система запросит выбрать Optional 1 и т.д. Для выхода из меню настройки интерфейсов выбираем "none". Программа покажет результат, нажатие ОК позволит применить установки.
Для справки: сервер FreeNAS не поддерживает маршрутизацию между интерфейсами, поэтому передача данных из одной сети в другую через сервер не возможна. Несколько интерфейсов можно использовать только для доступа к серверу FreeNAS из разных сетей. После перезагрузки в пункте 2 для LAN устанавливаем IP-адрес и сетевую маску (как обычно 255.255.255.0 или в CIDR нотации — 24). Дополнительные интерфейсы настраиваются исключительно при помощи веб-браузера. Воспользовавшись пунктом 5 (Ping host), можно попробовать проверить доступность любого узла в сети. Если пинг проходит, монитор, клавиатуру и прочие лишние устройства можно отключить и в дальнейшем работать удаленно через веб-интерфейс или по SSH (его нужно сначала настроить).
В строке веб-браузера набираем адрес, указанный для LAN (он будет выведен по окончании настроек). Для регистрации используем логин admin и пароль freenas.
Все настройки разбиты по функционалу на 8 разделов, назначение большей части понятно из названия. Параметры, отмеченные жирным шрифтом, обязательны к заполнению или выбору. Система часто сама подсказывает, что ей не хватает.
По умолчанию язык интерфейса английский, но это легко исправить. Переходим в System – General и выбираем в раскрывающемся списке Language – Russian, нажимаем кнопку Save и обновляем по <F5> текущую или переходим на другую страницу. После этого интерфейс, кроме нескольких пунктов, становится локализованным.
Для примера настроим FreeNAS с одним диском для работы в небольшой рабочей группе, использующей в качестве клиентов компьютеры с MS Windows.
После регистрации в системе первым делом необходимо установить имя сервера, затем протокол работы сменить на защищенный (https), задать новый пароль администратора, а также выбрать свой часовой пояс и настроить синхронизацию через NTP. Все это доступно в том же пункте Система – Общие. Просто заполняем соответствующие поля и сохраняем результат нажатием кнопки Сохранить. Для того чтобы некоторые изменения вступили в силу, может потребоваться перезагрузка, но пока с этим можно не спешить. Перезагрузимся после выполнения следующей операции.
Вспоминая совет, выданный программой установки, переходим в Диск — Управление, нажимаем на <+> и попадаем в пункт, позволяющий добавить новый диск. Выбираем в выпадающем списке устройство, которое будет использовано для хранения данных (при наличии привода он также будет в этом списке). При необходимости устанавливаем для него режим передачи данных (PIO, UDMA), параметры перехода в режим энергосбережения и уровень шума. Из списка Preformatted file system выбираем тип файловой системы UFS.
Если раздел не отформатирован, то это можно сделать средствами FreeNAS. Для чего выбираем в «Preformatted file system» Unformatted и переходим по ссылке внизу в раздел Диски – Форматирование. Здесь же в поле «Метка тома» устанавливаем метку. Результат форматирования раздела будет выведен в поле внизу.
Когда раздел выбран, и настройки выполнены, нажимаем на Добавить. Новый диск появится в таблице Диски: Управление. Остальные диски вводятся в работу аналогичным образом. После того, как в систему будут добавлены все диски, для подтверждения изменений нажимаем «Применить изменения».
Теперь настала очередь точек монтирования. Переходим в Диски — Точка монтирования — Управление и нажимаем <+>. В выпадающем меню Диск выбираем жесткий диск, в Раздел – номер раздела в слайсе (первый раздел сейчас занят под систему, поэтому выбираем 2), в «Файловая система» выбираем UFS. Заполняем поле Имя и ниже вводим описание ресурса. Дополнительные флажки позволяют монтировать выбранный раздел в режиме «только чтение» и включить приоритетную/фоновую проверку состояния файловой системы во время процесса загрузки. Также обрати внимание на список Тип, позволяющий указать тип устройства. В нем, кроме диска, можно указать и ISO образ. Для подтверждения изменений нажимаем «Применить изменения». В поле Состояние, напротив указанного раздела, должно появиться значение «Да».
Теперь новый дисковый ресурс необходимо сделать доступным по сети (фактически сейчас мы будем настраивать сервер Samba через веб-интерфейс). Для этого переходим в «Службы: CIFS/SMB». Установив флажок в поле Включить, активируем сервис. В поле Аутентификация следует указать метод проверки подлинности пользователя (анонимный, локальный или Active Directory). Если выставить Anonymous, то доступ к серверу сможет получить любой пользователь сети, пока этот метод нам не интересен. Мы ограничим доступ для непрошенных гостей, выбрав «Local User». Прописываем необходимые значения в полях «NetBIOS Name» и «Рабочая группа». В списке «Кодовая страница DOS» выбираем CP866 и в «Кодовая страница Unix» – UTF-8. Иначе русских букв в именах файлов нам не видать. При установке параметра «Сервер времени» в «Yes» FreeNAS будет выступать NTP-сервером для клиентов LAN. Закончив со всеми настройками, жмем «Сохранить и перезапустить».
Сервер создан, но чтобы пользователи могли сохранять свои файлы, нужно добавить ресурс. Ничего сложного здесь нет. Переходим во вкладку «Общие ресурсы», задаем имя, комментарии и указываем путь к каталогу. Нажатие на кнопку рядом откроет окно, где будут показаны все доступные каталоги.
Теперь последний шаг: создание локальных пользователей. После установки FreeNAS будет создано несколько групп, но все они относятся к системным. Поэтому сначала необходимо создать хотя бы одну группу, куда и будут включены пользователи, имеющие доступ к ресурсам сервера. Переходим в Доступ – Пользователи, затем в Группы, нажимаем <+> и вводим название группы, например mygroup, и ее описание. Не забываем нажать кнопку «Применить изменения».
Теперь в Доступ — Пользователи заводим учетную запись, указав имя, пароль и группу. Для отдельных пользователей можно разрешить доступ к серверу по SSH, включив «Shell access» (администратору он разрешен по умолчанию). Нажимаем Добавить и затем «Применить изменения».
Если сейчас на клиенте в строке браузера набрать \\netbios-имя\ (или \\IP-адрес\), то после ввода имени и пароля пользователя увидим новый ресурс, в котором можно читать и создавать файлы. К сожалению, при использовании локального метода проверки подлинности FreeNAS не позволяет тонко разграничить доступ к имеющимся ресурсам, все легитимные пользователи получат одинаковые разрешения ко всем папкам.
Сервер FTP настроить также легко. Для активации анонимного доступа достаточно перейти в Службы — FTP и активировать сервер установкой флажка Включить. Чтобы при работе с FTP имена файлов, набранные в кириллице, выводились корректно, следует установить кодировку UTF-8.
Итак, мы получили удобный инструмент с интуитивно понятным Web-интерфейсом, позволяющий быстро и без лишних затрат создать сервер хранения данных. FreeNAS является хорошей альтернативой для построения простого NAS сервера, без необходимости установки полной версии Linux/*BSD или приобретения серверного варианта Windows.
DVD
-
На прилагаемом к журналу диске ты найдешь последнюю версию FreeNAS, а также видеоролик, где показано, как установить этот дистрибутив и настроить доступ по CIFS и FTP.
INFO
- При работе в LiveCD варианте настройки можно сохранить на дискету.
-
Загрузка с RAID не поддерживается. Поэтому если для хранения данных планируется использование RAID 5 (для которого, напомню, требуется 3 диска), а загрузка с USB невозможна, то можно поступить следующим образом: на период установки вместо одного из жестких дисков установить CD-ROM, а затем произвести обратную замену.
-
Загрузка в консоли может понадобиться в том случае, если потребуется изменить сетевые настройки, например IP-адрес.
-
Если ты забыл пароль к Web-админке, то его можно сбросить, выбрав в консоли пункт 3 «Reset webGUI password».
WWW
-
Дополнительную информацию по дистрибутиву FreeNAS можно получить на сайте проекта ().
- Блог проекта: .
WARNING
- Нельзя использовать загрузочный диск как часть RAID.
-
Программа установки не позволяет установить FreeNAS в качестве второй системы, при разметке жесткого диска все данные будут уничтожены.
-
При установке будь внимательным, так как некоторые пункты инсталлятора позволяют установить только систему, и такой диск может быть использован исключительно для загрузки, а не для хранения данных.
-
Сервер FreeNAS не поддерживает маршрутизацию между интерфейсами, поэтому передача данных из одной сети в другую через сервер не возможна.
Статья опубликована в августовском номере журнала «Xakep» за 2008 год.





