Какая файловая система лучше ext4 или btrfs. Современные файловые системы. Полный сравнительный анализ. Файловая система ext2

Было время, когда вопрос, вынесенный в заголовок статьи, просто не стоял перед пользователями. Несмотря на то что файловых систем было более одной еще до момента появления первых персоналок, выбора обычно не существовало. Просто потому, что разных несовместимых (или лишь частично совместимых) архитектур компьютеров было много, за каждой стояла конкретная фирма, использующая свою собственную операционную систему и имеющая собственные представления о том, «что такое хорошо и что такое плохо». Причем еще и носители данных применялись разные и друг с другом несовместимые. А если и совместимые аппаратно (например, НГМД использовались очень многими вычислительными системами, причем основные типоразмеры дисководов на аппаратном уровне были худо-бедно стандартизованы), то данные все организовывали по-своему. Более-менее совместимыми оказались ленточные накопители, поскольку так уж сложилось исторически, что еще со времен «больших» компьютеров именно они чаще всего применялись для обмена данными между системами различной архитектуры. Но единственными массовыми магнитофонами, которые использовались совместно с персоналками, оказались бытовые, а примитивность типичных компакт-кассет приводила к тому, что все производители, если уж их и использовали, пытались «выжать» из носителя максимум, причем все делали это разными способами.

Ситуация улучшилась лишь тогда, когда стало ясно, что линейка IBM PC (прародительница практически всех выживших на сегодняшний день архитектур ПЭВМ) постепенно становится стандартом де-факто в отрасли (и не только). Ну а когда на рынке появляется доминирующая архитектура, все остальные вынуждены это учитывать - из соображений выживания. Основным сменным носителем данных тогда являлись гибкие диски, так что достаточно быстро средством обеспечения совместимости оказались те их форматы, которые использовала компания IBM. Далеко не лучшие, надо заметить. Причем не только по аппаратуре, хотя и это тоже - несмотря на то что первые дисководы на 3,5″ появились в том же году, что и первые РС, и многие производители начали их использовать еще в первой половине 80-х годов, сама IBM перешла на этот конструктив лишь в 1987 году, а до того момента цеплялась за пятидюймовые дисководы, представленные на рынке еще в 1976 году. Однако и с точки зрения форматирования «оригинальные» разработки IBM уступали даже многим клонам ее компьютеров - в частности, компания на двухсторонних дискетах двойной плотности хранила лишь 360 Кбайт информации, в то время как конкуренты из них же без особых ухищрений выжимали и 600-720 Кбайт. Ну а уж о примитивности файловой системы FAT не рассуждал только ленивый. Хотя, вполне возможно, именно примитивность и стала второй причиной превращения «писюковых дискет» в стандарт - его было очень уж легко поддерживать. Пусть хотя бы только для чтения и в дополнение к собственному «продвинутому» варианту.

Впрочем, с точки зрения сегодняшнего дня все это имеет лишь историческую ценность. Дискеты давно уже перестали использоваться в качестве основного средства переноса информации, да и альтернативных линейке «х86-based» компьютеров на большинстве сегментов рынка не осталось. Однако нельзя сказать, что это полностью решило все проблемы. Дело в том, что на этой са́мой единственной стандартной платформе работает чуть ли не больше операционных систем, чем их было во времена, когда «расцветали все цветы». Даже если взять самое распространенное на рынке семейство, а именно Windows, то оно, строго говоря, неоднородно. Бо́льшая часть инсталляций приходится до сих пор на Windows XP - родом из начала века, но занимающую чуть ли не 2/3 рынка. Где-то четверть последнего приходится на современные версии Windows, а все оставшееся - на сборную солянку из сохранившихся компьютеров с системами, появившимися до Windows XP (их сейчас осталось мало, но все еще встречаются), различные версии MacOS и цельный букет UNIX-систем. Но даже если вам повезло никогда не сталкиваться в практической жизни ни с чем, кроме Windows XP, полностью это проблему не решает - некогда «компьютерные» технологии давно уже вышли за пределы этого рынка, активно вторгаясь в сферу бытовой электроники. Например, большинство сегодняшних видеоплееров умеет работать с USB-накопителями, а в фотоаппаратах или мобильных телефонах повсеместно применяются разнообразные карты памяти. И тут все оказывается просто только в том случае, если, например, карта используется исключительно в «своем» фотоаппарате - форматируем ее средствами камеры и навсегда забываем об этом вопросе:) Однако если нам надо хотя бы обмениваться данными с компьютером, тут уже все не так очевидно…

Причина возникновения проблемы в том, что практически все современные операционные системы за редким исключением поддерживают не одну файловую систему (как это было 20-30 лет назад), а несколько. Причем степень их поддержки может быть совершенно разной. И иногда изменяемой при помощи дополнительных программ. Вариантов масса, поэтому мы не будем пытаться охватить их все в одной небольшой статье. Но достаточное количество базовой информации, дабы можно было понять «куда копать», все же попробуем дать. А для этого достаточно познакомиться с основными доступными файловыми системами, а также их достоинствами и недостатками.

FAT - старая, ограниченная, но вездесущая

Начнем мы со старейшей файловой системы, появившейся еще во времена MS DOS, но, тем не менее, до сих пор иногда встречающейся. К положительным особенностям системы относятся простота, компактность служебных областей и большой срок присутствия на рынке. В общем-то, первые два достоинства непосредственно вытекают из третьего - в 1980 году, когда система и появилась, компьютеры были столь «мощными», а носители информации столь «емкими», что ничего сложного использовать было просто нельзя. Впрочем, оригинальный вариант, а именно FAT12, уже давно вышел из широкого пользования вследствие того, что размер диска с этой системой не может превышать 32 МиБ. Хотя, конечно, к некоторым фотоаппаратам и даже видеокамерам до сих пор умудряются прилагать флэш-карту такого или даже меньшего размера, но полноценно использовать их в подобной комплектации все равно не выйдет.

А вот FAT16, появившаяся 23 года назад, уже интереснее, благо размер как файла, так и раздела доведен уже до 2 ГиБ (для тех, кто еще не успел привыкнуть к двоичным приставкам - это чуть больше двух гигабайт). Теоретически, емкость раздела может достигать и 4 ГиБ при использовании кластеров по 64 Кбайт, однако этот вариант не является стандартным, так что поддерживается далеко не везде. На компьютерах с таким разделом умеют работать системы начиная с Windows NT4 и более новыми этой линейки, но вот ни бытовая техника, ни большинство «альтернативных» систем с ними не совместимо. Таким образом, этот вариант можно считать полностью пригодным лишь для накопителей невысокой емкости. Последних у пользователей на руках достаточно много до сих пор, но «бал правят» не они. А вот во времена флэшек размером до гигабайта была FAT16 весьма актуальной ввиду, как раз, небольших потребностей в объеме для своих нужд. Так, например, на отформатированной под FAT16 флэшке на 128 МБ пользователю остаются доступными 128 621 744 байт, а если использовать FAT32 - 127 921 152 байт. С одной стороны, пустячок, а с другой - лет пять назад «лишние» 700 КБ на дороге не валялись. Недаром Microsoft не рекомендует использовать FAT32 на разделах менее 512 МБ, так что отформатировать их во что-то отличное от FAT16 можно только сторонними средствами.

