Базовые понятия: файловые системы

Разделы создаются не сами по себе, а для того, чтобы нести на себе некие файловые системы. В отличие от Windows, способной работать только с  NTFS и FAT разного рода, Linux в качестве «родных» (native) поддерживает большое количество их типов: ext2fs, ext3fs, ext4fs, ReiserFS, XFS и JFS, в качестве экспериментальных возможно использование btrfs и (при определённых условиях) ZFS. В принципе Linux можно разместить и на разделе с FAT16/FAT32, но это — занятие нездоровое по ряду причин, останавливаться на которых тут неуместно.

Файловая система ext2fs — старейшая из используемых в Linux. Отличается исключительным быстродействием, совместимостью и достаточно надежна для использования на десктопе. Правда, после системных сбоев (например, по питанию) она обязательно должна проходить проверку целостности, что при современных объемах дисков может занять изрядное время.

Файловая система ext3fs представляет собой усовершенствованный вариант предыдущей, и усовершенствование это выражено в так называемом журналировании — специальной записи файловых операций, позволяющей в случае сбоев восстановить файловую систему в целостном состоянии. Поскольку эти действия требуют определённых ресурсов, ext3fs существенно проигрывает в быстродействии своей предшественнице, но зато славится непревзойдённой надёжностью и совместимостью с другими ОС. Кроме того, ext3fs может быть легко трансформирована в ext2fs и наоборот.

Файловая система ext4fs развивает традиции ext3fs (хотя напрямую они и не совместимы), наследуя её положительные качества, и, к тому же, отличаясь более высоким быстродействием. Именно она по умолчанию предлагается инсталлятором Fedora для всех новообразованных разделов.

ReiserFS, XFS и JFS — также журналируемые файловые системы, каждая со своими особенностями. Конёк первой — работа с большим количеством маленьких и очень маленьких (в несколько байт) файлов, а таких файлов в любой Unix-системе очень даже много. XFS, напротив, ориентирована на работу с (очень) большими файловыми системами и отдельными файлами мультимедийной направленности, размер которых вполне может составлять не один гигабайт. Ну а JFS, разработка фирмы IBM, — это эпоним журналируемых файловых систем, с нее-то и началось понятие журналирования. Впрочем, никакими другими достоинствами ее Linux-реализация не отмечена, являясь, пожалуй, самой медленной из всего семейства.

Из всех перечисленных в предыдущем абзаце файловых систем инсталлятор Fedora поддерживает только XFS -- поддержку остальных можно подключить позднее, путём установки пакетов с соответствующим инструментарием.

В некоторых современных дистрибутивах имеется поддержка файловой системы Reiser4. Это — дальнейшее развитие ReiserFS, представляющее собой уже не только (а может быть, и не столько) файловую систему, а так называемое «пространство имен» (Namespace) для манипулирования дисковыми объектами. Впрочем, официально Reiser4 ядром Linux пока не поддерживается, и несмотря на фантастическое быстродействие, надёжность ее вызывает определённые сомнения. В Fedora Reiser4 не поддерживается не только на стадии установки, но и в репозиториях её пакетов для работы с ней не имеется.

ZFS -- интегрированная файловая система, включающая в себя также функции менеджера томов (о них будет сказано под занавес). Будучи разработанной для ОС Solaris, она успешно портирована на FreeBSD, где показала себя с наилучшей стороны. До недавнего времени нативная поддержка её в Linux'е была невозможна по лицензионным соображениям. Но не так давно был придуман хитрый технологический трюк, позволяющий победить юридическое крючкотворство и использовать ее в нашей ОС. Правда, пока этот трюк не реализован ни в одном дистрибутиве, в том числе и в Fedora.

И, наконец, btrfs, которую пророчат в файловые системы будущего. Подобно ZFS, это – интегрированная среда, включающая файловую систему и систему управления томами, в том числе на многодисковых устройствах. Отличается рекордным быстродействием, оставляя позади по большинству показателей все традиционные файловые системы. Очень важно, что btrfs даёт возможность безболезненной конверсии в неё из ext2/ext3 и обратно.

По умолчанию установщик Fedora не поддерживает btrfs. Но, будучи запущен с определённым ключом, он позволяет задействовать её на стадии установки. Однако btrfs до сих пор имеет статус экспериментальной, структура её окончательно не устаканилась, и потому использовать её рекомендуется только в экспериментальных же целях, а не для хранения критически важных данных.

Кроме нативных файловых систем, Linux на уровне обмена данными (чтения и записи) способен работать и с файловыми системами, классово чуждыми, такими, как FAT любого рода (FAT16, VFAT, FAT32, а с некоторых пор и NTFS).

Для создания файловых систем (процесса, именуемого в DOS/Windows форматированием) предназначены специальные утилиты — mkfs.ext2, mkfs.ext3, mkfs.reiserfs, mkfs.xfs и mkfs.jfs, каждая из которых создает соответствующую файловую систему. Кроме того, существует универсальная утилита mkfs: вызванная с соответствующими опциями, она способна создать любую файловую систему из числа поддерживаемых в Linux (включая FAT16/VFAT/FAT32 и NTFS).

Напрямую утилиты форматирования при установке Fedora не используются: инсталлятор её предлагает, создав дисковый раздел, разместить на нем и определенную файловую систему из списка.

Кроме собственно файловых систем, на одном из дисковых разделов, как правило, размещается еще и так называемое пространство своппинга, физически представленное разделом (реже файлом) подкачки swap. Оно предназначено для перемещения на него, при необходимости, содержимого оперативной памяти — например, в случае ее переполнения. Собственно говоря, в Linux существует понятие виртуальной памяти — совокупности физической RAM и пространства своппинга, которые, с точки зрения пользователя, образуют неразрывное единство.

Раздел подкачки создаётся специальной утилитой — mkswap, после чего нуждается в активации — это делается командой swapon. Впрочем, в инсталляторе и то, и другое выполняется прозрачно для пользователя — достаточно соответствующий раздел определить как раздел подкачки.

В заключение надо сказать пару слов о многодисковых устройствах и логических томах. К первым относятся так называемые программные RAID-массивы, позволяющие либо объединять два диска (и более) в единое устройство (RAID уровня 0) для повышения быстродействия, либо создавать зеркальные диски или диски с избыточностью для повышения надёжности (RAID уровней 1 и 5, соответственно). В условиях пользовательского десктопа актуален только первый вид массивов -- и только при наличии двух примерно одинаковых по объему и быстродействию дисков.

Система управления логическими томами LVM позволяет, в частности, изменять размер существующих файловых систем, например, при подсоединении нового дискового устройства. Для начинающего пользователя она довольно сложна в обращении, да и применение её на декстопе не целесообразно. К тому же, как уже было сказано, те же функции способны выполнять интегрированные файловые системы ZFS и btrfs. Когда и если (если и когда) они обретут стабильность в Linux'е, LVM превратится в анахронизм.


Главная
Содержание

. .