ћерион Ќетворкс

11 минут чтени€

Linux поддерживает множество файловых систем, таких как ext4, ZFS, XFS, Btrfs, Reiser4 и другие.

“ипы файловых систем Linux

–азличные типы файловых систем решают разные проблемы, и их использование зависит от приложени€.


„то такое файлова€ система Linux

ѕочти каждый бит данных и программ, необходимых дл€ загрузки системы Linux и поддержани€ ее работы, сохран€етс€ в файловой системе. Ќапример, сама операционна€ система, компил€торы, прикладные программы, раздел€емые библиотеки, файлы конфигурации, файлы журналов, точки монтировани€ мультимедиа и т.д.

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

‘айлова€ система Linux обычно представл€ет собой встроенный уровень операционной системы Linux, используемый дл€ управлени€ данными хранилища. ќн контролирует, как данные хран€тс€ и извлекаютс€. ќн управл€ет именем файла, размером файла, датой создани€ и другой информацией о файле.


‘айлова€ система ext4

¬ 1992 году была запущена файлова€ Extended File System или ext специально дл€ операционной системы Linux. ќна уходит своими корн€ми в операционную систему Minix. ¬ 1993 году было выпущено обновление под названием Extended File System 2 или ext2, которое в течение многих лет было файловой системой по умолчанию во многих дистрибутивах Linux.   2001 году ext2 была обновлена до ext3, котора€ ввела журналирование дл€ защиты от повреждений в случае сбоев или сбоев питани€.

Ext4 была представлена в 2008 году и €вл€етс€ файловой системой Linux по умолчанию с 2010 года. ќна была разработана как прогрессивна€ верси€ файловой системы ext3 и преодолевает р€д ограничений в ext3. ќна имеет значительные преимущества перед своим предшественником, такие как улучшенный дизайн, лучша€ производительность, надежность и новые функции.

¬ насто€щее врем€ ext4 €вл€етс€ файловой системой по умолчанию в большинстве дистрибутивов Linux. ќна может поддерживать файлы и файловые системы размером до 16 терабайт. ќна также поддерживает неограниченное количество подкаталогов (файлова€ система ext3 поддерживает только до 32 000).  роме того, ext4 обратно совместима с ext3 и ext2, что позвол€ет монтировать эти старые версии с драйвером ext4.

≈сть причина, по которой ext4 €вл€етс€ выбором по умолчанию дл€ большинства дистрибутивов Linux. ќна опробована, протестирована, стабильна, отлично работает и широко поддерживаетс€. ≈сли вам нужна стабильность, ext4 - лучша€ файлова€ система Linux дл€ вас.

ќднако несмотр€ на все свои функции, ext4 не поддерживает прозрачное сжатие, прозрачное шифрование или дедупликацию данных.


‘айлова€ система XFS

XFS - это высокомасштабируема€ файлова€ система, разработанна€ Silicon Graphics и впервые развернута€ в операционной системе IRIX на базе Unix в 1994 году. Ёто файлова€ система с журналированием котора€ отслеживает изменени€ в журнале перед фиксацией изменений в основной файловой системе. ѕреимущество заключаетс€ в гарантированной целостности файловой системы и ускоренном восстановлении в случае сбоев питани€ или сбоев системы.

ѕервоначально XFS была создана дл€ поддержки чрезвычайно больших файловых систем с размерами до 16 эксабайт и размером файлов до 8 эксабайт. ќна имеет долгую историю работы на больших серверах и массивах хранени€.

ќдной из примечательных особенностей XFS €вл€етс€ гарантированна€ скорость ввода-вывода. Ёто позвол€ет приложени€м зарезервировать пропускную способность. ‘айлова€ система рассчитывает доступную производительность и корректирует свою работу в соответствии с существующими резервировани€ми.

XFS имеет репутацию системы, работающей в средах, требующих высокой производительности и масштабируемости, и поэтому регул€рно оцениваетс€ как одна из самых производительных файловых систем в больших системах с корпоративными рабочими нагрузками.

—егодн€ XFS поддерживаетс€ большинством дистрибутивов Linux и теперь стала файловой системой по умолчанию в Red Hat Enterprise Linux, Oracle Linux, CentOS и многих других дистрибутивах.

Ћучшие варианты использовани€ файловой системы XFS

” вас большой сервер? ” вас большие требовани€ к хранилищу или у вас есть локальный медленный диск SATA?

≈сли и ваш сервер, и ваше устройство хранени€ большие и нет необходимости уменьшать размер файловой системы, XFS, веро€тно, будет лучшим выбором. XFS - отлична€ файлова€ система, котора€ хорошо масштабируетс€ дл€ больших серверов. Ќо даже с меньшими массивами хранени€ XFS работает очень хорошо, когда средние размеры файлов велики, например, размером в сотни мегабайт.


‘айлова€ система btrfs

