Russian Language English Language

Models and methods for a substantiation of the choice of networks software structure

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

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

A comparative study of network management buffers in LINUX and 4.4BSD derivative operating system kernels


Express information

Archive of issues

The journal editoral board

News subscription

Guestbook

Submit of manuscripts

Mail us


Backwards




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

 

 

 

Оптимизация операционной системы 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 с., ил.