Сергей Яремчук
FreeNAS: строим надежную систему хранения данных
Объемы информации постоянно растут, повышаются требования к её безопасности, доступности, актуальности. Возникают вопросы как переносить разрозненные данные с различных носителей в централизованные хранилища? Как построить системы хранения информации даже в небольших организациях?
Сегодня на рынке существует достаточное количество предложений систем хранения данных, отличающихся возможностями, архитектурой и ценой. Решения на базе Windows Storage Server или Cisco Storage Networking требуют определенной подготовки администраторов, да и не всегда могут подойти по цене. Можно попытаться решить проблему при помощи любой из свободных операционных систем, но придётся затратить много времени на развертывание и поддержку. Есть ещё вариант – использовать специальную разработку FreeNAS (http://www.freenas.org).
Возможности FreeNAS
Разработка представляет собой Open Source NAS-сервер, построенный на базе FreeBSD 6 и распространяемый по лицензии BSD. Отсюда и его назначение – обеспечивать небольшие организации и отделы надежным устройством хранения информации по минимальной стоимости. Разработкой FreeNAS занимается в свободное время Оливер Кохард (Olivier Cochard). Судя по релизам, делает он это весьма активно, так как за 5 месяцев 2006 года уже было 11 предрелизов.
Текущая на момент написания статьи версия 0.66 обеспечивает поддержку:
- сетевых файловых протоколов CIFS, FTP, NFS, SSH, RSYNC и AFP (для компьютеров Apple);
- жестких дисков ATA/SATA, SCSI, USB и Firewire;
- файловые системы UFS, FAT32, EXT2/EXT3, NTFS (только чтение);
- программного RAID 0, 1 и 5;
- аппаратных RAID и сетевых карт, поддерживаемые FreeBSD 6 (включая беспроводные);
- аутентификации локальной и домена Microsoft (сейчас полным ходом идет работа по поддержке LDAP, планируется еще NIS и Radius).
Загрузка системы возможна не только с жесткого диска, но и с USB-устройства. Например, можно использовать flash-карту, т.к. размер установленной системы не превышает 17 Мб), такой вариант может быть полезен при использовании программного RAID. Так как под него могут форматироваться диски полностью, нельзя использовать загрузочный диск как часть RAID. На сайте доступен образ, оптимизированный под VMWare. Для настройки уже установленной системы используется веб-интерфейс. За время развития с сайта SourceForge.net FreeNAS разных версий был скачан более 85 тысяч раз.
Установка FreeNAS
Для установки и использования FreeNAS понадобится компьютер, как минимум, с 96 Мб оперативной памяти, сетевой картой и одним или более жестким диском. Если планируется использование RAID 5, для которого требуется 3 диска, а загрузка с USB невозможна, то поступите следующим образом. На период установки вместо одного из жестких дисков устанавливается CD-ROM, а после производится обратная замена.
Размер iso-образа дистрибутива – 30,2 Мб, записываем его на диск и загружаемся. В процессе инициализации системы будут выданы сообщения о наименовании жестких дисков (CD cd0, disk0 и т. д) и найденных сетевых устройств. После загрузки будут выданы установки системы по умолчанию: LAN-сетевой интерфейс и его IP-адрес. Вся первоначальная настройка происходит при помощи консоли установки – FreeNAS console setup.
"FreeNAS console setup"
"*********************"
1) Interfaces: assign network ports
2) Set up LAN IP address
3) Reset webGUI password
4) Reset to factory defaults
5) Reboot system
6) Ping host
7) Install on HD/CF/USB Key
8) Shell
9) PowerOff system
|
На первом этапе необходимо установить систему на жесткий диск (все данные будут уничтожены). Для этого нажимаем 7 и попадаем в меню настройки:
"FreeNAS Install"
"*********************"
1) Install on HD, CF or USB key: Create 1 UFS partition
2) Install on HD: Create 2 UFS partitions (FreeNAS and DATA)
3) Return to main menu
|
Выбор 1-го пункта позволит установить FreeNAS на жесткий диск, который может быть использован только для загрузки.
Если вы планируете использовать только один диск в системе (для загрузки и хранения информации), то выбирите 2-й пункт. В этом случае в пределах одного слайса будет создано два раздела: небольшой 17 Мб для FreeNAS и остальное пространство будет отведено под данные.
Для установки потребуется ввести имя исходного привода CD-ROM и затем имя диска, на который будет производиться установка. Программа установки покажет все найденные в системе устройства, и вам потребуется только выбрать и ввести необходимое название. В моем случае это были acd0 и ad0 соответственно.
После установки программа сообщила, что FreeNAS был установлен на первый раздел ad0s1 слайса. Система подсказывает, что, для того чтобы использовать созданный раздел с данными, необходимо добавить диск на странице Disks:Management и точку монтирования на странице Disks:Mount point.
Запомним это. Нажимаем для продолжения и, выбрав 5-й пункт консоли, перезагружаем систему.
Теперь загружаемся уже с жесткого диска и для настройки сетевых интерфейсов в меню выбираем 1-й пункт. Будет выведен список найденных устройств (в том числе и fireware), активированное сетевое устройство будет помечено как up.
Если в системе установлено несколько сетевых карт, то, кроме LAN-интерфейса (в моем случае это ed0), система запросит выбрать и Optional 1 и пр. Вместо цифры можно указать букву a (т.е. auto-detection), тогда система сама попробует определить интерфейс, нажав на , можно перейти к следующему этапу.
Для справки, сервер FreeNAT не поддерживает маршрутизацию между интерфейсами, поэтому передача данных из одной сети в другую через сервер невозможна. Несколько интерфейсов можно использовать только для доступа к серверу FreeNAS из разных сетей.
После перезагрузки в пункте 2 устанавливаем для LAN IP-адрес (как пример, 192.168.0.1) и сетевую маску (как обычно, 255.255.255.0 или в CIDR нотации – 24). Дополнительные интерфейсы настраиваются исключительно при помощи веб-браузера.
Воспользовавшись пунктом 6, можно попробовать пропинговать любой узел в сети. Если все нормально, монитор, клавиатуру и прочие лишние устройства можно отключить и в дальнейшем работать удаленно, через веб-интерфейс.
Веб-интерфейс FreeNAS
В строке веб-браузера набираем http://192.168.0.1. Для регистрации используем пользователя admin и пароль freenas (его можно сбросить при помощи 3-го пункта).
Рисунок 1. Вся настройка происходит посредством удобного веб-интерфейса
Как видите из рис. 1, через веб-интерфейс доступно семь разделов настроек. Чтобы легче было ориентироваться, все основные параметры сведены в таблицу.
Разделы веб-интерфейса FreeNAS
Раздел
|
Подразделы
|
Назначение и осуществляемые настройки
|
System
|
General Setup
|
Установка имени сервера, адресов DNS-серверов, изменение пароля администратора, протокола работы WebGUI http/https, при необходимости и порта, на котором он будет работать (по умолчанию 80/443), часового пояса, данных NTP-серверов
|
Static routes
|
Управление маршрутизацией
|
Firmware
|
Загрузка и установка обновлений
|
Advanced
|
Установка сгенерированных на внешних источниках SSL-ключей и сертификатов, отключение «Console menu», проверки обновлений, спикера, включение демона S.M.A.R.T и некоторые другие настройки
|
Interfaces
|
LAN и пр.
|
Настройка сетевых интерфейсов. Здесь можно установить IP-адрес, шлюз, изменить MTU, выставить скорость интерфейса и режим работы – half/full duplex, а также Device polling, позволяющий регулировать опрос сетевых устройств
|
Disks
|
Management
|
Управление дисками, форматирование разделов под UFS, FAT и Software RAID, инициализация iSCSI
|
Software RAID
|
Создание и управление, получение информации о Software RAID
|
Mount Point
|
Работа с точками монтирования
|
Services
|
–
|
Настройка протоколов CIFS, FTP, NFS, RSYNCD, SSHD и AFP. По умолчанию все отключено, поэтому первоначально необходимо активировать протокол, установив Enable в правом верхнем углу во вкладке, соответствующей нужному протоколу
|
Access
|
–
|
Настройка локальных пользователей и групп, а также параметров доступа к Active Directory. Пункты NIS и RADIUS пока не работают
|
Status
|
–
|
Просмотр системной информации (загрузка системы, процессы), сетевых проводных и беспроводных интерфейсов, дисковых устройств
|
Diagnostics
|
Logs
|
Просмотр файлов журналов (системных и сетевых сервисов) и настройка отправки выбранных сообщений внешнему syslog-серверу
|
Informations
|
Вывод информации о дисках, дисковых разделах и свободном месте, SMART, точек монтирования, статус программного RAID, iSCSI. И сюда же поместили статус Active Directory
|
Ping/Traceroute
|
Выполнение команд ping и traceroute, для чего достаточно ввести IP-адрес или имя узла. Доступно изменение ряда параметров (интерфейс, количество попыток, максимальное количество узлов)
|
Execute command
|
Здесь можно вручную выполнить любую команду на сервере, результат будет выведен в браузере, поддерживается история команд. Кроме того, отсюда можно загрузить файлы с сервера и на него
|
ARP Table
|
Вывод ARP-таблицы (соответствие IP- и МАС-адресов, и имени узла)
|
Backup/restore
|
Сохранение и восстановление настроек системы
|
Factory defaults
|
Установка первоначальных параметров (возможно и через пункт 4 – «console setup»)
|
Reboot system
Shutdown system
|
Перезагрузка и выключение сервера
|
Настройка NAS в рабочей группе
Оливер Кохард, по его словам, будет активно заниматься документацией проекта уже после релиза 1.0, сейчас на сайте доступен документ «FreeNAS Setup and User guide», который дает довольно общие понятия процесса (хотя почитать его следует). Поэтому в завершение статьи небольшой практический пример. Настроим FreeNAS с одним диском в небольшой рабочей группе, использующей в качестве клиентов компьютеры с MS Windows.
После регистрации в системе необходимо первым делом установить имя сервера, протокол работы сменить на защищенный и поставить новый пароль администратора, а также выбрать свой часовой пояс. Заходим в «System: General setup» и заполняем соответствующие поля (рис. 2). Для того чтобы изменения вступили в силу, потребуется перезагрузка системы, но это можно сделать и после выполнения следующей операции.
Рисунок 2. В пункте «System: General setup» настраиваются основные параметры сервера
В «Disks: Management» нажимаем на «+» и попадаем в пункт, позволяющий добавить новый диск. Выбираем в выпадающем списке «Disk» диск, с которым будем работать (рис. 3), при необходимости устанавливаем для него режим работы UDMA, параметры перехода в standby, Advanced Power Management и acoustic. После чего нажимаем «Add». Новый диск появится в «Disks: Management», остальные диски добавляются аналогично. После того как в систему будут добавлены все диски, нажимаем «Аpply changes», для подтверждения изменений и теперь перезагружаемся.
Рисунок 3. Окно добавления нового диска
Чтобы зайти на сервер через веб-консоль, используем уже протокол HTTPS, т.е. адрес выглядит так: https://192.168.0.1/, после чего принимаем сертификат сервера.
Диски добавлены, теперь очередь точек монтирования. Выбираем в «Disks: Mount Point» и нажимаем «+». В выпадающем меню «Disk» (рис. 4) выбираем жесткий диск, в «Partition» – номер раздела в слайсе (первый раздел сейчас занят под систему, поэтому выбираем 2), в «File System» устанавливаем файловую систему UFS и заполняем поля «Share Name» и описание ресурса «Description». Далее нажимаем «Save» и в основном окне «Apply changes».
Рисунок 4. Создание новой точки монтирования
Теперь необходимо сделать доступным новый дисковый ресурс по сети. Переходим в «Services: CIFS», для включения сервиса ставим галочку в Enable (рис. 5). В поле «Authentication» выбираем метод аутентификации (анонимный, локальный и Active Directory). Последнего сервиса в маленькой группе нет, если выставить Anonymous, то доступ к серверу сможет получить любой пользователь сети. Мы же хотим ограничить доступ для непрошеных гостей и поэтому выставляем «Local User». В полях NetBiosName и Workgroup прописываем имя сервера, под которым он будет виден в сети NetBios, и рабочую группу. Параметр «Dos charset» выбираем как ACSII, иначе русских букв в именах файлов вам не видать. При установке «Time server» в «Yes» сервер FreeNAS может выступать сервером времени для клиентов. Закончив со всеми настройками, жмем «Save».
Рисунок 5. Настройка доступа к серверу для Windows-сети
Теперь последний шаг – создание локальных пользователей. Здесь все так же просто. Сначала необходимо создать хотя бы одну группу, если поступить наоборот, то это может привести к ошибкам и в тяжелой ситуации к использованию «Factory defaults». Переходим в «Access: Users: Groups», нажимаем «+» и вводим название группы (например, user) и ее описание. Теперь в «Access: Users» заводим пользователя, указав имя, пароль, группу. Для отдельных пользователей можно разрешить доступ к серверу по SSH, включив «Full Shell» (администратору он разрешен по умолчанию).
Рисунок 6. Добавление локального пользователя
В будущих версиях планируется указывать и сетевой интерфейс, с которого смогут регистрироваться пользователи.
Если сейчас набрать в строке браузера на клиенте etbios-имя (или 192.168.0.1), то после ввода имени и пароля пользователя увидим новый ресурс, в котором можно читать и создавать файлы.
Рисунок 7. FTP-сервер FreeNAS не умеет отображать имена файлов в кириллице
К сожалению, при использовании для аутентификации локальных пользователей FreeNAS не позволяет тонко ограничить доступ пользователей к имеющимся ресурсам, все легитимные пользователи получат одинаковый доступ ко всем папкам.
Сервер FTP настроить так же легко, только у меня не получилось добиться вывода русских имен файлов, тогда как с SMB таких проблем не было.
Подводим итоги
Дистрибутив сам по себе интересен. В нем сочетаются небольшой размер, хорошие возможности, интерфейс, обеспечивающий удобство настройки и понятный даже новичку. Для повседневной работы его возможностей более чем достаточно, командную строку придется задействовать только для более тонких настроек. Как бы то ни было, FreeNAS является хорошей альтернативой для построения простого NAS сервера, без необходимости установки полной версии GNU/Linux или какой то из BSD-систем.