Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР 116, АВГУСТ 2008 г.

NAS для каждого из нас

Сергей «grinder» Яремчук (grinder@ua.fm, tux.in.ua)

Хакер, номер #116, стр. 116-126-1

FreeNAS: дистрибутив для создания сетевого хранилища данных

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

Недостатки вытекают из достоинств

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

Все недостатки NAS вытекают из перечисленных достоинств. Например, необходимо побеспокоиться о защите информации от несанкционированного доступа со стороны других пользователей. Поэтому такие системы широко используют различные методы аутентификации: LDAP, NIS, Radius, Active Directory и прочие. Но все-таки самым главным недостатком NAS для многих будет существенное увеличение нагрузки на сеть. Стоит очень тщательно планировать расположение и количество NAS-устройств. Если какой-то из отделов организации работает с файлами большого объема, лучше перевести его в отдельную подсеть и выделить ему персональный NAS-сервер.

Для построения NAS-сервера можно задействовать любую доступную операционную систему, в том числе и ориентированную на десктоп. Но будет ли результат удобным в использовании? Сможет ли он обеспечить эффективное хранение информации? Это напрямую зависит от подготовки админа. Да и производительность чисто настольных систем, вроде Windows XP, будет довольно низкая. Что касается серверных вариантов Windows, то стоят они чересчур дорого, чтобы покупать и использовать их в качестве хранилища файлов (Windows Storage Server 2003 более приспособлен к такой работе, но его цена также кусается).

Можно попытаться решить проблему при помощи любой из свободных операционных систем, вроде Linux или *BSD, но это потребует времени на развертывание и поддержку. Кроме того, в небольших организациях часто нет штатной должности системного администратора, который мог бы постоянно следить за такой системой. Выход есть – использование дистрибутива FreeNAS (www.freenas.org).

Дистрибутив FreeNAS

Дистрибутив FreeNAS (Free NAS Server) построен на базе FreeBSD 6.3 и распространяется под лицензией BSD. Изначально целью проекта было создание дистрибутива, позволяющего при сравнительно небольшой стоимости построить надежное устройство хранения информации для небольших организаций или офисов. Идея проекта принадлежит Оливеру Кохарду-Лаббе, который и занимался его разработкой в свободное время. Затем в проект пришли добровольцы, и теперь основная группа разработчиков составляет уже шесть человек. Текущая на момент написания этих строк версия 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 предусмотрено сохранение настроек на дискету. При загрузке система самостоятельно попытается их найти, не требуя дополнительных действий со стороны администратора. Версию Embedded (ранее Generic-PC), в отличие от LiveCD, перед работой следует установить.

Как и m0n0wall, FreeNAS оптимизирован для работы с USB- или CompactFlash-устройствами. Такой вариант может быть полезен при использовании программного RAID. Так как под RAID диски форматируются полностью, нельзя использовать загрузочный диск как часть RAID. Вариант Embedded занимает всего 22 Мб. LiveCD фактически представляет собой Embedded + средства загрузки системы, его размер чуть больше – 44 Мб. Для увеличения производительности и уменьшения циклов записи/перезаписи, которые являются критичными для флеш-девайсов, обращение к носителю сведено к минимуму. После загрузки образ помещается в ОЗУ. Запись идет только во время сохранения конфигурации, обновления системы или программного обеспечения. Умеет FreeNAS работать и под виртуальными машинами.

Для настройки уже установленной системы используется локализованный web-интерфейс.

Установка FreeNAS

Для установки и использования 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 диска в систему. Для этого необходимо:

  1. Добавить диск на странице Disks:Management;
  2. Добавить точку монтирования на странице 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 (конечно, его нужно сначала настроить).

Веб-интерфейс FreeNAS

В строке веб-браузера набираем адрес, указанный для LAN (он будет выведен по окончании настроек). Для регистрации используем логин admin и пароль freenas.

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

По умолчанию язык интерфейса – английский, но это легко исправить. Переходим в 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-адрес\), то после ввода имени и пароля пользователя увидим новый ресурс, в котором можно читать и создавать файлы. К сожалению, при использовании локального метода проверки подлинност

Сервер 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 можно получить на сайте проекта (www.freenas.org).
  • Блог проекта: freenas.blogspot.com.