Последняя все еще актуальная сфера применения этой системы - телефоны, плееры, фотоаппараты и прочая «бытовуха», рассчитанная на поддержку карт SD или microSD, но не поддерживающая SDHC (сейчас такое уже не выпускается, но еще используется). Стандартной файловой системой для этих карт является как раз FAT16, поэтому большинство таких устройств никаких других и не поддерживают. В данном случае крайне желательно форматировать карту исключительно в устройстве, но не делать этого на компьютере. Причина в том, что Windows XP (по крайней мере, про нее это известно точно) иногда умудряется при явном указании ФС отформатировать карту под FAT32, после чего тот же фотоаппарат может ее не увидеть и даже не предложить возможности переформатировать. Решать проблему приходится какой-нибудь альтернативной программой форматирования - снова на компьютере.

FAT32 - разумный компромисс между совместимостью и прочими характеристиками

В отличие от предшественницы, FAT32 сейчас является наиболее массовой системой для внешних накопителей. 90% флэшек и более половины ВЖД поступают с заводов отформатированными именно под нее. Причина? По совместимости она лишь немногим хуже FAT16 - «за кадром остаются» только слишком уж древние операционные системы. Изначально поддержка FAT32 появилась в августе 1996 года вместе с Windows 95 OSR2 - если кто-то ныне и использует более старую ОС на своем компьютере, то вряд ли он будет подключать к нему современный внешний накопитель:) Причем в большинстве случаев - и не сможет.

Однако иногда использование FAT32 уже неудобно, из-за чего приходится использовать другие системы. Основным и самым существенным недостатком является то, что файлы не могут иметь размер более 4 ГиБ. Соответственно, хранить на накопителе образы DVD-дисков, очень большие архивы или некоторые фильмы - не выходит. Вернее, это можно сделать, но их приходится разбивать на части, а потом перед использованием «склеивать», что очень неудобно. Либо такое разбиение нужно предусмотреть заранее, что иногда делается, но далеко не всегда. Именно эта причина и вызывает необходимость использования других файловых систем - пусть имеющих меньшую поддержку со стороны оборудования, зато свободных от ограничения на размер файла. Судя по нашей конференции, кстати, эта проблема в последнее время стои́т достаточно остро - многие пользователи, купив внешний жесткий диск или флэшдрайв, буквально в первые же дни пытаются записать туда очень большой файл и… очень удивляются реакции системы, которая сообщает о недостатке места на носителе. А удивляться есть чему: по-хорошему, создатели ОС могли бы обрабатывать данную ситуацию более корректным образом - сообщая пользователю, что используемая файловая система непригодна для записи данного файла; а иначе все очень странно выглядит: свободного места десяток или даже сотня (а то и несколько сотен) гигабайт, а рапортуют о его нехватке при попытке записи файла размером всего 5-6 гигабайт. Мы, конечно, не думаем, что после публикации данной статьи соответствующие сообщения в форуме исчезнут, однако надеемся, что их, хотя бы, станет немного меньше:)

А вот размер тома, отформатированного под FAT32, теоретически может составлять до 8 ТиБ, что даже на сегодня очень много (не говоря уже о времени, когда система создавалась). Впрочем, не все так просто - компания Microsoft, скажем, считает, что тома более 32 ГиБ делать нежелательно. И не просто считает, а ввела соответствующие ограничения во встроенные программы форматирования Windows XP и более новых версий своей системы. Особенно печальный результат получается при попытке отформатировать, например, флэшку на 64 ГБ штатными средствами: для FAT32 (по мнению Microsoft) она слишком велика, а NTFS на сменных носителях (опять же - по мнению Microsoft) использовать не положено. Обе проблемы с легкостью решаются при помощи использования сторонних утилит форматирования. Так, например, простенькая консольная программа fat32format спокойно работает с томами до 2 ТБ (максимум для нединамических разделов Windows XP).

Не все гладко, кстати, и с Windows 98 или ME, несмотря на то что для них использование FAT32 безальтернативно. Дело в том, что некоторые встроенные в эти системы утилиты так и остались 16-разрядными. Ну а поскольку для таких программ максимальный размер адресуемого блока памяти равен примерно 16 МБ, то разделы, на которых таблица FAT имеет больший размер, им недоступны. В переводе на простой язык это означает невозможность полноценно использовать разделы больше ≈127,5 ГиБ (около 133 ГБ). Точнее, попробовать-то можно, но осторожно - не пытаясь «натравить» на такой раздел разнообразные дисковые утилиты: в лучшем случае (штатные средства) они просто не будут работать, а в худшем - могут и данные испортить. Либо, для страховки, можно просто разбивать накопители, которые планируется использовать и с Windows 9x, на разделы по сотне гигабайт. Заметим, что к внешним дискам эти ОС все равно более лояльны, чем к внутренним: получить под их управлением доступ к внутреннему винчестеру более чем на 137 ГБ - задача не совсем тривиальная, а вот для USB-накопителя бо́льшие объемы допустимы без особых проблем, за исключением неработоспособности дисковых утилит.

У других ОС таких проблем нет, да и описанные, в принципе, решаемы. Это и позволяет считать данную файловую систему оптимальной для тех случаев, когда требуется обеспечить максимальную совместимость внешнего накопителя со всем спектром компьютерной и бытовой техники. Особенно в тех случаях, когда хранение файлов размером более 4 ГБ не предполагается - тогда и заметных на практике недостатков не будет.

NTFS - быстрая, мощная, но избыточная

До последнего времени данная файловая система являлась единственным надежно работающим средством обойти «проблему больших файлов» на компьютерах под управлением Windows. Разумеется, не всякой версии Windows - линейка 9х в принципе не поддерживает NTFS, однако совместимость с этими системами важна уже, мягко говоря, не всем. Хуже то, что в бытовой технике поддержка NTFS встречается достаточно редко. Но в последнее время встречается. Кроме того, такие разделы поддерживают и компьютеры, работающие под управлением MacOS или Linux - как минимум, они умеют читать данные с таких разделов, а при установке специальных драйверов нередко начинает работать и функция записи. При помощи дополнительных драйверов, кстати, поддержку NTFS можно «прикрутить» и к Windows 98 или даже DOS.

