CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
24.10.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки :: Файловые системы

Обновлённая btrfs: так ли она быстра?

http://alv.me/

В конце прошлого и начале нынешнего года новые версии файловой системы btrfs (патчи к ядру) и инструментария для работы с ней выходили с регулярностью чуть ли не недельной. Однако после официального включения её поддержки в ядро Linux 2.6.29, чему соответствовала btrfs-progs-0.18 (17 января 2009 года) наступило полугодовое затишье.

И вот, давеча, заглянув в архив исходников btrfs, я обнаружил, что уже дней десять как там лежит новая версия btrfs-progs — 0.19, о чем никаких официальных сообщений мне не попадалось. С Changelog'ом можно ознакомиться здесь.

Вкратце: новая версия инструментария предназначена для ядра Linux 2.6.31-rc1; она поддерживает новый формат btrfs и обратно совместима со старым, но не наоборот. То есть файловые системы btrfs, созданные посредством v0.19, предыдущими версиями инструментария пониматься не будут. Утверждается, что v0.19 являет собой кардинальное ускорение почти для всех задач по сравнению с v0.18. Код поддержки нового формата доступен также для ядра 2.6.30 следующим образом:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git newformat2

Поскольку и раньше btrfs медлительностью не отличалась, это вызвало желание опробовать новинку.

Первая попытка успехом не увенчалась: я скачал ядерный бранч Криса Мейсона с git.kernel.org указанным выше образом и даже благополучно, то есть без ошибок, его собрал в Xubuntu. Однако загружаться новое ядро в этом дистрибутиве категорически отказалось, жалуясь на ошибки в VFS, хотя вроде поддержка всего, чего требовалось, в конфигурации ядра была включена (за основу был взят действующий конфиг рабочей системы).

Поэтому я ухватился за новую версию Fedora, в разрабатываемом варианте которой использовалось ядро 2.6.31-rc1, то самое, в котором поддержка нового формата btrfs была включена изначально. Успешно установив 11-ю версию Fedora и обновив её до Rawhide, как это было описано в предыдущей заметке, я получил плацдарм для дальнейших действий.

Надо отметить, что был и другой вариант приобщения к btrfs 0.19 — использование специально собранного Крисом Live-дистрибутива на базе Archlinux'а, предназначенного для загрузки с флэшки. Но о нём я узнал только, когда деятельность по освоению Fedora была в полном разгаре, так что отвлекаться смысла уже не было. Тем не менее, желающие могут скачать его (в 32- и 64-битном вариантах) отсюда — спасибо Михаилу Рудаченко aka Ali за наводку.

Однако вернёмся к нашей Fedora. Обновив вместе со всей системой ядро до версии 2.6.31-0.39.rc1.git9.fc12.x86_64, я первым делом проверил, а включена ли в нём поддержка btrfs "искаропки":

$ less  /boot/config-2.6.31-0.39.rc1.git9.fc12.x86_64
| grep BTRFS
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
Как можно видеть из вывода, ответ оказался положительным — правда, она была включена как модуль, я же на самосборных ядрах встраивал её в ядро жёстко. Хотя сам Крис рекомендует именно модульное подключение. Имела место быть и связанная с модулем библиотека CRC32C.

Следующий проверочный шаг показал, что все необходимые модули не просто наличествуют, но и задействованы в системе:

$ lsmod | grep btrfs
btrfs                 425256  0
zlib_deflate           20424  1 btrfs
libcrc32c               2072  1 btrfs
А вот инструментария для работы с btrfs в системе после моей инсталляции не оказалось. Что было легко исправимо: посредством
$ yum search btrfs
я отыскал нужный пакет
btrfs-progs.x86_64 : Userspace programs for btrfs
с помощью
$ yum list btrfs-progs
убедился в соответствии версии
btrfs-progs.x86_64                         0.19-3.fc12
После чего сталось только инсталлировать оный:
su -
# yum install btrfs-progs
Теперь надо было создать новый вариант файловой системы — под неё я, как и раньше, отдал пятнадцатигигабайтный раздел, используемый для помещения скачанных из Сети программ. Обнулив для страховки его прежнее содержимое
# dd if=/dev/zero of=/dev/sdb2
выполняю форматирование с опциями по умолчанию:
# mkfs.btrfs /dev/sdb2
и обеспечиваю его монтирование от лица пользователя записью в /etc/fstab:
/dev/sdb2	/home/alv/test	btrfs	noatime,noauto,user	0 0
Вот теперь можно было заняться измерениями. Они проводились всё на том же, многократно поминавшемся ранее железе и включали тот же комплекс мероприятий, что и прежде . Каковой, напомню, заключался в измерении времени копирования серии flac-файлов, дерева портежей Gentoo, большого (2,7 Гбайт) avi-файла и iso-образа Xubuntu, а также удаления дерева портежей (засекать время удаления прочих файлов смысла не имело).