WARNING

  • Нельзя использовать загрузочный диск как часть RAID.
  • Программа установки не позволяет установить FreeNAS в качестве второй системы, при разметке жесткого диска все данные будут уничтожены.
  • При установке будь внимательным, так как некоторые пункты инсталлятора позволяют установить только систему, и такой диск может быть использован исключительно для загрузки, а не для хранения данных.
  • Сервер FreeNAS не поддерживает маршрутизацию между интерфейсами, поэтому передача данных из одной сети в другую через сервер невозможна.
Содержание
загрузка...
Журнал Хакер #151Журнал Хакер #150Журнал Хакер #149Журнал Хакер #148Журнал Хакер #147Журнал Хакер #146Журнал Хакер #145Журнал Хакер #144Журнал Хакер #143Журнал Хакер #142Журнал Хакер #141Журнал Хакер #140Журнал Хакер #139Журнал Хакер #138Журнал Хакер #137Журнал Хакер #136Журнал Хакер #135Журнал Хакер #134Журнал Хакер #133Журнал Хакер #132Журнал Хакер #131Журнал Хакер #130Журнал Хакер #129Журнал Хакер #128Журнал Хакер #127Журнал Хакер #126Журнал Хакер #125Журнал Хакер #124Журнал Хакер #123Журнал Хакер #122Журнал Хакер #121Журнал Хакер #120Журнал Хакер #119Журнал Хакер #118Журнал Хакер #117Журнал Хакер #116Журнал Хакер #115Журнал Хакер #114Журнал Хакер #113Журнал Хакер #112Журнал Хакер #111Журнал Хакер #110Журнал Хакер #109Журнал Хакер #108Журнал Хакер #107Журнал Хакер #106Журнал Хакер #105Журнал Хакер #104Журнал Хакер #103Журнал Хакер #102Журнал Хакер #101Журнал Хакер #100Журнал Хакер #099Журнал Хакер #098Журнал Хакер #097Журнал Хакер #096Журнал Хакер #095Журнал Хакер #094Журнал Хакер #093Журнал Хакер #092Журнал Хакер #091Журнал Хакер #090Журнал Хакер #089Журнал Хакер #088Журнал Хакер #087Журнал Хакер #086Журнал Хакер #085Журнал Хакер #084Журнал Хакер #083Журнал Хакер #082Журнал Хакер #081Журнал Хакер #080Журнал Хакер #079Журнал Хакер #078Журнал Хакер #077Журнал Хакер #076Журнал Хакер #075Журнал Хакер #074Журнал Хакер #073Журнал Хакер #072Журнал Хакер #071Журнал Хакер #070Журнал Хакер #069Журнал Хакер #068Журнал Хакер #067Журнал Хакер #066Журнал Хакер #065Журнал Хакер #064Журнал Хакер #063Журнал Хакер #062Журнал Хакер #061Журнал Хакер #060Журнал Хакер #059Журнал Хакер #058Журнал Хакер #057Журнал Хакер #056Журнал Хакер #055Журнал Хакер #054Журнал Хакер #053Журнал Хакер #052Журнал Хакер #051Журнал Хакер #050Журнал Хакер #049Журнал Хакер #048Журнал Хакер #047Журнал Хакер #046Журнал Хакер #045Журнал Хакер #044Журнал Хакер #043Журнал Хакер #042Журнал Хакер #041Журнал Хакер #040Журнал Хакер #039Журнал Хакер #038Журнал Хакер #037Журнал Хакер #036Журнал Хакер #035Журнал Хакер #034Журнал Хакер #033Журнал Хакер #032Журнал Хакер #031Журнал Хакер #030Журнал Хакер #029Журнал Хакер #028Журнал Хакер #027Журнал Хакер #026Журнал Хакер #025Журнал Хакер #024Журнал Хакер #023Журнал Хакер #022Журнал Хакер #021Журнал Хакер #020Журнал Хакер #019Журнал Хакер #018Журнал Хакер #017Журнал Хакер #016Журнал Хакер #015Журнал Хакер #014Журнал Хакер #013Журнал Хакер #012Журнал Хакер #011Журнал Хакер #010Журнал Хакер #009Журнал Хакер #008Журнал Хакер #007Журнал Хакер #006Журнал Хакер #005Журнал Хакер #004Журнал Хакер #003Журнал Хакер #002Журнал Хакер #001