Чем эта система хороша? Во-первых, ограничения как на размер тома, так и на размер файлов можно считать отсутствующими: и то, и другое может составлять до 16 экзабайт (для улучшения восприятия сообщим, что в одном экзабайте примерно миллион терабайт). Во-вторых, можно получить и более высокую скорость работы, особенно если попадаются каталоги, содержащие очень большое количество файлов - например, когда их несколько тысяч, разница в скорости работы FAT32 и NTFS заметна невооруженным глазом. В-третьих, эта система является более отказоустойчивой, как минимум из-за журналирования. В-четвертых, она способна работать с кластерами малого размера (точнее, не только способна, но и рассчитана на это), так что потери дискового пространства при хранении маленьких файлов у NTFS заметно меньше, чем у FAT32, не говоря уже об exFAT. В-пятых, достаточно удобной возможностью является встроенная поддержка сжатия данных. Разумеется, архивирование «на лету» куда менее эффективно, чем при помощи специальных программ-архиваторов с серьезными алгоритмами, но зато и выполняется прозрачным для пользователя образом, а при хранении хорошо сжимаемых данных дает заметный эффект. В общем, нет ничего удивительного, что на внутренних жестких дисках на данный момент NTFS является доминирующей системой.

Но на внешних у нее есть и недостатки. Самым безобидным из них является невозможность на практике получить многие преимущества системы. В частности, в настоящий момент редко кто переносит несжатые файлы: даже если говорить об офисных документах, то начиная с 2007 года они уже автоматически сжимаются при сохранении, а о фотографиях или видеофайлах и говорить нечего, так что встроенная поддержка сжатия оказывается не у дел (и даже чаще мешает, чем наоборот). Да и огромные количества файлов в каталоге встречаются редко - куда более типичным является десяток очень больших файлов. (Заодно это нивелирует и пользу от небольших кластеров.) Кроме того, улучшенная за счет кэширования производительность может оказаться палкой о двух концах - отформатированные под NTFS накопители крайне нежелательно отключать от компьютера, не воспользовавшись «Безопасным извлечением» или его аналогами. Все указанные неудобства свойственны для любых внешних накопителей, но для основанных на флэш-памяти есть и дополнительные. Во-первых, журналирование в данном случае рекомендуется отключать (поскольку ресурс массовых флэшек ограничен, так что «лишние» записи файлов им ни к чему). Во-вторых, быстродействие этих накопителей существенным образом зависит от выровненности всех структур ФС и кластеров по границам блоков стирания, что актуально и для FAT, но для NTFS, с ее небольшим размером кластера (а также любовью многих программ, в том числе и штатной утилиты форматирования Windows XP, смещать начало раздела на 63 сектора), может оказаться весьма критично. Да и вообще - как показывает опыт многих пользователей, наилучших скоростных результатов проще всего добиться, используя размер кластера в 32 Кбайт, т. е. не меньший, чем для FAT32.

Добавим к этому проблемы совместимости, после чего становится очевидным, что использование на сменных носителях именно NTFS чаще всего не слишком оправдано. Впрочем, как показано выше (и будет показано ниже), иногда этот вариант является безальтернативным.

exFAT - будущее флэш-накопителей и не только

В ситуации, когда FAT32 уже недостаточно, а NTFS - неоптимальна, неудивительно, что компания Microsoft в очередной раз (спустя 10 лет после появления FAT32) доработала FAT. Новая версия, получившая название exFAT, дебютировала в Windows CE 6, поскольку была наиболее актуальна для встроенных систем и бытовой техники, но позднее ее поддержка появилась и в настольных компьютерах. Чем новинка отличается от предыдущей версии?

Во-первых, снято ограничение на размер файла - подобно варианту «взрослых» систем, он может достигать 16 экзабайт. Во-вторых, увеличен размер кластера: если для предыдущих систем его приходилось удерживать в рамках 32 Кбайт (иногда применяя не всеми поддерживаемый вариант на 64 Кбайт), то в exFAT максимальный размер кластера составляет 32 МиБ, т. е. увеличился в 1024 раза. Разумеется, это крайне неудобно в случае файлов небольшого размера, однако они сейчас не слишком-то актуальны в качестве объекта транспортировки, зато размер таблицы размещения файлов удалось сократить соответствующим образом, а следовательно, снизились и требования к объему оперативной памяти для работы с томами большого размера. Естественно, для exFAT было отменено и волюнтаристское ограничение в 32 ГиБ для размера тома - не нужно оно более:) Первыми, кто этим воспользовался, кстати, оказались производители SD-карт памяти, достаточно жестко завязывающиеся в стандартах именно на FAT. Для спецификаций версий SD 1.х стандартной была FAT16 (что и определяло максимальную емкость карты в 2 ГБ), версия 2.0 ориентируется на FAT32 (карты SDHC до 32 ГБ), а в новой версии 3.0 для карт большого объема стандартом является именно exFAT (соответственно, карты SDXC заметных с точки зрения практического использования ограничений по емкости не имеют).

Нельзя также сказать, что все улучшения были только количественными - нашлись и качественные. В частности, отменены ограничения на количество файлов в каталоге. Не то чтобы они сильно мешали ранее, но все же - теперь, например, производителям фотоаппарата вовсе необязательно раскладывать фотографии по папкам, а можно спокойненько все записывать в корень карты. Более существенное улучшение - появилась битовая карта свободного места, что при правильном использовании позволяет уменьшить фрагментацию (ранее подбор наиболее подходящего свободного куска дискового пространства тоже был возможен, но ценой активного использования для каждой операции ресурсов системы). Журналирования, естественно, в рамках новой системы нет - слишком проста она для этого, да и для флэш-накопителей (на которые exFAT в первую очередь и нацелена) данная операция нежелательна. Но и потенциальную возможность повышения отказоустойчивости предусмотрели - возможна поддержка транзакций (естественно, если это поддерживает хост-устройство).

В общем, системка получилась на диво хороша - есть все нужное и нет ничего ненужного. Почему же до сих пор приходится мучиться с выбором, а не перейти на exFAT повсеместно? А потому, что для внешнего накопителя, как уже не раз было сказано, совместимость является той еще «священной коровой» - что толку в характеристиках используемой вами на флэшке файловой системы, если вы этой флэшкой сможете воспользоваться лишь на каждом десятом компьютере? exFAT до сих пор находится как раз в подобном положении. Гарантированно ее использовать можно только на компьютерах, работающих под управлением Windows Vista с SP1, Windows Server 2008 и Windows Seven. Вроде бы поддержка есть и в MacOS X 10.6, но тут, вероятно, потребуется апдейт системы - кстати, очень может быть, что Apple бы и не стала поддерживать новую разработку Microsoft, однако в последнюю линейку компьютеров компания решила встроить картоводы с поддержкой карт SDXC, а это в обязательном порядке потребовало и совместимости с exFAT. Для Linux придется самостоятельно интегрировать драйвер (причем их два: нормальный поддерживает только чтение, а запись - лишь использующий FUSE). Пользователям Windows XP повезло чуть больше - еще в начале 2009 года на Windows Update появилось официальное обновление KB955704, добавляющее к системам с SP2 и SP3 поддержку exFAT, однако оно не относится к обязательным, так что найдется далеко не на всех компьютерах. С бытовой техникой все столь же грустно, как с предыдущими версиями Windows - счастливым исключением являются немногие современные устройства с поддержкой SDXC (им деваться некуда), однако в остальных до сих пор проще встретить поддержку NTFS, нежели exFAT.