Btrfs - это файлова€ система Linux общего назначени€ нового поколени€, котора€ предлагает уникальные функции, такие как расширенное интегрированное управление устройствами, масштабируемость и надежность. ќн распростран€етс€ под лицензией GPL и открыт дл€ внесени€ вклада кем угодно. ƒл€ файловой системы используютс€ разные имена, в том числе ЂButter FSї, ЂB-tree FSї и ЂBetter FSї.

–азработка Btrfs началась в Oracle в 2007 году. ќна была объединена с основным €дром Linux в начале 2009 года и дебютировала в версии Linux 2.6.29.

Btrfs не €вл€етс€ преемником файловой системы ext4 по умолчанию, используемой в большинстве дистрибутивов Linux, но предлагает лучшую масштабируемость и надежность. Btrfs - это файлова€ система с копированием при записи (Copy-on-Write - CoW), предназначенна€ дл€ устранени€ различных недостатков в текущих файловых системах Linux. ќсновное внимание удел€етс€ отказоустойчивости, самовосстановлению и простоте администрировани€.

Btrfs может поддерживать до 16 эксбибайт раздела и файл того же размера. ≈сли вас смущают цифры, все, что вам нужно знать, это то, что Btrfs может поддерживать до шестнадцати раз больше данных Ext4.

 ак работает Copy-on-Write и зачем вам это нужно

¬ традиционной файловой системе при изменении файла данные считываютс€, измен€ютс€, а затем записываютс€ обратно в то же место. ¬ файловой системе с копией при записи он считывает данные, измен€ет их и записывает в новое место. Ёто предотвращает потерю данных во врем€ транзакции чтени€-изменени€-записи, поскольку данные всегда наход€тс€ на диске.

ѕоскольку вы не Ђперенаправл€етеї до тех пор, пока новый блок не будет полностью записан, если пропадет питание или выйдет из стро€ в середине записи, вы получите либо старый блок, либо новый блок, но не наполовину записанный поврежденный блокировать. “аким образом, вам не нужно провер€ть файловые системы при запуске, и вы снижаете риск повреждени€ данных.

¬ы можете сделать снимок файловой системы в любой момент, создав запись снимка в метаданных с текущим набором указателей. Ёто защищает старые блоки от последующего сбора мусора и позвол€ет файловой системе представить том в том виде, в котором он был во врем€ моментального снимка. ƒругими словами, у вас есть возможность мгновенного отката. ¬ы даже можете клонировать этот том, чтобы сделать его доступным дл€ записи на основе снимка.

ќсобенности Btrfs

  • Copy-on-Write и создание снепшотов - —делайте инкрементное резервное копирование безболезненным даже из файловой системы в процессе работы или виртуальной машины (VM).
  •  онтрольные суммы на уровне файла - метаданные дл€ каждого файла включают контрольную сумму, котора€ используетс€ дл€ обнаружени€ и исправлени€ ошибок.
  • —жатие - файлы можно сжимать и распаковывать "на лету", что увеличивает скорость чтени€.
  • јвтоматическа€ дефрагментаци€ - файловые системы настраиваютс€ фоновым потоком, пока они используютс€.
  • ѕодтомы - файловые системы могут совместно использовать единый пул пространства вместо того, чтобы помещатьс€ в свои собственные разделы.
  • RAID - Btrfs выполн€ет свои собственные реализации RAID, поэтому LVM или mdadm не требуютс€ дл€ наличи€ RAID. ¬ насто€щее врем€ поддерживаютс€ RAID 0, 1 и 10. RAID 5 и 6 считаютс€ нестабильными.
  • –азделы необ€зательны - хот€ Btrfs может работать с разделами, он может напр€мую использовать необработанные устройства (/dev/<device>).
  • ƒедупликаци€ данных - поддержка дедупликации данных ограничена; однако дедупликаци€ со временем станет стандартной функцией Btrfs. Ёто позвол€ет Btrfs экономить место, сравнива€ файлы через двоичные файлы diff.

’от€ это правда, что Btrfs все еще считаетс€ экспериментальным и в насто€щее врем€ находитс€ в активной разработке, врем€, когда Btrfs станет файловой системой по умолчанию дл€ систем Linux, приближаетс€. Ќекоторые дистрибутивы Linux уже начали переходить на него в своих текущих выпусках.


‘айлова€ система ZFS

ZFS (Zettabyte File System) остаетс€ одной из наиболее технически продвинутых и полнофункциональных файловых систем с момента ее по€влени€ в окт€бре 2005 года. Ёто локальна€ файлова€ система (например, ext4) и менеджер логических томов (например, LVM), созданные Sun Microsystems. ZFS публиковалась под лицензией с открытым исходным кодом, пока Oracle не купила Sun Microsystems и не закрыла лицензию.

¬ы можете думать о ZFS как о диспетчере томов и как о RAID-массиве одновременно, что позвол€ет добавл€ть дополнительные диски к вашему тому ZFS, что позвол€ет одновременно добавить дополнительное пространство в вашу файловую систему. ¬ дополнение к этому ZFS обладает некоторыми другими функци€ми, которых нет в традиционных RAID.

