Слайд 2Что такое Файловая Система?
Файловая система (англ. file system) — порядок, определяющий
способ организации, хранения и именования данных на носителях информации. Она
определяет формат содержимого и физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла (папки), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
На данный момент, для ОС семейства Linux ( *nix ) существует порядка 13-ти используемых Файловых Систем: xfs, jfs, ReiserFS, Reiser4, ext, ext2, ext3, ext4, BtrFS, tux2, tux3, XiaFS, ZFS. Но есть и много малоизвестных ФС, но оних речи не будет
Слайд 3Самые используемые ФС среды Linux
Таких ФС немного, но вот самые
известные:
XFS — начало разработки 1993 год, фирма Silicon Graphics, пользователям
Linux систем стала доступна в 2001-2002 гг. Является одной из старейших журналируемых файловых систем для *nix, и содержит в себе наиболее отлаженный исходный код.
ReiserFS (Reiser3) — одна из первых журналируемых файловых систем под Linux, разработана Namesys. Имеет некоторые врождённые головные боли, но в целом неплохая система, ведущая отсчёт дней своих с 2001 года.
JFS (Journaled File System) — файловая система, детище IBM, явившееся миру в далёком 1990 году для ОС AIX (Advanced Interactive eXecutive). В виде первого стабильного релиза, для пользователей Linux, система стала доступна в 2001 году.
ext3 (third extended filesystem) — расширенная версия ФС ext2, способна к журналированию. Разработана Стивеном Твиди (Stephen Tweedie) в 1999 году, включена в основное ядро Linux в ноябре 2001 года. На данный момент является наиболее стабильной и поддерживаемой файловой системой.
ext4 — попытка создать 64-х битную ext3, способную поддерживать больший размер файловой системы (1 эксбибайт). Обеспечивается прямая совместимость с системой ext3 и ограниченная обратная совместимость при недоступной способности к непрерывным областям дискового пространства.
Слайд 4ФС прошлого, и не наступившего будущего
ext (extended filesystem) — появилась
в апреле 1992 года, это была первая файловая система, изготовленная
специально под нужды Linux ОС. Разработана Remy Card.
ext2 (second extended file system) — была разработана Remy Card в 1993 году. Не журналируемая файловая система.
Reiser4 — первая попытка создания ФС нового поколения. Впервые представленная в 2004 году. Ханс Рейзер (Hans Reiser), главный разработчик системы, был осуждён за убийство в 2008 году, дальнейшая судьба системы стала сомнительной.
Слайд 5Еще ФС для *nix OS’s
Btrfs (B-tree FS или Butter FS)
— разработка компании Oracle, поддерживается большинством Linux систем. Возможен переход
с ext3 на Btrfs. С августа 2008 года данная система выпускается под GNU GPL.
Tux2 — известная, но так и не анонсированная публично файловая система. Создатель Дэниэл Филипс, система базируется на алгоритме «Фазового Дерева», который как и журналирование защищает ФС от сбоев. Организована как надстройка на ext2.
Tux3 — новая ФС, альтернатива Btrfs. Система создана на основе FUSE (Filesystem in Userspace), спец модуля для создания ФС на *nix платформах. Цель проекта – заменить журналирование, на версионное восстановление. Версионное восстановление системы - способ описания изменений, где для каждого файла создаётся изменённая копия.
Xiafs — задумка и разработка данной ФС принадлежат Frank Xia, основана на ФС MINIX. Устарела, практически не используется. Как и ext2 разрабатывалась, как замена ФС ext. В декабре 1993 года ФС была добавлена в стандартное ядро Linux.
ZFS (Zettabyte File System) — создана компанией Sun Microsystems
для ОС Solaris в 2005 году. Плюшки этой ФС — отсутствие фрагментации данных, возможность управления снапшотами, пулами хранения
(storage pools), варьируемый размер блоков, 64-х разрядный механизм контрольных сумм, а так же способность адресовать 128 бит информации! В Linux системах может использоваться посредствам FUSE.
Слайд 6Проверка производительности некоторых ФС
Лидирует по производительности ext2, несильно отстает
jfs, затем идет reiserfs, ext3, и с небольшим отрывом xfs.
Если сравнивать данные ФС между собой, то выходит следующее:
потеря производительности для xfs по мере добавления промежуточных уровней device mapper'a менее существенна, чем для ext3.
ext3 — обычная, вылизанная до блеска, ФС, простая во внутренней организации. Поддерживается всем, чем угодно, совместима с ext2. Обычно ставится по умолчанию именно по этим причинам. Мал риск потерять данные.
ext2 — та же ext3, только без поддержки журналирования, за счет чего работает быстрее.
xfs — более сложная, более эффективная в работе с большими по размеру файлами. Эффективно реализована поддержка ACL. Невысокая нагрузка на процессор. При работе с xfs жизненно необходим ups. Больное место xfs – установка корневой ФС на нее, иначе произойдет потеря данных при крахе системы. (смертельно для базы данных)
jfs — высокоскоростная ФС. Плюсы — возможность восстановить стертые или поврежденные данные; нет ограничений на количество файлов; быстрый fsck; минимальная нагрузка на процессор; оптимизирована для работы в многопроцессорной среде; идеально подходит для хранения корневой ФС. Минус — Раздел можно только увеличить.
reiserfs — не доработана, нынче не развиваемая, ФС, т.к. Разработчик находится в тюрьме. Плюсы — быстрая ФС, при условии, что файлы небольшого размера. Минусы — высокая нагрузка на процессор, случаи безвозвратной потери информации при крахе ФС.
Слайд 7Термины, использованные в предыдущем слайде
Device-mapper — важный компонент ядра Linux,
с помощью которого организуется управление логическими томами.
ACL (англ. Access Control
List — список контроля доступа, по-английски произносится «экл») — определяет, кто или что может получать доступ к конкретному объекту, и какие именно операции разрешено или запрещено этому субъекту проводить над объектом
Снимок файловой системы или снапшот (от англ. SnapShot, [мгновенный снимок]) — моментальный снимок, копия файлов и директорий ФС на определённый момент времени.
Журналируемая файловая система — ФС, в которой осуществляется ведение журнала, хранящего список изменений и, в той или иной степени, помогающего сохранить целостность файловой системы при сбоях.
Слайд 8Корневой каталог
Какую вы ни выбрали ФС, корневой каталог будет у
всех одинаковый (список подкаталогов):
/bin Содержит исполняемые файлы самых необходимых утилит,
которые требуются для корректной работы ОС Linux.
/boot Расположены ядро ОС и карты загрузки, а также конфигурационные файлы загрузчиков.
/cdrom В этот каталог монтируется диск, вставленный в CD-ROM.
/dev Содержит файлы особого типа, предназначенные для обращения к системным ресурсам и устройствам.
/etc Информация о пользователях, доступных ресурсах, настройках программ.
/home «домашние каталоги»(/home/<имя пользователя>/) пользователей. Также хранятся личные настройки всех приложений
/initrd initial ram disk, стартовый виртуальный диск.
/lib Библиотеки, используемые для работы важных системных утилит.
/media Каталог, в который монтируются файловые системы.
/mnt Каталог для временного подключения файловых систем на съемных носителях (CD-диски, USB-флэшки, внешние винчестеры).
/opt дополнительное программное обеспечение.
/proc Все файлы в этом каталоге “виртуальные”. Содержится информация о программах (процессах), выполняемых в данный момент в системе.
/root Домашний каталог администратора.
/sbin Каталог системных утилит. Программы нужные для загрузки, восстановления системы, резервного копирования. Права на исполнение этих программ только у суперпользователя.
/srv Данные для сервисов.
/sys Средства для изменения конфигурации системы.
/tmp Временные файлы, созданные запущенными программами или процессами. Очищается при каждой загрузке системы.
/usr Все программы.
/var Хранится информация, созданная в процессе работы программами и необходимая для передачи другим программам и системам.