Прочая экзотика, иногда полезная

Нравится это кому или нет, но на данный момент времени большинство персональных компьютеров (порядка 95%) работает под управлением одной из систем семейства Windows, причем в основном эта доля распределена между Windows XP, Vista и Seven. Соответственно, наиболее актуальным является выбор между перечисленными файловыми системами, ведь только они без особых ухищрений поддерживаются этой тройкой. Задумываться о чем-либо ином есть смысл только в том случае, когда совместимость с Windows вас в принципе не волнует: несмотря на то что для поддержки большинства «родных» для прочих ОС файловых систем есть и драйверы для Windows, на каждый компьютер их ставить - дело неблагодарное. Поэтому вне зависимости от достоинств и недостатков какой-нибудь ext3 использовать ее можно разве что в том случае, когда внешний накопитель эксплуатируется в качестве стационарного или близком к тому виде.

Единственное частичное исключение из правил - файловая система HFS+, традиционная для MacOS X. И дело даже не в каких-то ее особых качествах, а в том, что эта операционка имеет пусть и небольшую, но монолитную долю рынка (чего не скажешь о разных иногда несовместимых друг с другом «линуксах»). Кроме того, несмотря на малую распространенность в мировом масштабе, есть страны, где ниша MacOS вполне ощутима. Это и ставит HFS+ в привилегированное положение. Вплоть до того, что некоторые производители продают специальные версии внешних винчестеров «for Mac», отформатированных под HFS+ (а не FAT32 или NTFS, которые встречаются чаще) прямо на заводе. Из этого не следует ни непригодность для Mac прочих винчестеров, ни невозможность использовать «маковские» на других компьютерах. Более того - для обмена данными между Маком и прочими системами вообще удобнее применять FAT32, гарантированно работающую в большинстве случаев. В чем плюс именно HFS+? В том, что встроенная система резервного копирования и восстановления информации Time Machine совместима только с дисками с этой файловой системой. Таким образом, если вы используете накопитель для резервирования данных на Маке, выбора не остается. Ну а если иногда возникает и необходимость подключения этого внешнего устройства к другим компьютерам, вполне логичным действием будет установка на них специальных драйверов с поддержкой HFS+. Впрочем, не самым худшим вариантом окажется и разбиение диска на пару разделов - небольшой с FAT32 позволит обмениваться данными различным системам, а раздел HFS+ даст возможность ни в чем себе не отказывать при работе под MacOS X.

Иногда покупка специальной версии внешнего винчестера «для Маков» может быть оправдана и для пользователя Windows - как правило, все эти модели снабжены интерфейсом FireWire (иногда и FireWire-800) в дополнение к USB 2.0, что может оказаться полезным. C файловой системой проблем не будет - с точки зрения Windows, отформатированные под HFS+ винчестеры никакой структуры данных не содержат, так что просто создаем раздел (или разделы) и форматируем нужным нам образом.

FAQ вместо заключения

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

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

  • «Родные» файловые системы. Имеется в виду, что файловая система поддерживает все атрибуты, свойственные Linux: права доступа, временные метки, информацию о владельце файла и т.д.;
  • «Неродные» файловые системы. То есть файловые системы, не поддерживающие атрибуты Linux;
  • Виртуальные. Это файловые системы, которые не имеют физического носителя;
  • Сетевые файловые системы.

К «родным» файловым системам можно отнести:

  • reiserfs

Файловая система ext2

Ext2 - это одна из первых файловых систем, используемых в Linux (Если говорить более точно, то первая файловая система Linux - это minix. Но возможности этой fs весьма ограничены, и она применялась только на начальном этапе развития Linux. ). Она была создана в 1993 году. Система считается очень надёжной и проверенной временем. Но, поскольку ext2 разрабатывалась в те времена, когда жёсткий диск размером 300 Мбайт считался очень большим, ей присущи некоторые ограничения. Применять эту fs для больших разделов не имеет смысла, она начнёт «тормозить», когда в разделе будет большое количество файлов. То есть ext2 считается медленной (Понятие «медленная» очень относительное. Ext2 считается медленной в Linux. Но если сравнить её со стандартной файловой системой FreeBSD, окажется, что ext2 очень даже быстрая. ). Конечно, с увеличением размеров дисков, с появлением новых веяний, в файловую систему вносились изменения, улучшающие её работу и функциональность. Например, поддержка POSIX ACL. Но всё же её не коснулись глобальные изменения, позволяющие говорить:

Да, это та самая, единственная файловая система, которая меня полностью устраивает.

Кроме того, ext2 имеет серьёзные ограничения:

  • Максимальный размер файла - 2048 Гбайт.
  • Максимальный размер файловой системы - 32768 Гбайт.
  • Максимальное количество поддиректорий в одной директории - 32768.

Журналируемые файловые системы

Сейчас файловую систему ext2 уже практически не используют. И дело даже не в её ограничениях, ext2 достаточно надёжная файловая система. Всё дело в скорости загрузки Linux-серверов. Необходимо, чтобы сервер работал постоянно. Но чудес не бывает, сервера иногда приходится перегружать. Ваша задача - сделать так, чтобы после падения системы они перегружались как можно быстрее. При включении сервера происходит проверка дисков. Процедура проверки файловых систем, особенно больших, - достаточно длительная процедура. Если таких файловых систем несколько, то их проверка может занять очень много времени. А сервер должен работать!

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

В современные файловые системы была добавлена поддержка журнала транзакций. С точки зрения работы файловой системы все операции с файлом выглядят как одна транзакция. Если посмотреть подробнее на файловые операции в Linux, запись или изменение файла - это довольно сложная процедура, состоящая из многих действий с данными на диске. При использовании журнала транзакций, прежде чем какие-либо физические изменения будут произведены на диске, в журнале открывается новая транзакция, в которой будут записаны все действия, которые будут производиться с файловой системой. И только после того, как транзакция будет сохранена на диске, будут производится изменения в файловой системе.

Если файловая система будет отключена некорректно, программа проверки сначала смотрит журнал транзакций и на основании данных, находящихся в нём, попытается либо вернуть (откатить) систему на момент начала транзакции, или, если это возможно, завершить действия, описанные в транзакции. Учитывая то, что журнал имеет небольшой размер (в файловой системе ext3 он равен 32 Мбайт), процесс восстановления файловой системы значительно ускоряется.

Файловая система ext3

Когда возникла необходимость внедрения журналируемых файловых систем в Linux, компания RedHat разработала файловую систему ext3. В RedHat пошли путём наименьшего сопротивления - за основу взяли хорошо известную ext2 и добавили поддержку журнала.

По своему физическому устройству ext2 идентична ext3. Эта особенность позволила применять для работы с ext3 такие же утилиты (создание, проверка и настройка файловых систем), как и для работы с ext2.

Несмотря на добавление журнала, ext3 работает быстрее, чем ext2. К достоинствам ext3 следует также отнести возможность журналирования не только необходимых действий, но и данных, что не позволяют делать другие журналируемые системы. Благодаря этой особенности ext3 считается очень надёжной.