ZFS сильно зависит от пам€ти, поэтому дл€ запуска вам потребуетс€ не менее 8 √Ѕ. Ќа практике используйте столько, сколько можете получить в соответствии с вашим аппаратным обеспечением или бюджетом.

ZFS обычно используетс€ сборщиками данных, пользовател€ми NAS и другими гиками, которые предпочитают полагатьс€ на собственную избыточную систему хранени€, а не на облако. Ёто отлична€ файлова€ система дл€ управлени€ несколькими дисками с данными, котора€ может соперничать с некоторыми из лучших конфигураций RAID.

ZFS похожа на другие подходы к управлению хранилищем, но в некотором смысле радикально отличаетс€. ZFS обычно не использует Linux Logical Volume Manager (LVM) или разделы диска, и обычно удобно удал€ть разделы и структуры LVM перед подготовкой носител€ дл€ zpool.

Zpool - это аналог LVM. Zpool охватывает одно или несколько устройств хранени€, а члены zpool могут быть нескольких различных типов. ќсновные элементы хранени€ - одиночные устройства, зеркала и raidz. ¬се эти элементы хранени€ называютс€ vdevs.

ZFS может обеспечить целостность хранилища намного лучше, чем любой RAID-контроллер, поскольку он досконально знает структуру файловой системы. Ѕезопасность данных - важна€ особенность конструкции ZFS. ¬се блоки, записанные в zpool, тщательно провер€ютс€ контрольной суммой дл€ обеспечени€ согласованности и правильности данных.

ƒл€ использовани€ на сервере, где вы хотите почти полностью исключить любую возможность потери данных и стабильности, вы можете изучить ZFS.

¬озможности ZFS

  • Ѕесконечна€ масштабируемость. „то ж, технически она не бесконечна, но это 128-битна€ файлова€ система, способна€ управл€ть зеттабайтами (одним миллиардом терабайт) данных. ѕоэтому независимо от того, сколько у вас места на жестком диске, ZFS подойдет дл€ управлени€ им.
  • ћаксимальна€ целостность. ¬се, что вы делаете внутри ZFS, использует контрольную сумму дл€ обеспечени€ целостности файла. ¬ы можете быть уверены, что ваши файлы и их резервные копии не испытают скрытого повреждени€ данных.  роме того, пока ZFS незаметно провер€ет целостность ваших данных, она будет выполн€ть автоматическое восстановление в любое врем€.
  • ќбъединение дисков. —оздатели ZFS хот€т, чтобы вы думали об этом как о том, как ваш компьютер использует оперативную пам€ть.  огда вам нужно больше пам€ти на вашем компьютере, вы вставл€ете другую карту, и все готово. “очно так же с ZFS, когда вам нужно больше места на жестком диске, вы вставл€ете другой жесткий диск, и все готово. Ќе нужно тратить врем€ на разбиение на разделы, форматирование, инициализацию или что-то еще с вашими дисками. ≈сли вам нужен Ђпулї хранилища большего размера, просто добавьте диски.
  • RAID. ZFS поддерживает множество различных уровней RAID, обеспечива€ при этом производительность, сравнимую с производительностью аппаратных RAID-контроллеров. Ёто позвол€ет сэкономить деньги, упростить настройку и получить доступ к превосходным уровн€м RAID, которые были улучшены в ZFS.

‘айлова€ система Reiser4

ReiserFS - это файлова€ система общего назначени€ с журналированием, первоначально разработанна€ и реализованна€ командой Namesys во главе с ’ансом –айзером. ѕредставленна€ в версии 2.4.1 €дра Linux, это была перва€ файлова€ система с журналированием, включенна€ в стандартное €дро.

«а исключением обновлений безопасности и исправлений критических ошибок, Namesys прекратила разработку ReiserFS. Reiser4 €вл€етс€ преемницей файловой системы ReiserFS. ƒобавилось шифрование, улучшил производительность и многое другое.

Reiser4 обеспечивает наиболее эффективное использование дискового пространства среди всех файловых систем во всех сценари€х и рабочих нагрузках. ReiserFS предлагает преимущества перед другими файловыми системами, особенно когда дело доходит до обработки большого количества небольших файлов. ќна поддерживает ведение журнала дл€ быстрого восстановлени€ в случае возникновени€ проблем. —труктура файловой системы основана на деревь€х.  роме того, Reiser4 потребл€ет немного больше ресурсов ÷ѕ, чем другие файловые системы.

Reiser4 обладает уникальной способностью оптимизировать дисковое пространство, занимаемое небольшими файлами (менее одного блока). ќни полностью хран€тс€ в своем индексном дескрипторе, без выделени€ блоков в области данных.

ѕомимо реализации традиционных функций файловой системы Linux, reiser4 предоставл€ет пользовател€м р€д дополнительных возможностей: прозрачное сжатие и шифрование файлов, полное ведение журнала данных, а также практически неограниченную (с помощью архитектуры подключаемых модулей) расшир€емость.

ќднако в насто€щее врем€ нет поддержки пр€мого ввода-вывода (началась работа по реализации), квот и POSIX ACL.


—кидки 50% в Merion Academy

¬ыбрать курс