Компания Network Appliance изобрела новый рецепт внедрения файловых сервисов NFS в сети UNIX.


Рождение продукта
Архитектура FAServer
Жить нельзя на свете без...
О снимках
О важности согласования
Установка FAServer
Для чего нужен FAServer?
Лучший продукт со времен ...
ИТОГ ИСПЫТАНИЙ
FAServer 450

Сетевая файловая система (Network File System, NFS) пользуется огромной популярностью в сетях UNIX, и недаром. Ключевое слово в названии и основная причина столь высокой популярности - "сетевая". Когда NFS еще не существовало, для получения доступа к файлам, лежащим на другом компьютере - запуска программы (если интересующий файл был программой) или доступа к данным, - приходилось сначала перенести интересующий файл на файловую систему вашего компьютера. На машинах под UNIX перенос файла с удаленного компьютера обычно включал использование UNIX-программы передачи файлов (ftp). Только после того, как файл оказывался в файловой системе вашего компьютера (на жестком диске или на дискете), можно было осуществлять доступ к этому файлу.

В середине 1980-х, благодаря усилиям компании Sun Microsystems (Маунтин Вью, шт. Калифорния), работать с рассредоточенными по сети файлами стало значительно проще. Компания разработала NFS и начала бесплатную выдачу лицензий на свою разработку; в скором времени новый продукт Sun Microsystems получил широкое распространение в качестве файловой системы для машин под UNIX.

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

С введением NFS файловая система стала независима от операционной системы. Почти все поставщики программного обеспечения TCP/IP для компьютеров под MS-DOS и Windows предлагают программное обеспечение клиента NFS. Иногда они же предлагают и NFS-серверы. Клиент NFS может подключиться к серверу NFS и смонтировать файловую систему NFS. Термин "монтировать" - пережиток тех времен, когда в дисковых устройствах использовались сменяемые наборы дисков, и перед использованием дисковода требовалось смонтировать диски. Сегодня по-прежнему необходимо логическое монтирование - операционная система сканирует структуру файлов перед тем, как признать том корректным. Сервер NFS предоставляет файловую систему для клиентов NFS. Поскольку поставщики программного обеспечения TCP/IP для Macintosh стали предлагать решения для NFS компьютеры Macintosh тоже могут принять участие в этой гонке за межоперабельностью.

Большинство систем UNIX поддерживает одноранговые сети: они могут выступать и как серверы NFS, и как клиенты NFS. Поэтому неудивительно, что во многих сетях UNIX функции серверов выполняют обычные рабочие станции, работающие под обычной операционной системой. Тем не менее, производительность сер- вера можно увеличить за счет оптимизации аппаратуры и программного обеспечения для серверных приложений. Именно это и сделала компания Network Appliance (Маунтийн-Вью, шт. Калифорния).

Рождение продукта

Философия компании Network Appliance определяется созданием специализированных сетевых продуктов, приборов. Иными словами, эти продукты делают только одну вещь, но делают ее очень хорошо. С точки зрения компании, продукт должен быть экономичным, простым в использовании и обслуживании. Компания предлагает семейство серверов NFS под названием FAServer - семейство "тостеров" NFS, если хотите. Network Appliance стремится стать лидером по поставкам подобных приборов, и, как показал анализ FAServer 450, новый продукт поможет компании достичь намеченной цели.

FAServer 450 создавался как сервер NFS. Этот продукт обеспечивает стандартные сервисы NFS 2.0 для любого клиента NFS. На FAServer 450 установлена специальная операционная система реального времени, оптимизированная для передачи файлов. Эта компактная UNIX-подобная операционная система занимает всего 600 Кб памяти, так что высвободившаяся оперативная память может быть использована для кэширования диска. Сервер поддерживает telnet, а также последовательный терминал для конфигурирования и удаленного администрирования, SNMP для сообщений и управления сетью и rdump/rsh для удаленного резервирования на ленту. Команда dump, в свою очередь, поддерживает резервное копирование на несколько лент и библиотеки лент, благодаря чему процесс резервного копирования становится еще более автоматизированным.

FAServer 450 представляет собой башню высотой в 31 дюйм. Чтобы облегчить работу с этим далеко не легким продуктом (70 фунтов в минимальной конфигурации) башня смонтирована на роликах. Ролики позволяют выкатывать FAServer 450, если необходимо получить доступ к внутренним компонентам. Той же цели служат съемные боковые панели. Выключатель питания защищен дверкой - это необходимая мера предосторожности, поскольку башня обычно ставится на пол, и кто-нибудь может случайно коленом задеть выключатель и отключить питание.

