Книга: Linux глазами хакера

2.3.2. Файловые системы

2.3.2. Файловые системы

Теперь поговорим о файловых системах, с которыми работает Linux. Эта ОС поддерживает множество систем, в том числе и Windows-файловые системы FAT, FAT32 и NTFS, но при установке ОС Linux желательно выбрать родную систему Ext2, Ext3 или ReiserFS (это название часто сокращают до Reiser). Последняя является новинкой и наиболее предпочтительна, потому что включает журналирование, которое делает систему более устойчивой и позволяет быстро восстанавливать ее после сбоев.

Рассмотрим, как работают файловые системы, чтобы вы смогли выбрать оптимальный вариант. В файловой системе Ext2 данные сначала кэшируются и только потом записываются на диск, за счет этого достигается высокая производительность. Но если возникнут проблемы с питанием или произойдет аварийный выход из системы, то компьютер может не успеть сохранить данные. При следующем входе ОС обнаружит нарушение целостности жесткого диска и запустится программа сканирования диска fsck (как scandisk в Windows), которая восстановит его работоспособность, но воссоздать утерянные данные уже не удастся. Сканирование занимает много времени, и это может сказаться на скорости возобновления работы сервера. Будьте готовы к тому, что следующая загрузка будет происходить дольше обычного.

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

У файловой системы ReiserFS есть еще одно преимущество. Данные на жесткий диск записываются блочно. Допустим, что блок занимает 1 Кбайт. Если, например, в FAT32 записать файл размером 0,1 Кбайт, то блок будет уже занят, но в нем останется 90 % пустого пространства, которое нельзя использовать, т.е. происходит утечка памяти на жестком диске. Таким образом, на нем будет храниться немного меньше информации, чем вы ожидали. Файловая система RaiserFS позволяет лучше заполнять блоки.

Утечку наглядно можно увидеть, если в ОС Windows открыть Свойства файла (рис. 2.3). Обратите внимание, что в окне есть два параметра Size (Размер) и Size on disk (Размер на диске). Величина файла 4,95 Кбайт, а на диске он занимает целых 8 Кбайт. Арифметика простая, понятно, что один кластер на диске равен 4 Кбайтам. Размер файла больше этого значения, поэтому ОС пришлось выделить два блока, и второй заполнен менее чем на 25%. Остальное дисковое пространство пропало и не может использоваться.


Рис. 2.3. Окно свойств файла

Если на диск поместить 1000 файлов по 100 байт при размере кластера 4 Кбайта, то каждый из них запишется в свой блок. При этом на диске будет израсходовано 400 Кбайт вместо положенных 100. Потери пространства составят 75%.

Файловая система ReiserFS позволяет записывать в один блок несколько файлов, если их размер менее 100 байт. Таким образом, на диске будет меньше дыр и утечки памяти.

Файловая система Ext3 — новое поколение журналируемых систем и работает по аналогии с ReiserFS. На данный момент она является системой по умолчанию в большинстве современных дистрибутивов Linux. Трудно сравнить по производительности ReiserFS и Ext3, но с точки зрения надежности советую использовать вторую. Стоит согласиться с мнением разработчиков.

Оглавление книги


Генерация: 0.050. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз