Russian Language English Language

3 Модели и методы для обоснования выбора состав программных средств ВС

3.1 Оптимизация операционной системы LINUX с целью построения DNS-серверов различного назначения

3.2 Эффективный алгоритм кэширования в кэширующем прокси – сервере

3.3 Сравнение производительности буферов памяти для Linux и BSD (статья на английском языке)


Экспресс информация

Редколлегия журнала

Подписка на новости

Гостевая книга

Предоставление материалов

Письмо в редакцию

На начало


2003, Номер1, ( 3)



Place for sale
Оптимизация операционной системы Linux с целью построения DNS-серверов различного назначения

BC/NW 2003г., №1(3)/ 3.1

 

 

 

Оптимизация операционной системы Linux с целью построения DNS-серверов различного назначения

 

 

Осадчиев А.А., Островский В.Ю.

 

 

г. Москва, Московский энергетический институт (технический университет), Россия

 

 

 

DNS – служба доменных имен является одной из важнейших служб при работе со стеком TCP/IP. Свойство распределенности службы DNS дает возможность локально управлять отдельными сегментами общей базы, а также позволяет сделать данные этого сегмента доступными всей сети.


Задачи оптимизации

Для максимальной скорости работы DNS-сервера нужна не только современная аппаратура, но правильно выбранная конфигурация самой операционной системы. Можно выделить два основных направления связанных с оптимизацией операционной системы Linux для построения DNS-серверов различного назначения:
  • Задача оптимизации жесткого диска и выбора файловой системы по критерию повышения скорости работы и защиты файловой системы от сбоев. В данной работе производительность – время выполнения операций чтения и записи файловой системой в секундах. Рассмотрим три варианта различных DNS-серверов (корневой DNS-сервер, DNS-сервер первого уровня и корпоративный DNS-сервер).
  • Задача оптимизации ядра операционной системы и программного обеспечения по критерию повышения скорости работы, т.е. выбор конфигурации под конкретную машину и перекомпиляция ядра с оптимизацией по скорости. Перекомпиляция программного обеспечения с оптимизацией по скорости.
  • Задача оптимизации жесткого диска и выбора файловой системы по критерию повышения скорости работы и защиты файловой системы от сбоев.

Рассмотрим пример того, как пользователь вводит в браузере адрес страницы кафедры ВМСС (Рис 2). Локальный DNS-сервер запрашивает у корневого сервера адрес vmss.mpei.ac.ru и получает ссылку на DNS-сервер домена ru. Локальный DNS-сервер повторяет запрос DNS-серверу домена ru и получает ссылку на DNS-сервер ac.ru. Снова повторяется запрос теперь DNS-серверу домена ac.ru и получает ссылку на DNS-сервер mpei.ac.ru. И, наконец, локальный DNS-сервер получает искомый адрес от DNS-сервера mpei.ac.ru.

Так как служба доменных имен – это распределенная база данных, то ее сегменты распределены по различным серверам. На каждом из них храниться информация о доменах, поддоменах и узлах.

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

Задача оптимизации ядра операционной системы и программного обеспечения по критерию повышения скорости работы

Решение данной задачи состоит в тонкой конфигурации ядра операционной системы, выборе необходимых для конкретного сервера опций и исключение тех опций, которые не являются критичными, его перекомпиляции с опциями максимальной производительности по скорости. Также необходимо перекомпилировать некоторое программное обеспечение также для получения наибольшей производительности по скорости. Есть смысл в тонкой настройке стека протокола TCP/IP.


Проблемы, возникающие со стандартной файловой системой Ext2fs в ОС Linux

Файловая система обеспечивает целостность данных, контролируя идентичность данных при их записи и последующем чтении. Также, помимо хранения данных, находящихся в файлах, файловая система хранит и управляет важной информацией о файлах и о самой файловой системе (информация о дате, времени, владельце, правах доступа, размере файла, а также носителе информации и местонахождении файлов на диске и т.д.). Такую информацию называют метаданными.

 

 

Рис.1.1.1 Выполнение DNS запроса

Проблема потери и искажения данных в Ext2fs

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

  • Сбой произошел после сохранения файла с данными зоны. Это самый оптимистичный сценарий, мы ничего не потеряли, кроме времени, которое требуется на перезагрузку DNS-сервера.
  • Сбой произошел до сохранения файла с данными зоны. В этом случае все несохраненные изменения будут утеряны, однако, старая версия файла с данными зоны по-прежнему на месте.
  • Сбой произошел в момент сохранения файла с данными зоны или в момент изменения метаданных. Это худшее из того, что могло произойти. Новая версия файла записывается поверх старой, и происходит изменение метаданных. Если метаданные были изменены корректно, но сбой произошел во время сохранения файла, то получится файл, частично состоящий из новой версии и частично – из старой, т.е. файл, содержащий данные зоны будет содержать ошибки и DNS-сервер не будет работать или будет работать не корректно. Если произошла ошибка в метаданных, то файл, содержащий данные зоны или даже директория с ним может просто исчезнуть, но блоки данных останутся на диске, или будут читаться некорректно.

Проблема производительности в Ext2fs

Возникает вторая проблема, пока идет сканирование файловой системы, пользователи DNS-сервера не смогут соединиться с узлами, информация о которых хранится на этом DNS-сервере.

Проблема ограничения возможностей и поиска в файловой системе Ext2fs

Еще две проблемы, с которыми мы сталкиваемся в файловой системе Ext2fs, связаны с поиском. Первая проблема возникает при записи в файл, содержащий данные зоны, новой записи. Вторая проблема связана с поиском файлов в больших каталогах. Журналируемые файловые системы, доступные под Linux, являются решением данной проблемы.

Журналирующие файловые системы

Журналирующая файловая система – это устойчивая к сбоям файловая система, которая призвана улучшить восстановление после сбоев в работе системы. Были рассмотрены три наиболее подходящих решения: ReiserFS от Namesys, XFS от SGI и Ext3fs. Для этих файловых систем были предложены решения максимальной производительности для различных DNS -серверов (корневой DNS-сервер, DNS-сервер первого уровня и корпоративный DNS-сервер).

 

Литература

1.     Альбитц П., Ли К. DNS и BIND. – Пер. с англ. – СПб: Символ-Плюс, 2002. -696 с., ил.

2.     Gerhard M.  Securing and Optimizing Linux: RedHat Edition version 1.3, RedHat, 2000. 486 c.

3.     Сивер Э., Спейнауэр С., Фиггинс С., Хекман Д. Linux. Справочник. – Пер. с англ. – СПб: Символ-Плюс, 2001. -912 с., ил.