Цены на рабочие станции под UNIX, как правило, значительно выше, чем цены на ПК. Несмотря на то, что средняя рабочая станция обеспечивает гораздо более высокую производительность, чем средний ПК, также верно, что стоимость оборудования или программного обеспечения для рабочей станции выше, чем стоимость аналогичных продуктов для ПК. Например, за дисковую подсистему или сетевой интерфейс рабочей станции придется заплатить значительно больше, чем за те же продукты (с аналогичной производительностью и набором характеристик) для ПК. Основная причина этого кроется в более высоком объеме продаж на рынке ПК.

Имеющий место ценовой дисбаланс на руку Network Appliance. Подход компании к обеспечению максимума возможностей NFS за минимальную сумму заключается в сборке серверов из высокопроизводительных новейших компонентов класса ПК (процессоров, SCSI-контроллеров, Ethernet-контроллеров, дисковых устройств и т. д.). В FAServer 450 используется стандартная материнская плата с процессором Intel 80486 и шиной расширения EISA.

Сейчас, когда последним словом техники считается использование нескольких процессоров, в FAServer имеется только один. Это решение разумно, так как файловые серверы редко страдают от недостатка вычислительной мощности. Использование нескольких процессоров могло бы принести некоторые выгоды в случае, если бы FAServer был сервером баз данных или приложений. Основная проблема файлового сервера - перегруженность дискового и сетевого ввода/вывода, и для достижения высокой производительности необходимо решать именно эту проблему.

Система поставляется с 64 Мбайт оперативной памяти, которая может быть расширена до 256 Мбайт. Поддерживается до 14 жестких дисков и 2 адаптера SCSI-2. Емкость жестких дисков составляет 1 Гбайт, 2 Гбайт и 4 Гбайт. Максимальная емкость, таким образом, составляет 52 Гбайт. Конфигурация дисков обеспечивает уровень отказоустойчивости RAID 4. Интерфейс Ethernet - стандартный, также доступны интерфейсы FDDI и CDDI (FDDI на неэкранированных витых парах), одиночного и двойного подключения.

Архитектура FAServer

Базовая архитектура программного обеспечения FAServer изображена на Рис. 1. Группа тесно взаимосвязанных вычислительных модулей обрабатывает запросы NFS; запрос инициируется драйвером сети (в левом нижнем углу) и движется вверх через слои сетевых протоколов, файловую систему и, в конце концов, если это необходимо, генерирует ввод/вывод на диск или с диска. Когда файловая система заканчивает обработку запроса, она посылает ответ по сети. Верхний администра- тивный уровень поддерживает UNIX-подобный интерфейс командной строки для мониторинга и управления за нижележащими модулями. Помимо изображенных модулей имеется простое ядро, функционирующее в реальном времени и обеспечивающее базовые сервисы, например создание процессов, выделение памяти, передача сообщений и обработка прерываний.

Picture 1 (1x1)

Рисунок 1.
Многозадачное ядро для работы в реальном времени обеспечивает базовые сервисы для всей системы. Группа тесно связанных модулей обрабатывает запросы NFS. Верхний, административный уровень поддерживает UNIX-подобный интерфейс командной строки для мониторинга и управления нижележащими модулями.

Сетевой слой ведет свое происхождение от разработанного в Berkeley кода, как и большинство UNIX-систем; в него были внесены некоторые модификации, позволяющие эффективно связываться с файловой системой FAServer. В настоящее время FAServer поддерживает только TCP/IP (включая UDP), однако в будущем предполагается поддержка и других протоколов.
Одно из самых замечательных достоинств FAServer - его дисковая система. FAServer поддерживает RAID 4. Один из дисков цепочки SCSI зарезервирован для битов четности. Если блок данных испорчен, данные восстанавливаются по битам четности и затем записываются на неповрежденный блок. Если откажет целый диск, данные будут вычислены "на лету", без замедления работы сервера. После замены отказавшего диска восстановленные данные автоматически записываются на новый диск. Пользователь даже не узнает, что были проблемы с дисками.

Жить нельзя на свете без...

