Файловые системы часть 3
03.03.11Выбираем файловую систему. Дубль 2
В предыдущей части, рассматривая форматирование основного диска для Linux, мы вскользь упомянули о том, что для него можно использовать и другие файловые системы. На самом деле применение соответствующих файловых систем для решения разных задач — это одно из преимуществ Linux. Дело в том, что в отличие от дисков FAT32 или NTFS, файлы в которых организованы в отдельные иерархические структуры, Linux формирует единое дерево файлов. В нем каталоги делятся на две категории — обычные каталоги, содержащие файлы, и «точки монтажа» (mount point), к которым могут подключаться другие логические диски (в том числе и с другими файловыми системами). Самым простым примером таких точек являются подкаталоги media, которые предоставляют доступ к оптическим дисководам и съемным дискам. Как только в дисковод вставляется диск, он немедленно распознается системой и подключается к отдельному подкаталогу в каталоге media.
Точки монтирования: когда подкаталог равен целому логическому диску
Вообще в общее дерево файловой системы Linux при помощи точек монтажа можно подключить что угодно. И этим активно пользуются, выделяя под особые задачи логические диски с особыми файловыми системами.
В предыдущей главе, рассматривая форматирование логического диска под установку Linux, Acronis Disk Director нам предложил отформатировать основной диск для нее в reiserfs. Она была создана компанией Namesys в 2001 году, а ныне, после краха фирмы, активно разрабатывается выходцем из России и бывшим сотрудником Namesys Эдуардом Шишкиным. Это очень быстрая файловая система, оптимизированная для работы с большим количеством маленьких файлов. С такими файлами теоретически она может работать вдесятеро быстрее, чем ext3fs. Это достижение объясняется применением особого алгоритма хранения маленьких файлов, больше похожим на способ хранения записей в базах данных. Суть проста. Работа непосредственно с диском в этой файловой системе жестко ограничена. Обращение к нему происходит только тогда, когда закончена «транзакция» — атомарное действие над файлом, которое может быть либо выполнено полностью, либо никак. При помощи похожего подхода NTFS обеспечивает целостность данных, а вот reiserfs применяет ее для «упаковки файлов». Это значит, что все маленькие файлы собираются в крупные блоки и хранятся вместе. Этим достигается максимальная консолидация свободного места и высокая производительность. А она в свою очередь позволяет на лету изменять размер диска без потерь данных (так как нет нужды в их перемещении). Однако такая производительность куплена за счет замедления работы с файлами среднего или очень крупного размера, потому что их упаковывать в единые блоки сложнее, чем маленькие. В новой версии этой файловой системы для решения данной проблемы применяется сжатие — но даже оно не обеспечивает достаточной эффективности.
GParted умеет много гитик: перечень доступных файловых систем впечатляет
Другим важным преимуществом reiserfs является гибкость. Ее механизм включает в себя подсистему плагинов, которые позволяют добавить к файлу какие угодно атрибуты. Таким образом, можно весь жесткий диск с этой файловой системой превратить в огромную базу данных, а это критично для задач, оперирующих большим количеством документов, логов и других видов файлов данных. Например, такой задачей является разработка сложных программных комплексов, состоящих из большого количества модулей, их версий, дополнений и патчей. По оценкам компании IBM, на обновление дерева версий исходного кода Gentoo Linux под управлением ext3 уходит 2 минуты, а под управлением reiserfs — всего 15 секунд.
Поэтому для достижения максимальной производительности в случае возникновения подобных задач лучше всего для них выделить отдельный небольшой диск с reiserfs и подключить его в общее дерево Linux как точку монтажа.
Прямой противоположностью reiserfs является xfs. Она была разработана Silicon Graphics Inc. для работы c большими объемами данных. Первоначально она применялась только на мощных станциях под управлением IRIX, и в Linux ее поддержка появилась лишь в 2001 году, когда SGI выпустила ее под лицензией GNU. В настоящее время xfs редко используется обычными пользователями, хотя ее поддержка присутствует в Linux по умолчанию. Самым главным ее преимуществом является даже не изначальная поддержка RAID-массивов и дисков объемом свыше 2 ТБ. Xfs почти не требует дефрагментации, так как для размещения файлов применяет особые индексы, превращающие жесткий диск в огромную базу данных. А это позволяет хранить файлы не как последовательность разрозненных «блоков», а как целостные линейные потоки данных. Кроме того, драйверы xfs предполагают обращение к диску только при прекращении работы с файлом или же нехватки оперативной памяти. Все операции создания, изменения и чтения файлов производятся в ОЗУ или файле подкачки. Такой подход называется «отложенное размещение», он увеличивает скорость и позволяет отказаться от «жадного» алгоритма размещения файлов, а это резко снижает фрагментацию диска.
Однако подобный подход делает xfs сильно уязвимой для сбоев, и несмотря на разделение всех файловых операций на мельчайшие транзакции и детальное их журналирование, случайный сбой может уничтожить все данные, с которыми в тот момент работал пользователь. Причем уничтожение это будет полным — xfs реализует наивысший уровень безопасности данных, и все «лишние» куски данных в том же файле подкачки подлежат заполнению нулями. Ориентация на работу с ОЗУ, в свою очередь, выставляет к рабочей станции очень высокие требования — объем оперативной памяти должен как минимум вдвое превышать максимальный размер файла, с которым может работать пользователь, а сама станция должна иметь мощный процессор, способный управлять ею. Зато xfs является наилучшим выбором для продвинутых графических станций реального времени, поскольку крупными файлами (каковыми является «сырое» потоковое видео, например) она способна управлять быстрее любой другой файловой системы.
GParted
Где взять: http://rpm.pbone.net/index.php3? stat=3&search=gparted&srodzaj=3
Поддержка reiserfs: http://rpm.pbone.net/index.php3? stat=3&search=reiser4progs&srodzaj=3
Поддержка xfs: http://rpm.pbone.net/index.php3? stat=3&search=xfsprogs&srodzaj=3
Лицензия: свободно распространяемая
Операционная система: все семейства Linux
Оценка:
+ работает в любой операционной системе класса Linux
+ позволяет изменять объем и конфигурацию любых логических дисков
+ способна форматировать диски под любую файловую систему (за счет гибкого механизма плагинов, которые поставляются отдельно)
+ способна создавать GPT-диски (если их поддержка включена в ядре Linux)
— опасна, так как ее изменения в главном загрузочном секторе не всегда распознаются Windows и могут привести к краху системы в целом
Разговор о файловых системах и управлении дисковым пространством на самом деле выходит далеко за пределы данной статьи. Сама возможность использования нескольких файловых систем в одной системе обусловливает рост разработок под самые разные задачи. Так, например, бурно развивается сегмент специальных файловых систем для переносных носителей. Это не только FAT64, дальнейшее развитие FAT32 с пределом до 16 экзабайт. Это система TrueFFS, реализующая серьезную защиту от аппаратных сбоев, ExtremeFFS, рассчитанная на работу с крупными флеш-дисками и SSD-устройствами, и многое другое. Отдельного разговора заслуживают распределенные и сетевые файловые системы, способные объединять в единое целое дисковые пространства множества разобщенных рабочих станций. Существуют разработки, оптимизирующие работы с файлами под многопоточные приложения. Этот мир огромен. И в данной статье мы всего лишь постарались осветить ту часть, которая доступна обычным пользователям у них дома и которая поможет им увеличить эффективность работы с дисковым пространством.
Вячеслав Трухманов, [email protected]
Web-droid редактор
Не пропустите интересное!
Підписывайтесь на наши каналы и читайте анонсы хай-тек новостей, тестов и обзоров в удобном формате!
Обзор микрофона Maono PD200X и аудио-микшера Maonocaster G1 NEO
Maono предлагает не только звукозаписывающую технику, а и гаджеты для сведения аудио-потоков. Расскажем про микрофон Maono PD200X и аудио-микшер Maonocaster G1 NEO далее
Сервис онлайн гейминга Nvidia GeForce Now выпустили для Steam Deck Nvidia Steam консоль
На выставке CES 2025 компания Nvidia анонсировала, что в этом году планирует выпустить нативную версию приложения GeForce Now для Steam Deck
Petcube выпустила умный питьевой фонтан для домашних питомцев умный дом
Petcube Water Fountain уже доступен для предварительного заказа на официальном сайте компании. Цена устройства составляет $89.99 с керамической чашей и $69.99 с чашей из нержавеющей стали