Ext3 поддерживает три режима работы:

  • Writeback - в этом режиме не происходит журналирования данных. В журнал сначала помещаются так называемые метаданные (inode файла, ссылки на блоки). Только после того, как они попали в журнал, происходит запись данных в файловую систему.
  • Ordered (режим по умолчанию) - этот режим похож на описанный выше. Единственным отличием является то, что в режиме writeback в журнал сначала помещаются все метаданные, и только после этого происходят изменения в файловой системе. А в режиме ordered при помещении информации о блоке в журнал этот блок сразу же изменяется в файловой системе. Затем в журнал помещается информация о следующем блоке, и блок записывается, и так далее. То есть данные изменяются параллельно с изменением в журнале.
  • Journal - режим полного журналирования. В журнал попадают метаданные и данные. И только после этого происходит изменение в файловой системе.

Файловая система ReiserFS

ReiserFS разрабатывается Гансом Реизером (Hans Reiser) и его компанией Namesys (http://www.namesys.com). Это очень быстрая файловая система, хорошо приспособленная для хранения большого количества маленьких файлов.

В ней удалось решить проблему размещения на диске маленьких файлов. Например, в ext2/3 для размещения файла, содержащего единственный символ, на диске будет занят целый блок. Блок ext2/3 может иметь размер от 1 до 8 Кбайт (размер зависит от объема файловой системы ). А в ReiserFS в одном блоке могут быть размещены данные нескольких файлов. Более того, если размер файла очень мал, данные могут быть размещены в inode, то есть непосредственно в метаданных.

Файловая система базируется на оптимизированных деревьях (B tree). Это увеличивает скорость поиска в файловой системе и снимает вопрос ограничения количества файлов и директорий в директории.

С файлами большого размера данная файловая система тоже справляется весьма уверенно.

Для файловой системы ReiserFS версии 3.6 существуют следующие ограничения:

  • Максимальный размер файла - 8 Тбайт (для 32-битных компьютеров);
  • Максимальный размер файловой системы - 16 Тбайт.

Сейчас разрабатывается следующая версия ReiserFS - четвёртая. Ожидается, что она будет включена в ядрах версии 2.6.17 или 2.6.18.

Файловая система JFS

Эта файловая система разрабатывается компанией IBM и распространяется под лицензией GNU GPL. Описание JFS можно найти в Интернете на сайте . JFS используется не только в Linux, но и в других операционных системах, например, в AIX и OS/2.

JFS - журналируемая файловая система. Основной её конёк - использование совместно с LVM (Logical Volume Manager). LVM позволяет объединять несколько физических разделов жёстких дисков в один логический, который затем можно разбивать на разделы как обыкновенный жёсткий диск. При этом некоторые типы LVM позволяют на лету подключать новое дисковое пространство. И если на увеличивающихся разделах использовать файловую систему ext3, в один прекрасный момент вы получите сообщение о невозможности создания нового файла. Дело в том, что при форматировании раздела в ext3 в нём заранее, в зависимости от размера, резервируется конечное количество inodes. То есть заранее известно максимальное количество файлов. Если размер файловой системы не будет увеличиваться, то этого количества inodes вполне хватает для нормальной работы. В JFS есть возможность динамического увеличения файловой системы и количества inodes. Благодаря этому свойству, при увеличении размера файловой системы не возникает ограничение на количество создаваемых файлов.

Для файловой системы JFS существуют следующие ограничения:

  • Максимальный размер файла ограничивается разрядностью операционной системы.
  • Максимальный размер файловой системы - 512 Тбайт.

Файловая система XFS

Файловая система XFS разрабатывалась в компании SGI (бывшая Silicon Graphics, Inc.). XFS появилась на свет в 1994 году и изначально поставлялась с операционной системой IRIX. Компания SGI славится своими рабочими станциями для производства видео, а также серверами для хранения данных. Поэтому файловая система оптимизирована для обслуживания большого количества огромных файлов и для поддержки больших директорий. Благодаря своей структуре, она так же хорошо поддерживает большое количество маленьких файлов. По своему быстродействию она сопоставима с файловой системой ReiserFS, а по надёжности превосходит файловую систему Ганса (Сколько данных было мной потеряно в файловой системе ReiserFS на пустом месте. Спасало только резервное копирование. Поэтому сейчас я ReiserFS на серверах не использую. ).

Поддержка больших файлов возможна благодаря тому, что XFS - это 64-битная файловая система. А скорость работы файловой системы достигается благодаря использованию В+ деревьев для поиска и описания внутренних структур.

Внутренне устройство файловой системы достаточно сложное, и я не вижу необходимости в кратком описании ее структуры. Тем более, что в Интернете есть хорошие статьи, подробно описывающие XFS:

Файловые системы компании Microsoft

Если говорить о файловых системах компании Microsoft, в Linux поддерживаются FAT и NTFS. С FAT всё очень просто, структура файловой системы известна, поэтому в Linux она поддерживается полностью. Единственное, что необходимо учесть при использовании FAT, в Linux существует две её разновидности:

  • msdos - FAT12/16.
  • vfat - FAT32.

Поддержку FAT следует включать в том случае, если вы предполагаете использовать гибкие диски и различные USB-накопители: флеш-карты, жёсткие диски и т.д. Дело в том, что все они обычно отформатированы в FAT.

C NTFS немного сложнее. Эта файловая система нормально поддерживается в режиме только для чтения. В режиме записи её не рекомендуется использовать. Хотя режим записи поддерживается, но если почитать документацию к драйверам NTFS, вы увидите, что там большими буквами написано: в режиме записи можно только изменять содержимое существующих файлов, ни в коем случае нельзя создавать новые файлы, удалять или изменять размер существующих - это может разрушить файловую систему.

Файловые системы iso9660 и udf

Эти файловые системы используются для хранения информации на CD- и DVD-дисках.

Изначально iso9660 была очень простой файловой системой с большим количеством ограничений. Например, имена файлов как в MS DOS, ограничение на количество вложений директорий. Поэтому для iso9660 было написано несколько дополнений, расширяющих её возможности. В том числе, дополнения, позволяющие сохранять атрибуты файлов UNIX. Все дополнения поддерживаются драйвером файловой системы, и никаких затруднений при работе быть не должно. Более того, драйвер iso9660 поддерживает, как это ни странно звучит, режим записи. Он применяется при создании образов CD-ROM.

С udf тоже не замечено особых проблем. Таким образом, работа с CD- и DVD-дисками поддерживается в Linux без каких-либо ограничений.

Файловая система proc

Относится ке разряду виртуальных фаловых систем. Очень полезная файловая система. В работе администратора вы очень часто будете обращаться к её возможностям. В одной из первых глав, рассказывающих об организации файловой системы Linux, я вкратце рассказывал о предназначении этой файловой системы. Просто напомню, что файлы, которые находятся в директории /proc - это отображение области данных ядра на файловую систему. То есть, если вы просматриваете содержимое какого-либо файла, на самом деле вы видите определённую часть области данных ядра.

Ниже опишу некоторые интересные файлы, которые вы можете встретить в директории /proc . Содержимое файлов в вашей системе будет отличаться от содержимого файлов, показанных в качестве примеров.

/proc/cmdline

Содержит командную строку, переданную ядру при его запуске.

# cat cmdline BOOT_IMAGE=Linux-2613 ro root=303 #

/proc/cpuinfo

Информация о процессоре или процессорах.

# cat cpuinfo processor: 0 vendor_id: GenuineIntel cpu family: 6 model: 9 model name: Intel(R) Pentium(R) M processor 1400MHz stepping: 5 cpu MHz: 1399.050 cache size: 1024 KB fdiv_bug: no hlt_bug: no f00f_bug: no coma_bug: no fpu: yes fpu_exception: yes cpuid level: 2 wp: yes flags: fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2 bogomips: 2800.93 #

/proc/devices

Список устройств.

# cat devices Character devices: 1 mem 2 pty 3 ttyp 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 7 vcs 10 misc 13 input 14 sound 21 sg 116 alsa 128 ptm 136 pts 171 ieee1394 180 usb 226 drm 254 pcmcia Block devices: 3 ide0 7 loop 8 sd 11 sr 65 sd #

/proc/dma

Использование каналов DMA.

# cat dma 4: cascade #

/proc/filesystems

Список поддерживаемых файловых систем.

# cat filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev sockfs nodev pipefs nodev futexfs nodev tmpfs nodev inotifyfs nodev eventpollfs nodev devpts ext3 ext2 nodev ramfs msdos vfat iso9660 ntfs udf nodev mqueue nodev usbfs #

/proc/interrupts

Распределение прерываний.

# cat interrupts CPU0 0: 850627 XT-PIC timer 1: 9691 XT-PIC i8042 2: 0 XT-PIC cascade 7: 2 XT-PIC parport0 8: 1 XT-PIC rtc 9: 6620 XT-PIC acpi 11: 238626 XT-PIC Intel 82801DB-ICH4, yenta, yenta, eth0, eth1, ohci1394, ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, radeon@pci:0000:01:00.0 12: 65575 XT-PIC i8042 14: 11538 XT-PIC ide0 NMI: 0 LOC: 0 ERR: 0 MIS: 0 #

/proc/modules

Список загруженных модулей.

# cat modules irtty_sir 5248 0 - Live 0xf8a09000 sir_dev 13548 1 irtty_sir, Live 0xf8a1d000 irda 107768 1 sir_dev, Live 0xf8a3f000 crc_ccitt 1792 1 irda, Live 0xf8a04000 parport_pc 24324 0 - Live 0xf8a16000 parport 30920 1 parport_pc, Live 0xf8a0d000 uhci_hcd 30416 0 - Live 0xf89e7000 ehci_hcd 27656 0 - Live 0xf897a000 usbcore 103740 3 uhci_hcd,ehci_hcd, Live 0xf8990000 ohci1394 31092 0 - Live 0xf895e000 ieee1394 86392 1 ohci1394, Live 0xf891e000 ipw2100 78204 0 - Live 0xf8936000 ieee80211 18948 1 ipw2100, Live 0xf8918000 ieee80211_crypt 4488 1 ieee80211, Live 0xf88f8000 eepro100 26512 0 - Live 0xf8909000 pcmcia 30568 4 - Live 0xf8900000 firmware_class 7680 2 ipw2100,pcmcia, Live 0xf88f2000 yenta_socket 20748 4 - Live 0xf8879000 rsrc_nonstatic 11264 1 yenta_socket, Live 0xf8875000 pcmcia_core 34640 3 pcmcia,yenta_socket,rsrc_nonstatic, Live 0xf88e2000 #

/proc/mounts

Содержит список подключенных файловых систем.

# cat mounts rootfs / rootfs rw 0 0 /dev/root / ext3 rw 0 0 proc /proc proc rw,nodiratime 0 0 sysfs /sys sysfs rw 0 0 none /dev ramfs rw 0 0 /dev/hda5 /usr ext3 rw 0 0 /dev/hda6 /home ext3 rw 0 0 /dev/hda1 /mnt/win ntfs ro,noatime,nodiratime,uid=0,gid=0,fmask=0177,dmask=077,nls=iso8859-1, errors=continue,mft_zone_multiplier=1 0 0 devpts /dev/pts devpts rw 0 0 usbfs /proc/bus/usb usbfs rw 0 0 #

/proc/partitions

Содержит список разделов всех подключенных накопителей.

# cat partitions major minor #blocks name 3 0 58605120 hda 3 1 10485688 hda1 3 2 506520 hda2 3 3 9775080 hda3 3 4 1 hda4 3 5 9775048 hda5 3 6 28062688 hda6 #

/proc/pci

Список устройств, обнаруженных на шине PCI.

Этот файл можно использовать для диагностики причин, почему не работают некоторые устройства. Обращайте внимание на прерывания: если оно равно 0, это значит, что устройству по какой-либо причине не было выделено прерывание. Я не буду полностью приводить содержимое этого файла, он очень большой.

# cat pci PCI devices found: Bus 0, device 0, function 0: Host bridge: Intel Corporation 82855PM Processor to I/O Controller (rev 3). Prefetchable 32 bit memory at 0xd0000000 . Bus 0, device 1, function 0: PCI bridge: Intel Corporation 82855PM Processor to AGP Controller (rev 3). Master Capable. Latency=96. Min Gnt=12. Bus 0, device 29, function 0: USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 1). IRQ 11. I/O at 0x1800 . #

/proc/swaps

Содержит список подключенных swap файлов и разделов.

# cat swaps Filename Type Size Used Priority /dev/hda2 partition 506512 0 -1 #

/proc/version

Содержит информацию о версии операционной системы и ядра Linux.

# cat version Linux version 2.6.13-rc3-my (root@master) (gcc version 3.3.6) #3 Tue Jul 19 22:25:23 GMT+3 2005 #

Информация о процессах

Кроме файлов в /proc находятся директории, имеющие в качестве имени число. Каждая директория описывает процесс, PID которого соответствует имени директории. Файлы в этой директории описывают параметры процесса. Содержимое одной из директория приведено ниже.

# ls /proc/4624 auxv cwd@ exe@ maps mounts oom_score seccomp statm task/ cmdline environ fd/ mem oom_adj root@ stat status wchan #

Только несколько из приведенных в примере файлов содержат информацию, которая была бы понятна без предварительной обработки.

cmdline

Содержит аргументы командной строки.

# cat cmdline -su #

environ

Содержит значения переменных среды окружения процесса.

# cat environ HZ=100TERM=xtermPATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/binHOME=/rootSHELL=/bin/bashUSER=rootLOGNAME=rootMAIL=/var/spool/mail/root #

status

Содержит информацию о состоянии процесса в формате понятном человеку.

# cat status Name: bash State: S (sleeping) SleepAVG: 98% Tgid: 4510 Pid: 4510 PPid: 4498 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 256 Groups: 0 1 2 3 4 6 10 11 VmSize: 2832 kB VmLck: 0 kB VmRSS: 1724 kB VmData: 388 kB VmStk: 88 kB VmExe: 628 kB VmLib: 1628 kB VmPTE: 12 kB Threads: 1 SigQ: 0/7168 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000010000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 00000000fffffeff CapEff: 00000000fffffeff #

Другие директории

Коме директорий, описывающих процессы системы, в /proc могут находиться и другие директории. Ниже приведу назначение некоторых из них:

  • ide - информация об устройствах, подключенных к ide интерфейсу.
  • irq - информация о распределении прерываний.
  • net - информация о сети. Содержимое таблицы arp и таблицы маршрутизации. Статистика по сетевым интерфейсам и протоколом. И так далее.
  • scsi - информация о SCSI устройствах.
  • sys - содержит изменяемые параметры системы.

/proc/sys

Файловая система /proc/sys - это отдельная большая тема. При помощи файлов, находящихся в этой директории можно «на лету» изменять параметры системы. Достаточно записать нужное значение в определенный файл. Описывать /proc/sys я не буду, слишком много информации и слишком много надо знать, что бы понять для чего используются файлы. Поэтому я расскажу где найти документацию и описание по этой файловой системе:

Sysfs используется программой udev для динамического создания файлов устройств.

(2010 год) с некоторыми дополнениями и уточнениями.

Журналирование

Прежде, чем говорить о файловых системах — давайте кратко рассмотрим понятие «журналирование «.

Журналирование в том или ином виде применяется практически во всех современных файловых системах.

Журналирование используется только при операциях записи на диск, и является своеобразным буфером для всех таких операций. Этот подход помогает решить проблемы, которые возникают во время операции записи на диск, при которых компьютер выключается, например — из-за отключения электричества. Без журналирования в таких случаях невозможно выяснить — какие файлы были записаны — а какие не были или были записаны частично.

При использовании журналирования — файл сначала записывается в журнал (или «лог»). После этого — файл записывается на жесткий диск а потом удаляется из журнала, после чего операция записи считается завершённой. Если во время записи выключилось питание — то после включения системы файловая система может проверить журнал, и найти незавершённые операции.

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

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

Ext

Означает «Extended » (расширенная) файловая система, и она являлась первой, которая была разработана специально для Linux -систем. Всего на сегодняшний день существует 4 файловые системы Ext . Самая первая из них — просто Ext — являлась серьёзным обновлением ФС ОС Minix .

Характеристики Ext :

  • максимальный размер файла: 2GB;
  • максимальный размер раздела: 2GB;

Разработчик — , а первая версия появилась в 1992 году.

Мы не будем её рассматривать, т.к. скорее всего вы уже никогда с ней не столкнётесь.

Ext2

— не журналируемая ФС, выпущенная в 1993 году, основная задача для которой была поддержка устройств размером до 2 Террабайт. Т.к. у Ext2 нет журналирования — она выполняет намного меньше операций записи на диск, что сказывается на быстродействии и области её применения.

Характеристики:

  • максимальный размер файла: 16GB — 2TB;
  • максимальный размер раздела: 2 — 32 TB;
  • максимальный размер имени 255 символов.
  • в силу низкого количества операций записи-удаления данных — является идеальной для различных флеш-накопителей;
  • в то же время современные SSD -диски имеют улучшенные показатели их жизненного цикла (изноустойчивости элементов накопителя) и некоторые другие особенности, которые нивелируют недостатки Ext2 как не журналируемой ФС.

Ext3

— появилась в 2001 году, вместе с выпуском Linux Kernel 2.4.15. Фактически является той же Ext2 , но с поддержкой журналирования. Основной целью Ext3 была возможность её обратной совместимости с Ext2 без необходимости переформатирвоания разделов. К преимуществам же можно отнести тот факт, что большая часть тестирования, багфиксов и т.д. для Ext3 была то же, что и в Ext2 , что сделало Ext3 более стабильной и быстрой ФС.

Характеристики:

  • максимальный размер файла: 16GB — 2TB (в зависимости от размера блока);
  • максимальный размер раздела: 2 — 32 TB (в зависимости от размера блока);
  • подходит, если у вас используется Ext2 , и вы хотите исподьзовать журналирование;
  • в силу своей производительности и стабильности — вероятно, будет наиболее подходящей ФС для серверов баз данных;
  • возможно не лучший выбор для серверов, т.к. не поддерживает создание снимков (shapshot ) ФС и сложностей с восстановлением удалённых файлов.

Ext4

— как и Ext3 имеет обратную совместимость с предыдущими версиями ФС. Собственно говоря, вы можете смонтировать Ext2 или Ext3 как Ext4 -и при определённых условиях добиться большей производительности. Вы так же можете смонтировать Ext4 как Ext3 без каких-либо побочных эффектов.

Ext4 — стабильная версия была выпущена в 2008 году. Является первой ФС из «семейства» Ext , использующая механизм « «, который позволяет добиться меньшей фрагментации файлов и увеличить общую производительность файловой системы. Кроме того — в Ext4 реализован механизм отложенной записи ( ), который так же уменьшает фрагментацию диска и снижает нагрузку на CPU. С другой стороны — хотя механизм отложенной записи и используется во многих ФС — но в силу сложности своей реализации он повышает вероятность утери данных. См. для более подробной информации.

Характеристики:

  • максимальный размер файла: 16 TB;
  • максимальный размер имени файла: 255 символов.
  • наилучший выбор для SSD ;
  • наилучшая производительность по сравнению с предыдущими Etx -системами;
  • она так же отлично подходит в качестве файловой системы для серверов баз данных, хотя сама система и моложе Ext3 .

BtrFS

— разработана компание Oracle в 2007 году. По своей схеме схожа с ReiserFS , основной принцип её работы — это т.н. . BtrFS позволяет динамически выделять inode, создавать снимки ФС во время её работы, выполнять прозрачную компрессию файлов и делать дефрагментацию в рабочем режиме.

Хотя стабильная версия BtrFS ещё не включена в большинство дистрибутивов Linux (на сегодняшний день, судя по посту — только SUSE и Oracle Linux ) — она вполне может заменить Ext3/4 в обозримом будущем и уже предоставляет возможности по конвертации Ext3/4 в BtrFS . Кроме того, стоит упомянуть, что один из разработчиков Ext , сказал, что «BtrFS — это шаг в будущее».

Характеристики:

  • максимальный размер раздела: 16 EB;
  • максимальный размер имени файла: 255 символов.
  • в силу производительности, снимкам и другим возможностям — BtrFS является отличной файловой системой для сервера;
  • Oracle так же разрабатывает замену для NFS и CIFS , которая называется CRFS и которая призвана улучшить производительность для файловых хранилищ с BtrFS ;
  • тесты производительности показали отставание BtrFS от Ext4 на твердотельных носителях, таких как SSD и при операциях со сравнительно небольшими файлами:

ReizerFS

— представленная в 2001 году реализовала в себе многие возможности, которые никогда не смогут быть реализованы в Ext *. В 2004 на замену ReizerFS была выпущена ФС Reizer4 .

В то же время — разработка Reizer4 продвигается очень медленно, и до сих пор имеет ограниченную поддержку (?) в ядре Linux . В настоящее время реально доступной для использования остаётся только ReiserFS .

Характеристики:

  • максимальный размер файла: 1 EB ();
  • максимальный размер раздела: 16 TB;
  • максимальный размер имени файла: 4032 байт, но ограничено до 255 символов .
  • отличная производительность при работе с небольшими файлами, такими как файлы логов и отлично подойдёт для серверов баз данных или почтовых серверов;
  • ReiserFS хорошо поддаётся увеличению размера тома — но не поддерживает его уменьшение и шифрование на уровне ФС;
  • будущее Reiser4 пока остаётся под вопросом и пока BtrFS остаётся предпочтительным (?) выбором между этими двумя ФС.

ZFS

— стоит упомянуть тут, т.к. она так же разрабатывалась компание Oracle и имеет возможности, схожие с BtrFS и ReizerFS . Она так же стала весьма известна после того, как компания Apple о намерении использовать её в качестве ФС по умолчанию. Первый релиз ZFS состоялся в 2005 году.

В силу ограничений из-за лицензии — ZFS не может быть включена в ядро Linux , однако её поддержка возможна с помощью механизма Linux’s (FUSE ).

Характеристики:

  • максимальный размер файла: 16 EB ();
  • максимальный размер раздела: 256 ZiB (Zebibyte);
  • максимальный размер имени файла: 255 байт.
  • показыавет отличную производительность при работе с большими дисковыми массивами;
  • поддерживает возможности по объединению дисков в массивы, созданию снимков ФС, и работе со «расслоённым отображением» ( ) данных;
  • возможны сложности при попытке установки и использования в Linux -системах, в силу необходимости использования FUSE .

Swap

Swap — не является файловой системой вообще. Файл или раздел со swap -ом используется системой виртуальной памяти ядра и не имеет структуры файловой системы вообще. Её нельзя примонтировать и считать с неё данные, т.к. swap используется исключительно ядром Linux для записи страниц памяти не диск. Как правило — swap используется только в том случае, когда ОС испытывает недостаток в свободной RAM и «сбрасывает» часть данных из памяти в swap для её освобождения.

Для обеспечения нормальной работы персонального компьютера, требуется установка многих необходимых программ и сервисов.

Что такое файловая система

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

Файловой системе также доступен разноплановый доступ к информации: от ее сортировки и перемещения до удаления. Закономерно возникает вопрос: какая файловая система лучше, насколько она удобна в эксплуатации и каковы ее гарантии?

Популярные файловые системы

  1. Наиболее популярной считается файловая система FAT. Вот только ее явный недостаток – это ограниченное количество знаков при назывании файла, что значительно уменьшает эффективность управления данными.
  2. Этот недочет устранен в более поздних разработках системы NTFS. Поскольку все операционные системы размещают свою информацию на дисках, файловые системы тут просто незаменимы и должны качественно исполнять свои функции, без каких-либо сбоев. Что касается файловой системы NTFS, то она характеризуется как раз таким необходимым свойством, как самостоятельное восстановление после практически любых некорректных ситуациях.

Файловая система NTFS

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

Многие специалисты, рассуждая на тему того, какая файловая система лучше по части безопасности, называют именно NTFS, поскольку эта система содержит в себе множество средств, направленных на разграничение прав объектов. Как часто бывает, теория бессильна перед практикой: в реальном использовании система далека от идеальной.

Файловая система FAT

В связи со всем вышесказанным, FAT удовлетворяла потребности операционных систем раннего этапа развития. Но когда появился доступ к большим объемам памяти, из-за своих ограничений она сдала свои позиции более прогрессивным системам. Но при этом FAT более эффективно работает с небольшими каталогами файлов и идеально подходит для медленных дисков.

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

Файловая система для флешки

Лучшая файловая система для флешки – довольно актуальная проблема, поскольку такой вид хранения информации на сегодня наиболее популярен, многие считают, что для флеш-накопителя нужна какая-то особенная система. Многие пользователи неплохо отзываются о системе UDF, поскольку она без особых трудностей поддерживается практически всеми современными операционными системами. Но и выше описанные файловые системы также прекрасно справятся со всеми нужными действиями. Поэтому можете смело делать выбор в пользу любой из них, т.к они все обладают высокой степенью безопасности и эффективности в использовании.

Для того чтобы персональный компьютер работал нормально, необходима установка многих сервисов и программ, и об этом, наверное, каждый знает.

Сперва, давайте разберемся, что такое файловая система.

Файловые системы, обеспечивающие доступ к информации, которая расположена на диске при одновременном запуске нескольких процессов – и есть незаменимый элемент операционной системы. Файловые системы осуществляют удобный доступ к данным, которые содержатся на диске, при этом устраняя всевозможные некорректные ситуации.

Помимо всего, файловой системе доступен разноплановый доступ к информации, а именно, от ее сортировки и перемещения и до удаления. Возникает закономерно такой вопрос: Какая же лучше файловая система? Удобна ли она в эксплуатации? И каковы ее гарантии?

Какие самые популярные файловые системы существуют?
Самая популярная файловая система, которая занимает первое место – это FAT. Но у нее есть явный недостаток, выражающийся в ограниченном количестве знаков при назывании файла, что уменьшает в значительной степени эффективность управления данными.

Этот недочет был устранен в более поздних разработках системы NTFS. По той причине, что все операционные системы свою информацию размещают на дисках, тут файловые системы незаменимы и должны выполнять качественно свои функции, без каких-либо сбоев. Что можно сказать про файловую систему NTFS. Данная файловая система характеризуется как раз таким необходимым свойствам, как самостоятельное восстановление после любых некорректных ситуациях.

А теперь поговорим о каждой файловой системе отдельно.

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

Большинство специалистов считают, что самая безопасная файловая система – это NTFS. И все благодаря тому, она в себе содержит большое количество средств, которые направлены на разграничение прав объектов.

Система файлов FAT
Данная система FAT удовлетворяла потребности операционных систем более раннего этапа развития. Но когда появился доступ к большим объемам памяти, файловая система сдала свои позиции в пользу прогрессивных систем из-за своих ограничений. Файловая система FAT идеально подходит для медленных дисков и отлично работает с каталогами файлов небольшого размера. К сожалению, данная файловая система не справиться с файлами большого объема.

Перед тем, как выбрать файловую систему, вы должны определиться с задачами, которые вы будете перед ней ставить. Поэтому, если вы планируете работать с крупногабаритными дисками, которые полностью забиты информацией и на высокой скорости, то в данном случае идеально подойдет файловая система, о которой мы рассказывали ранее, а именно, NTFS.