В FAServer используется специальная файловая система с оптимизацией работы NFS в дисковой системе RAID 4. Система записи файлов в произвольные места (Write Anywhere File Layout, WAFL) во многом похожа на большинство файловых систем UNIX: она базируется на блоках по 4 Кбайт, использует описатели файлов (наборы указателей на местонахождение блоков файла или других описателей) и рассматривает каталоги как особые виды файлов. WAFL отличается от всех других систем тем, как она записывает информацию на диск. У большинства файловых систем UNIX есть выделенные места для записи особых файлов, ключевых для функционирования файловой системы: файл описателей, файл с картой свободных блоков и файл с картой свободных описателей. WAFL рассматривает эти особые файлы как обычные и может записать их на любое место на диске (отсюда и название системы записи). Так как файлы могут располагаться где угодно, WAFL работает очень быстро. Новые данные записываются на ближайший свободный блок - нет необходимости перемещать записывающие/считывающие головки диска в заданное место диска.

О снимках

"Снимки" - еще одна новинка, в FAServer. Снимок - это образ состояния файловой системы в данный момент времени. Чтобы понять механизм снимка в подробностях, см. Рис. 2а) упрощенная диаграмма файловой системы; b) создание снимка посредством дублирования структуры корня; с) модификация блока D; файловая система указывает на новые данные в D", тогда как снимок все еще указывает на старые данные в D. (он состоит из трех частей: a, b и c). На Рис. 2a представлена концепция файловой системы. Данные хранятся на дисковых блоках A, B, C, D и E. Как и в большинстве файловых систем UNIX, в FAServer используются блоки величиной 4 Кбайт, в связи с этим большие файлы занимают несколько блоков. Корневой описатель (на рисунке - прямоугольник "Активная файловая система") содержит указатели на все блоки данных.

Picture 2 (1x1)

Рисунок 2.
Снимки - часть новаторского решения проблемы обновления данных. FAServer использует снимки для создания статических образов корневой структуры.

Чтобы сделать снимок, необходима копия структуры корня (набора указателей на блоки данных), как показано на Рис. 2b. Заметьте, что и активная файловая система, и снимок указывают на одни и те же блоки диска. Теперь рассмотрим, что произойдет, если данные, записанные в одном из блоков, будут обновлены.

На Рис. 2c блок D обновлен. В большинстве файловых систем обновление данных происходит путем записи новой информации поверх старой. Но файловая система FAServer оставляет блок D без изменений; вместо изменения блока она находит ближайший свободный блок и записывает новые данные туда. На Рис. 2 новый блок обозначен D" (D штрих). Активная файловая система модифицирует свой указатель на блок D так, что он указывает на D". Однако снимок - статический образ, не подверженный изменениям, и он все еще указывает на блок D.

Итак, у нас имеется два образа файловой системы: "активный" образ, отражающий текущее состояние системы, и снимок, отражающий состояние файловой системы в некоторый момент времени в прошлом. Сервер может одновременно хранить до 20 различных снимков. Снимки делаются и вручную, и с помощью FAServer, автоматически, в соответствии с определенным заранее графиком. Пользователи могут получать доступ к снимкам только для чтения. В каждом каталоге содержится скрытый подкаталог .snapshots, в котором хранятся старые версии файлов. Так как у пользователей имеется доступ к этому подкаталогу, им не придется беспокоить системного администратора по вопросам восстановления утерянных файлов. Пользователю достаточно скопировать интересующий файл из подкаталога снимков.

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

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

О важности согласования

Каждые 10 секунд FAServer делает специальный снимок, называемый точкой согласования. Точка согласования используется сервером при начальной загрузке, что избавляет от необходимости проводить длительную проверку файловой системы после каждого сбоя системы или выключения питания. Необработанные запросы NFS, отсутствующие в точке согласования, хранятся в энергонезависи- мой оперативной памяти (NRAM). NRAM - это не кэш диска, а журнал запросов. Благодаря использованию журнала запросов существует гарантия, что файловая система не будет непоправимо испорчена при сбое NRAM: в результате такого сбоя можно потерять лишь транзакции NFS за последние несколько секунд. Благодаря сочетанию точек согласования и энергонезависимой оперативной памяти, FAServer быстро и гарантированно восстанавливается после сбоев (обычно процесс восстановления не занимает больше одной-двух минут).