Результаты измерений приведены в таблице — в сравнении с таковыми для btrfs предыдущего формата (описывалось здесь ), а также файловыми системами нового поколения — ext4 (для Linux, описывалось здесь ) и ZFS (для FreeBSD, описывалось здесь ).

Таблица
Операция Копирование Удаление
Объект Музыка Portage Avi Iso Portage
Btrfs 0.19 00:05 00:52 01:13 00:08 00:26
Btrfs 0.18 00:07 00:24 01:25 00:17 00:22
Ext4 00:10 00:15 01:44 00:19 00:04
ZFS 00:12 00:29 02:30 00:21 00:16

Результаты оказались довольно интересными. Можно видеть некоторое ускорение таких операций, как копирование набора flac-файлов

btrfs019-01.gif

большого avi-файла

btrfs019-03.gif

и iso-образа:

btrfs019-04.gif

По всем этим показателям btrfs версии 0.19 не только превосходит предшественницу, но и уверенно опережает все остальные "юные" файловые системы, которые, в свою очередь, показывают большее быстродействие, чем файловые системы традиционные (см. последнее тестирование оных).В то же время результаты копирования дерева портежей иначе чем провальными для btrfs 0.19 назвать нельзя:

btrfs019-02.gif

Да и удаление множества мелких файлов по сравнению с версией 0.18, которая в этом отношении тоже не блистала, несколько ухудшилось:

btrfs019-05.gif

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

И тем не менее, это не основание отказываться от использования btrfs: массовые операции с очень маленькими файлами — это специфика Source Based дистрибутивов с их портообразными системами пакетного менеджмента, в обычных пакетных дистрибутивах они более чем редки. А по быстродействию с обычными пользовательскими данными btrfs новой версии ещё более увеличила свой отрыв от всех возможных конкуренток.




Комментарии

sasha_k, Wed Jul 22 15:44:02 2009:
>linux4ever, пятница, 17 июля 2009 г. 18:35:36:
>Ведорчуг со своими сферическими конями в вакууме
>нахер никому не нужен. У него уже ЧСВ зашкаливает.

Подозреваю, что Федорчук делает то, что ему нравится и "можется". Чего и вам желаю.
Юрий, Wed Jul 22 12:21:50 2009:
>linux4ever
Не Федорчук, правильный дядка. Его статьи, нужные и интересные, некоторые применяются мной как руководство к действию. Может он конечно и заблуждается, иногда как Дроздов на острове, но все мы не без греха... Хотя я за ним такого не замечал...
Andrew, Sun Jul 19 19:17:04 2009:
Предыдущий пост мой, дабы не слыть анонимом...
аноним, Sun Jul 19 19:16:07 2009:
To linux4ever

Ни в коей мере не пытаюсь вас задеть, но всё-же.
Пишите свои обзоры, нужные и востребованные в данный момент времени...
Освойте предмет и изложите свою (подтверждённую хоть чем-нибудь) точку зрения.
Несмотря на всю "открытость и доступность" информации о Linux, её не так уж много. В основном крики "Ааааа, Уууу", и, что хуже "Ыыыыы".
Нисколько не противлюсь изучению системы самостоятельно, кину камень и в сторону Вин - найти информацию тоже достаточно интересное занятие; однако раздражает, когда поисковые ссылки приводят на страницы, где, кроме холиваров и не пахнет ничем.
Сам хочу создать страничку с хаутушками, пока собираю материал. Но систематизировать его и отсеять зёрна от плевел - тяжкая задача. Циткит запачкан уже холиварщиками, но дельные мысли есть. А если рассматривать все не как руководство к действию, а лишь как информацию к размышлению - вообще красиво выходит.
Как говорится, не нравиться то, что есть - сделай лучше :)
Давайте дружить за что-то, а не против кого-то ;-)
Orlusha, Sun Jul 19 14:00:35 2009:
А на родной соляре ZFS не пробовали? Интересно было бы сравнить.
linux4ever, Fri Jul 17 18:35:36 2009:
Ведорчуг со своими сферическими конями в вакууме нахер никому не нужен. У него уже ЧСВ зашкаливает.
аноним, Fri Jul 17 15:59:26 2009:
> массовые операции с очень маленькими файлами — это специфика Source Based дистрибутивов с их портообразными системами пакетного менеджмента

Я хоть и красноглазый гентушник, но копированием портежей туды-сюды не занимаюсь. Гораздо интереснее скорость доступа. Например, поиск в портежах или подготовка к сборке некоторого пакета. Копирование - это всё-таки немного не то.

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds