Лекция 12 Файловые системы Журналируемые файловые системы Linux.

Презентация:



Advertisements
Похожие презентации
1 БАЗЫ ДАННЫХ ФАЙЛЫ И ФАЙЛОВЫЕ СИСТЕМЫ. 2 ДО ФАЙЛОВЫХ СИСТЕМ Данные Управление ПРОГРАММА 2 Данные Управление ПРОГРАММА 3 Данные Управление ПРОГРАММА 1.
Advertisements

Логическая структура носителя информации. ЛОГИЧЕСКАЯ СТРУКТУРА НОСИТЕЛЯ ИНФОРМАЦИИ Логическая структура носителя информации в файловой системе FAT имеет.
Операционные системы и среды. Схема устройства жесткого диска Дорожка N Сектор (блок) Пластина 1 Пластина 2 Цилиндр 0 сторона Диск – одна или несколько.
Файлы и файловая система Шинкаренко Евгений Александрович МОУ Гимназия 2 г. Черняховск Калининградской области.
Логическая структура носителя информации. ЛОГИЧЕСКАЯ СТРУКТУРА НОСИТЕЛЯ ИНФОРМАЦИИ Логическая структура носителя информации в файловой системе FAT имеет.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Физическая защита данных на дисках. Для обеспечения большей скорости чтения/записи и надёжности хранения записи на дисках используются RAID-массивы (Redundant.
«Особенности файловой системы WinFS» Сравнение с предыдущими файловыми системами.
Логическая структура дисков Физическая структура – совокупность созданных концентрических дорожек на поверхности диска, разделенных на сектора.
ФАЙЛОВЫЕ СИСТЕМЫ Кантемир Творогов jorool
Файловые менеджеры ОГБОУ СПО «Индустриальный техникум г. Сасово» Автор: Палькина Е.Н.
Файл (англ. file) блок информации на запоминающем устройстве компьютера, имеющий определённое логическое представление, соответствующие ему операции чтения-записи.
Лекция 12 Файловые системы NTFS - продолжение. ТТХ.
. Имя метафайла Назначение метафайла SMFT Сам Master File Table SMFTmirr Копия первых 16 записей MFT, размешенная посередине тома SLogFile Файл поддержки.
Структура диска - FAT (File Allocation Table) - NTFS (New Technology File System) 1.
1 Структура диска Файловые системы ОС Windows NT/2000/XP/7 - FAT (File Allocation Table) - NTFS (New Technology File System) Повторение.
Носители информации Энциклопедия учителя информатики Газета «Первое сентября»
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Основы современных операционных систем Лекция 7. (C) В.О. Сафонов,
Транксрипт:

Лекция 12 Файловые системы Журналируемые файловые системы Linux

История JFS (Journaled File System) – IBM 1990 – JFS2. XFS - Silicon Graphics Ext3fs (Third extended file system) – расширение системы et2 с добавлением журналирования RaiserFS – разработка прекращена из за юридических проблем.

Разновидности журналирования Все ФС ведут журнал для буферизации изменений файловой системы. Различные стратегии что и когда заносить в журнал Стратегии Режим обратной записи Режим упорядочивания Режим данных

Разновидности журналирования Обратная запись Журналированию подвергаются только метаданные, а блоки с данными записываются непосредственно на диск Нерушимость структуры файловой системы и защищает от повреждений Повреждение данных возможно, если крах системы наступает после записи метаданных в журнал, но до записи блока с данными Режим упорядочивания В журнал заносятся также только метаданные, но сами данные записываются до журналирования метаданных Согласованность данных файловой системы после восстановления Режим данных В журнал заносятся как метаданные, так и сами данные Низкая производительность, из-за двойной записи данных Когда следует применять изменения? Когда журнал полон. Когда истекает некий таймаут.

inode инодом (или индексным дескриптором) называют структуру данных в традиционных файловых системах Unix. Инод хранит основную информацию о постоянных файлах, каталогах или других объектах файловой системы. Обычно выделяется 1% файловой системы под иноды. Содержится информация определённого рода (права доступа, размер, имя владельца, и т.д.).

Экстент (extent, протяженность) В файловых системах, непрерывная область носителя информации. Как правило, в файловых системах с поддержкой экстентов, большие файлы состоят из нескольких экстентов, не связанных друг с другом напрямую. Главный недостаток сложность реализации файловой системы.

JFS JFS2 (улучшенная журналируемая файловая система) является первой журналируемой файловой системой и долгое время применялась в ОС IBM AIX®, прежде чем была перенесена в Linux. JFS2 - это 64-разрядная файловая система. Масштабируемость и поддержка многопроцессорных архитектур. JFS2 поддерживает упорядоченное журналирование, обладает высокой производительностью и временем восстановления менее секунды. Для повышения быстродействия в ней применяется метод размещения файлов на основе экстентов. Размещение на основе экстентов означает размещение файла в виде нескольких непрерывных участков, а не множества одинаковых блоков. Благодаря непрерывности, эти участки обеспечивают более быстрое чтение и запись. Дополнительное преимущество экстентов - меньшие расходы на работу с метаданными. При размещении файла блоками записи подлежат метаданные каждого блока. Если используются экстенты, то изменяются метаданные для экстентов, которые обычно состоят из нескольких блоков. JFS2 также использует B+-деревья как для эффективного поиска по каталогам, так и для управления дескрипторами экстентов. JFS2 не имеет собственной политики переноса изменений на диск, - вместо этого она основывается на таймауте демона kupdate.

XFS XFS - еще одна из ранних журналируемых файловых систем, первоначально разработанная Silicon Graphics в 1995 году для ОС IRIX. В 2001 году XFS была реализована в Linux XFS использует полноценную 64-разрядную адресацию и обеспечивает очень высокую производительность за счет применения B+-деревьев для размещения каталогов и файлов. XFS хранит данные в виде экстентов, поддерживая переменный размер экстентов (от 512 байт до 64 килобайт). Наряду с экстентами в XFS применяется отложенное размещение, при котором размещение блоков задерживается до тех пор, пока не наступит время их записи на диск. Такая особенность повышает вероятность заполнения подряд нескольких дисковых блоков, поскольку на момент записи будет известно их количество. Другие интересные свойства XFS - это гарантированная скорость ввода/вывода, когда пользователям файловой системы выделяется резерв пропускной способности для операций ввода/вывода, и прямой ввод/вывод, при котором данные копируются напрямую между диском и буфером приложения (вместо того чтобы проходить несколько буферов). Журналирование в XFS ведется методом обратной записи.

Третья расширенная файловая система (ext3fs) ext3fs - наиболее популярная журналируемая файловая система, возникшая как эволюция известной файловой системы ext2. На самом деле она совместима с ext2, так как оперирует идентичными структурами, но с добавлением журнала. Взаимопреобразование. В ext3fs поддерживаются все три стратегии журналирования (обратная запись, упорядочивание и режим данных), однако по умолчанию используется режим упорядочивания. Политику переноса данных журнала на диск можно настраивать, но изначально она такова, что перенос происходит либо по заполнении 1/4 журнала, либо по истечении одного из таймеров переноса. Один из главных недостатков ext3fs происходит из того, что она изначально не задумывалась как именно журналируемая файловая система. Поскольку она основана на ext2fs, в ней отсутствуют многие прогрессивные нововведения, имеющиеся в других файловых системах (например, экстенты). Также она обычно показывает слабую производительность по сравнению с ReiserFs, JFS и XFS, однако меньше нагружает процессор и потребляет памяти, чем многие другие файловые системы.

ReiserFS Файловая система ReiserFS с самого начала создавалась как журналируемая. В 2001 году она была добавлена в главную ветку ядра 2.4 и стала первой журналируемой файловой системой, появившейся в Linux. Основной метод журналирования - упорядочивание. Поддерживается увеличение размера файловой системы "на лету". ReiserFS также поддерживает уплотнение хвостов для динамического уменьшения фрагментации, что позволяет ей обгонять по скорости ext3fs при работе с маленькими файлами. В ReiserFS (также ее называют ReiserFS v3) применяется много современных подходов, например B+-деревья. Формат файловой системы базируется на единственном B+-дереве, что делает операции поиска особенно быстрыми и масштабируемыми. Политика переноса данных из журнала на диск зависит от размера журнала и основана на количестве блоков, требующих переноса. Репутация ReiserFS была несколько раз подпорчена: последний раз - проблемами автора системы с законом. Файл имеет размер, меньший размера логического блока. Вместо того чтобы выделять на каждый такой файл по целому блоку, оставляя часть блока незанятой (хвост), в один блок стараются уместить несколько файлов. Такой способ дает выигрыш в 5% свободного места по сравнению с другими файловыми системами, но негативно сказывается на производительности.

Reiser4 Reiser4, которая была создана полностью с нуля и включает в себя множество передовых возможностей. Улучшенное журналирование в Reiser4 достигается за счет использования блуждающих записей и отложенного размещения блоков до момента переноса данных журнала (как в XFS). В архитектуре Reiser4 предусматривалась гибкая поддержка плагинов (например, чтобы добавить функции сжатия или шифрования), но эта идея была отвергнута Linux-сообществом, которое считало, что место этим расширенным функциям - в подсистеме виртуальной файловой системы (VFS). После вынесения обвинения владельцу Namesys и одновременно автору ReiserFS вся коммерческая деятельность вокруг Reiser4 была приостановлена.

Четвертая расширенная файловая система Четвертая расширенная файловая система (ext4fs) - это дальнейшее развитие ext3fs. Ext4fs была задумана как замена ext3fs, имеющая с ней прямую и обратную совместимость, но включающая в себя множество улучшений (некоторые из которых нарушают эту совместимость). На практике можно монтировать раздел ext4 как ext3 и наоборот. ext4fs - это 64-разрядная файловая система с поддержкой томов огромного размера (до 1 эксабайта). Она также может использовать экстенты, но в этом случае теряется совместимость с ext3fs. Аналогично XFS и Reiser4, в ext4fs размещение блоков на диске задерживается и происходит по необходимости (что уменьшает фрагментацию). Журнал также хранит контрольные суммы содержимого для большей надежности. Вместо B+- или B*-деревьев применяется специальная разновидность B-дерева, т.н. H- дерево, что позволяет поддиректориям иметь намного больший размер (в ext3 он ограничен 32Кб). ФС большого размера фрагментируется. Еще одно интересное отличие ext4fs от ext3fs заключается в точности временной метки файлов. В ext3 размерность временной метки - одна секунда. Ext4fs смотрит в будущее: при непрекращающемся росте скоростей процессора и интерфейсов требуется более точное измерение. Поэтому в качестве размерности времени была взята одна наносекунда.

Ex4fs Прямая и обратная совместимость Увеличение точности и диапазона временных меток С секунды дл наносекунды Временной интервал увеличен на 2 бита – время жизни до 500 лет

Ext4fs Масштабируемость Расширение лимитов файловой системы (1 экзабайт – 1000 петабайт) Максимальный размер файла 16Тб (при блоках 4Кб) Глубина поддиректорий – бесконечна Хеширующая структура – наподобие B-дерева Экстенты для эффективного представления маленьких файлов применяется уровневый подход для эффективного представления больших файлов применяются деревья

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

Ext4fs Надежность Контрольная сумма журнала файловой системы Дефрагментация «на лету» Помечает неиспользуемые группы блоков в таблице индексных дескрипторов, пропуская их.