FAServer поддерживает до 52 Гбайт памяти. Многим системным администраторам знакомо "удовольствие" от монтажа системы из нескольких дисков, ведь в большинстве версий UNIX поддерживаются только тома на 2 Гбайт. Однако дисковая система FAServer не страдает от подобного ограничения; дисковые устройства сервера автоматически рассматриваются как один раздел, таким образом, вся огромная память становится доступной для клиентов NFS. Но не стоит забывать об осторожности: многие версии UNIX будут выдавать сообщения об ошибочном размере диска из-за ограничения в 2 Гбайт.

Установка FAServer

Тестируемый FAServer 450 прибыл во внушительном деревянном ящике, открывать который следовало в соответствии с приложенной инструкцией. Видимо, компания Network Appliance стремится избежать повреждений своих продуктов при транспортировке. После настройки было проведено тестирование системы с жестким диском на 3 Гбайт и оперативной памятью на 32 Мбайт.

Следующий шаг после распаковки - установка жестких дисков. Обе боковые панели FAServer 450 могут быть сняты для установки дисков. Руководствуясь инструкцией и метками, мы установили диски, затем подключили кабели, подтянули шурупы и поставили боковые панели на место. Корпус FAServer оказался прочным, а все компоненты - легко доступными.
В FAServer имеется RS-232-соединение с терминалом для начального конфигурирования. Ни один из наших портативных компьютеров не удалось подключить с помощью поставляемого кабеля. Не подошли ни Terminal под Windows, ни Hyperterm под Windows 95. Так как поставленный кабель на конце имел вилку DB-25, а на большинстве персональных компьютеров используется последовательный кабель с розеткой на конце, мы предположили, что компания Network Appliance имела в виду настоящий терминал. Наконец, порывшись в подвале, мы отыскали терминал IBM 3151, который действительно подошел.
При включении питания процесс загрузки сначала выдает на экран аппаратную конфигурацию, а затем входит в программу настройки, которая автоматически создает конфигурационные файлы в соответствии с вашими ответами на предлагаемые вопросы. Конфигурационные файлы хранятся в каталоге /etc.

Программа настройки запрашивает обычную информацию для настройки IP: имя хоста сервера, IP-адрес, IP-маску подсети, тип среды сети, имя и адрес хоста шлюза (маршрутизатора). Если установлено несколько сетевых плат, то будут заданы вопросы об адресах, масках подсети и типах среды для каждого интерфейса.

Затем программа настройки запрашивает имя хоста и IP-адрес администратора. Хост администратора определяется как единственный компьютер клиента NFS, с которого можно монтировать каталог /etc и, таким образом, получать доступ к этому каталогу, с хранящимися в нем конфигурационными файлами.

Настройка завершается запросом часового пояса и пароля. По умолчанию устанавливается американское тихоокеанское время; о других вариантах выбора программа настройки ничего не сообщает. Однако, покопавшись в руководстве, я обнаружил там перечень значений для задания часовых поясов. Задание пароля - наиболее важный шаг. Именно пароль вместе с программой telnet позволит получить доступ к серверу: любому пользователю ничего не стоит изменить вашу конфигурацию.

После начального конфигурирования изменения в конфигурацию можно вносить с помощью telnet. Продвинутое конфигурирование осуществляется с помощью NFS для монтирования каталога/etc на компьютере администратора и редактирования вручную нескольких стандартных конфигурационных файлов UNIX. Стандартная конфигурация устанавливает для всех пользователей директорию /home с разрешением чтения и записи.

После настройки мы подсоединили FAServer к рабочей станции Sun SPARCstation 20 под Solaris 2.4. Пользователи могут сами создавать свои собственные каталоги, а могут доверить их создание и назначение корневому бюджету. Не считая времени, затраченного на поиск терминала, потребовалось меньше часа на то, чтобы распаковать FAServer, задать его конфигурацию и смонтировать файловую систему. Определенно, FAServer обладает самой простой и самой быстрой настройкой среди UNIX-подобных систем, с которыми нам приходилось иметь дело.

Тестирование сравнительной производительности FAServer показало, что при работе одного пользователя чтение и запись на FAServer происходят быстрее, чем на серверах SPARCstation 2 и SPARCstation 10. Однако при наличии нескольких запросов на чтение и запись FAServer проигрывает в производительности мощным UNIX-серверам, таким как HP 9000 H50. Зато по цене FAServer опережает мощных конкурентов -цена тестируемой системы около $30000, а аналогичная конфигурация HP 9000 H50 стоит вдвое дороже.

Для чего нужен FAServer?

