Случившееся давеча в мире FOSS событие лучше всего описывается старым советским анекдотом времён Семидневной войны. Ныне он неполиткорректен (хотя некогда канал за патриотический), и потому пересказывать его я не буду. Но удержаться от того, чтобы вынести последние его слова в заголовок этой блогометки, не мог.
Ещё в процессе обдумывания результатов сравнения быстродействия ZFS и XFS мне не давал покоя вопрос: насколько замечательные скоростные показатели последней обусловлены её собственными достоинствами, а насколько обеспечиваются softRAID Level0? Ответить на него можно было только одним способом: повторить все сделанные замеры на файловой системе XFS, водружённой на раздел единичного SSD.
Файловая система XFS была создана очень давно — в 1994 году, и с 2004 года штатно поддерживается ядром Linux (с её историей можно ознакомиться в онлайновой книжке Вопросы истории: UNIX, Linux, BSD и другие). На фоне новомодных файловых систем, вроде F2FS и NILFS2, и тем более таких интегрированных систем размещения данных, как ZFS и BTRFS, она, подобно рыбе латимерии, выглядит живой окаменелостью. И, казалось бы, за прошедшие двадцать лет должна была безнадёжно устареть.
В предыдущей заметке про f2fs и nilfs2 я говорил, что обе эти файловые системы не имеют сейчас сферы практического применения, хотя и могут приобрести её в будущем. А поскольку я в процессе экспериментов в каждой из них отформатировал по флешке объёмом 4 ГБ, появилось резонное желание поглядеть на это самое будущее, хотя бы в плане оценки быстродействия.
Необходимость в этой заметке я ощутил во время сочинения интермедии в цикле про DragonFly, конкретно — про модели именования её устройств. Поскольку в этой операционке, как и в Linux’е, номенклатура дисковых накопителей давно уже не сводится к каноническим именам так называемого «верхнего уровня» (/dev/sd?# в Linux’е, /dev/ad# или /dev/da# — во FreeBSD и DragonFly), о которых повествуется в «толстых» книжках (тем более что последним из таковых на русском языка скоро стукнет десять лет).
Одной из отличительных особенностей логического устройства файловой системы операционок POSIX-семейства является их иерархическая, или древовидная, организации (правда, как я уже говорил дерево выглядит это немного странно). То есть здесь нет, как в DOS или Windows любого рода, обозначений (например, буквенных, или каких-либо иных) для отдельных носителей и их разделов: все они включаются в единую структуру в качестве подкаталогов главного каталога. называемого корневым. Процесс подключения файловых систем на самостоятельных физических носителях (и их разделах) к корню файлового древа называется монтированием, а подкаталоги, содержимое которых они составляют, именуются точками монтирования.
Во времена далёкие, теперь совсем былинные, ядро Linux’а собирал каждый применитель этой системы — и это было необходимостью. В более близкий период времени, ставший былинным почти, ядро пересобирали многие — и это было спортом, причём ещё вполне прикладным. Во времена вчерашние ядро стали собирать довольно редко — обычно во всякого рода нештатных ситуациях.
Для чего вообще RAID на десктопе? Резонный человек скажет, что либо а) для повышения производительности (RAID level 0), либо б) для увеличения надёжности (RAID level 1), либо в) для счастливого сочетания того и другого (RAID level 5). Прочие уровни для десктопа действительно практического значения не имеют — разве что уж для тех, кто совсем с претензиями — RAID level 10.На все эти ответы можно привести не менее резонные возражения, как-то:
В прежние времена, когда речь заходила о RAID на аппаратных контроллерах, имелись ввиду «настоящие железные» решения, реализованные на отдельных платах, оснащённых собственными чипами, кэш-памятью, BIOS’ом и прочими атрибутами. В результате чего даже простые карты с интерфейсом PATA/SATA по стоимости превосходили материнские платы. А о SCSI- или SAS-картах, требовавших к тому же и много более дорогостоящих винчестеров, даже и упоминать не хочется.
Нейл Браун (Neil Brown)
Перевод Алексея Федорчука. версия 2, причёсанная Оригинал, 10 октября 2012
От переводчика. Это на сегодняшний день наиболее полное описание файловой системы F2FS. В ней рассматривается именно та её реализация, которая была передана в исходных текстах разработчикам ядра Linux (которые включили её в версию 3.8. Перед прочтением настоятельно рекомендуется ознакомиться с работой Валерии Авроры про log-структурированные файловые системы, иначе кое-что здесь будет не понятно — вне зависимости от степени владения (или не владения) английским.
Алексей Федорчук Впервые опубликовано: LinuxFormat, #169 (апрель 2013)
За последние лет 10-15 мы неоднократно читали победные реляции об успехах в компьютерной области. Однако настоящим успехом последних лет можно считать только начало широкого распространения SSD-накопителей: впервые за всю историю дисковая подсистема перестала быть хроническим тормозом производительности.
Валерия Аврора (Valerie Aurora, formerly Henson)
Перевод Алексея Федорчука, версия 2, причёсанная Оригинал, 18 октября 2009
От переводчика. Эту статью следует рассматривать как введение в тему файловых систем для твердотельных накопителей любого рода. Она написана ещё до широкого распространения SSD-накопителей, но в преддверии его, и потому сохраняет актуальность.
Версия книги для чтения online (очень большая). Версии для оффлайнового чтения в большинстве актуальных машинно-читаемых форматов можно скачать со страницы Библиотека Блогосайта.
Колонки и статьи Алексея Федорчука, печатавшиеся в журнале LinuxFormat на протяжении 2006-2013 годов, собранные в хронологическом порядке. Они посвящёны UNIX, Linux и другим UNIX-подобным системам, их приложениям, а также идеологическим вопросам Свободного и Открытого Программного Обеспечения (FOSS). Публикуются в авторской редакции.
Алексей Федорчук Впервые опубликовано: LinuxFormat, #125 (декабрь 2009)
Многие, чьё знакомство с Red Hat и его клонами пришлось на 90-е годы, надолго сохранили предубеждение и против формата их пакетов, и против утилиты управления оными. Конечно, дать команду rpm -ihv — проще, нежели собрать нужный пакет из исходников. Однако, в сравнении с портами FreeBSD, с одной стороны, и с Debian’овским APT’ом — с другой, она приобретала вид вполне бледный.
Файловая система btrfs не так давно стала полноправным членом семейства нативных ФС для Linux (начиная с ядра 2.6.29). И едва это случилось — она претерпела кардинальное изменение формата, что ознаменовалось выходом, после почти полугодичного перерыва, инструментария для работы с ним — btrfs-progs 0.19, рассчитанным на грядущее ядро 2.6.31. Который, по уверению разработчика, Криса Мэзона, способен создавать файловую систему с кардинально повышенным быстродействием. Несовместимую, однако, с инструментарием предыдущей версии.
Автор: Алексей Федорчук Впервые опубликовано: LinuxFormat, #121 (август 2009)
Ядро Linux версии 2.6.30 порадовало нас, в числе прочих новшеств, и поддержкой NILFS (New Implementation of a Log-Structured File System) – Лог-структурированной Файловой Системы в Новом Исполнении. И действительно, в ряду ФС последнего поколения, таких, как более известные ext4 или btrfs, она выделяется рядом особенностей.
Алексей Федорчук
Впервые опубликовано: LinuxFormat, #115 (февраль 2009)
После появления ZFS, объединившей в себе файловую систему и систему управления томами, трудно было ожидать чего-то принципиально нового в этой области. Однако в Linux, по лицензионным соображениям, она может использоваться только через FUSE, что лишает её основных преимуществ перед файловыми системами традиционными. И потому в этой ОС не замедлили появиться свои решения. Самым оригинальным из них оказалась btrfs, последние версии которой уже включены в релиз-кандидаты грядущего ядра 2.6.29.
Автор: Алексей Федорчук Мир Linux. Наброски к книге
Самый простой способ получить права администратора — это авторизоваться в приглашении текстовой консоли под логином root с вводом соответствующего пароля (который почти во всех дистрибутивах задаётся при инсталляции). Однако в данном случае просто не означает хорошо.
Автор: Алексей Федорчук Мир Linux. Наброски к книге
Команда su — традиционный способ получения прав администратора внутри сеанса обычного пользователя (независимо, консольного или Иксового). Насколько я знаю, она испокон веков существует во всех POSIX-совместимых системах. Её GNU-версия, используемая в Linux, входит в состав пакета coreutils.
Автор: Алексей Федорчук Мир Linux. Наброски к книге
Команда sudo — это ещё один способ ущемления прав пользователя при доступе к аккаунту администратора. Он принят по умолчанию во всех дистрибутивах семейства Ubuntu, может быть задействован при инсталляции в Debian’е (хотя и по заказу) или подключён в любом другом дистрибутиве Linux.
Как уже говорилось, утилита fdisk часто оказывает устрашающее действие на начинающих пользователей. И потому, идя навстречу их невысказанным пожеланиям, Кевин Мартин (Kevin E. Martin) написал к ней консольный фронт-энд с меню-ориентированным интерфейсом, получивший имя cfdisk. Как и fdisk, эта утилита входит в составпакета linux-utils-ng.
Начнёем с fdisk: именно им больше всего пугали в старые времена начинающих пользователей Linux, предлагая дружественные альтернативы типа Disk Druid. Однако при ближайшем рассмотрении выясняется, что ничего устрашающего в ней нет.
В Linux создание и первичных, и логических разделов — единый процесс, выполняемый с помощью одной и той же программы. Программ таких немало — для разбиения диска можно использовать:
Противоречивые результаты измерений быстродействия, полученные для btrfs и nilfs2 , не давали мне покоя. И потому, вернувшись после некоторого перерыва в Xubuntu, точнее, в её тестовую версию (9.10), я был рад обнаружить там ядро 2.6.31-rc2, собранное с модульной поддержкой обеих этих файловых систем.
Пока широкие народные массы обсуждали достоинства и недостатки файловых систем нового поколения для Linux — ext4 и btrfs, — в ядро Linux версии 2.6.30 без шума и пыли была включена поддержка файловой системы NILFS2. Штатно, хотя и в качестве экспериментальной опции.
О выходе новой версии файловой системы btrfs и инструментария к ней, маркированного номером 0.19, я вкратце писал . И, в частности, упоминал, что, согласно уверениям разработчика, она кардинально улучшена по сравнению с предшественницей в части быстродействия. Поскольку и раньше btrfs медлительностью не отличалась, это вызвало желание опробовать новинку.
В конце прошлого и начале нынешнего года новые версии файловой системы btrfs (патчи к ядру) и инструментария для работы с ней выходили с регулярностью чуть ли не недельной. Однако после официального включения её поддержки в ядро Linux 2.6.29, чему соответствовала btrfs-progs-0.18 (17 января 2009 года) наступило полугодовое затишье.
Несколько лет назад, почти сразу после внедрения в Linux механизма udev, я написал краткую заметку по поводу с первых разборок с оным. Нынче, в связи со вновь образовавшимися обстоятельствами, настало время опять обратиться к этой теме, расширив и даже, как сказал бы один из наших президентов, углубив её.
О дисковой разметке в Unix-подобных (или POSIX-совместимых) операционных системах написано немало. Много копий было сломано в форумных обсуждениях того, насколько дробно следует размечать диск, каковы предпочтительные файловые системы в зависимости от назначения, какие опции форматирования и параметры монтирования следует задавать для отдельных ветвей файловой иерархии, выносимых на самостоятельные разделы. А также теоретическим вопросам — насколько практика разметки, форматирования монтирования согласуется с квази-законодательным документом — стандартом файловой иерархии, FHS (Filesystem Hierarchy Standard).