В чем отличие "новых" файловых систем (XFS, BTRFS) в Линуксе от "традиционных" (EXT2,3,4)?
Я устанавливаю Линукс, и вижу возможность выбирать разные файловые системы для разных точек монтирования.
Хочу понять, чем "старые" системы (EXT2, EXT3, EXT4) отличаются от "новых" (XFS, BTRFS)
При этом я рассуждаю так: раз новые файловые системы придмали - значит, они решают какие то специфические проблемы?
Спасибо за подсказку!
Ответы (1 шт):
Уважаемые комментаторы,
нагуглить разницу между файловыми системами - это не сложно.
А вот понять, в чем разница "в общем" (для новичка) - более сложная задача.
Попробую написать "общий" ответ.
Два главных отличия "современных" файловых систем от "традиционных" - это "copy-on-write" и поддержка снепшотов.
Первое означает следующее: вы выбираете большой файл, говорите "скопировать его!" (в пределах этой файловой системы). Система мгновенно рапортует: "Скопировано!". Физического копирования не происходит. Потому что если два файла не отличаются ни одним байтом - то зачем хранить две копии? А вот если второй файл будет изменён - то файловая система создает его вторую (физическую, то есть, занимающую "настоящие секторы на диске") копию.
Второе означает следующее: можно в определенный момент сказать "мир, остановись!" - и это станет точкой, на которой будет зафиксировано состояние файловой системы. Будет сделан так называемый "снимок" (по крайней мере, на русском чаще всего используется этот термин). Снепшот близок к бэкапу, но отличается тем, что делается "мгновенно", в то время как бэкап занимает время, тем большее, чем больше размер диска, который бэкапится.
Эти две функции стали ответом на 1) всё увеличивающийся размер дисков, что приводит к тому, что бэкап диска не успевает завершиться за разумное время 2) использование "виртуалок" и контейнеров, которым очень часто нужны образы дисков, причем часть образа может "шариться" (совместно использоваться) разным виртуальными машинами.
Конечно, это лишь часть возможностей современных FS. Другие их возможности - это поддержка сжатия (файл сохраняется в сжатом виде, но это происходит "прозрачно" в момент записи) и дедупликации (как на уровне файлов, так и на уровне блоков), а также резервирования (при выходе из строя одного физического носителя файловая система продолжает работать, а при его замене - восстанавливает содержимое. Как в RAID5, только немного лучше) - а также, многое другое.
я надеюсь, так стало понятнее?
Ну, и в заключение - приведу "сводную таблицу", я не проверял её, просто нашел здесь ( и кажется, что комментарии к этой статье - интереснее самой статьи ):
Показатель |Ext4 |XFS |Btrfs
| | |
Дата выхода |1992 |2002 |2006
Максимальный размер раздела |50-100 Тб |8 Эб |16 Эб
Максимальный размер файла |16 Тб |8 Эб |16 Эб
Максимальное количество файлов |2^32 |2^64 |2^64
Максимальная длина имени |255 |255 |255
Прозрачное шифрование |Да |Нет |Нет
Прозрачное сжатие |Нет |Нет |Да
Управление томами |Нет |Нет |Да
Дедупликация |Нет |Нет |Да
Уменьшение размера раздела |Да |Нет |Да
Создание снапшотов |Нет |Нет |Да
Copy-on-write |Нет |Да |Да