Итак, среди прозвучавших хвалебных дифирамбов FAServer, пора задуматься и о его практическом применении. FAServer - это всего лишь сервер NFS, поддерживающий только TCP/IP-сети. На каждом компьютере-клиенте, желающем получить доступ к серверу, должна быть установлена поддержка сетевого протокола TCP/IP и программное обеспечение клиента NFS. Не секрет, что многие клиенты NFS для Windows и Macintosh медлительны и сложны в эксплуатации; мы бы не советовали покупать FAServer для сети из персональных компьютеров. FAServer хорош для рабочих групп с рабочими станциями под UNIX или в качестве центральной файловой системы для других UNIX-серверов.

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

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

Лучший продукт со времен ...

FAServer 450 - отличный пример сервера, предназначенного для выполнения одной определенной задачи (на фоне файлового сервера NFS). FAServer выполняет только NFS, остальные сервисы исключены. Это позволило повысить производительность, снизить стоимость, упростить инсталляцию и обслуживание. Цена FAServer сопоставима с ценами на многоцелевые UNIX-серверы низшего класса, однако производительность и простота в использовании первого оставляет вторых далеко позади.

Администрирование FAServer предельно просто, особых усилий оно не потребует: можно включить сервер и практически забыть о его существовании. Для установки и сопровождения FAServer достаточно базовых знаний UNIX и NFS. Благодаря наличию снимков, пользователи не будут беспокоить администратора по вопросам восстановления утерянных файлов: любой пользователь способен сам восстановить все интересующие его файлы. Резервное копирование упрощено, так как данные хранятся в системе, а FAServer даже поддерживает прямое подключение к серверу до двух накопителей на магнитной ленте.
Если ваши пользователи в основном работают на рабочих станциях под UNIX, вам стоит подумать о FAServer. Этот сервер стал великолепным дополнением нашей сети. Думается, что FAServer положил начало тенденции создания серверов для решения конкретных задач.

Добро пожаловать в мир сетевых приборов.


Дерек К. Джонс - старший консультант компании BellSouth Network Solutions (BNS, Атланта). С ним можно связаться через Internet по адресу: djones@bns.com.

Итог испытаний

FAServer 450

Network Appliance
319 N. Bernardo Ave.
Mountain View, CA 94043
(800) 443-4537
(415) 428-5100
Факс: (415) 428-5151
info@netapp.com
http://www.netapp.com

Цена: $30555. Это базовая цена, в нее включены также стоимость двух жестких дисков по 2 Гбайт.

Требования: Сеть Ethernet (или, как опция, FDDI), поддерживающая TCP/IP-протоколы; сетевой клиент; совместимость с NFS 2.0.

FAServer - выделенный высокопроизводительный сервер сетевой файловой системы (Network File System, NFS). NFS - это протокол пересылки файлов, разработанный компанией Sun Microsystems для рабочих станций под UNIX. FAServer представляет собой компактную UNIX-подобную операционную систему на базе процессора Intel. В отличие от большинства систем UNIX, в FAServer отсутствуют все сервисы, не являющиеся необходимыми для обеспечения файловых сервисов NFS.
Установка: Быстрая и простая - достаточно подключить сервер, включить питание и ответить на вопросы о конфигурации сетевого интерфейса. Так как данный продукт создан на основе UNIX, для правильного использования и конфигурирования необходимы базовые знания UNIX и NFS.

Документация: Ясно изложенная, с иллюстрацией всех возможностей, очень полезная. "Руководство системного администратора" не содержит и 250 страниц, но тем не менее отличается широтой охвата и четкостью изложения. В нем освещаются все опции инсталляции, все возможности и принципы системы.

Гарантия: Один год (запчасти и обслуживание). Включает и обслуживание на месте (на следующий рабочий день после вызова).

Техническая поддержка: Отличная. Бесплатная телефонная поддержка доступна круглосуточно и семь дней в неделю в течение одного года.

Простота в использовании: Администратору необходимо иметь базовые знания о UNIX и NFS. Администрирование производится с помощью инструментария командной строки.

Надежность/совместимость: Продвинутые возможности файловой системы (RAID, снимки, точки сохранения и энергонезависимая оперативная память) делают FAServer очень надежным сервером NFS. На FAServer реализована NFS 2.0 и поддерживается любой из имеющихся клиентов NFS.

Применение: FAServer - превосходный выбор для мелких и средних рабочих групп.

Тестовая среда: Сеть Ethernet; в качестве клиента использовалась рабочая станция Sun SPARCstation 20 под Solaris 2.4.