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

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

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

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

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
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

Страницы: предыдущая :: 1 :: 2 :: 3 :: 4 :: 5 :: следующая

Содержание

Подготовительные мероприятия

Чтобы использовать btrfs, нужно для начала обеспечить её поддержку — на сегодняшний день ни один дистрибутив "искаропки" этого не предоставляет. Но, как можно догадаться из предшествовавшего изложения, этого можно достигнуть двумя путями. Первый — скачать и установить последний патч к ядру (на момент сочинения — версия за номером 0.18). Он, безусловно, прост, описан в документации, по сообщениям как на официальном сайте, так и в сети, работает с ядром версии 2.6.28. Однако с более ранними версиями наверняка будут проблемы: сам я не экспериментировал, но, по свидетельству Михаила, уже с ядром 2.6.27 он не работает.

Второй путь — скачать исходники ядра linux-2.6.29-rc_сколько_есть (на данный момент — rc2), должным образом сконфигурировать его, собрать, установить и обеспечить загрузку. Для начала, разумеется, в параллели с ядром старым — во избежание, как говаривали "азиатские мудрые люди".

Кроме того, необходимо обеспечить возможность манипулировать c файловой системой btrfs. для чего потребуется скачать, собрать и установить комплект соответствующих утилит — актуальные на настоящий момент версии его существуют только в виде исходников.

В дистрибутиве, который я намечал для экспериментов (Zenwalk 5.4-beta1), штатно присутствует ядро linux-2.6.27.10, для работы с btrfs непригодное. Тем более что собрано оно без поддержки PAE, то есть может использовать только 3 Гбайт с копейками суммарной памяти. А у меня было глубокое подозрение, что если btrfs хоть чем-то похожа на ZFS, то и память она любит не меньше. Да и банальная жадность не позволяла отдавать за просто так 700 Мбайт оной. Иными словами, пересборка ядра так и так стояла на очереди — и почему бы не двинуться в этом направлении вперёд, а не топтаться на месте?

Короче говоря, я скачал с зеркала на perespim.ru (несмотря на название — или благодаря оному? — оно работает весьма справно), распаковал архив, сконфигурировал в соответствии со своими же рекомендациями по части включения PAE и освобождения от архитектурных излишеств (см. здесь). После чего озаботился уже непосредственно обеспечением поддержки btrfs.

Собственно говоря, тут все действия сводятся к тому, чтобы отправиться в пункт File Systems главного меню (Рис. 1), отыскать там пункт Btrfs filesystem и включить его — встроив в ядро (как показано на Рис. 2) или модулем. В документации по btrfs указан только второй вариант; однако я эксперименту ради решил опробовать жесткое включение — вроде, вреда ни малейшего.


Рис. 1


Рис. 2

В результате этих действий в конфиге ядра (файле /usr/src/linux-2.6.29-rc1/.config) появится строка

CONFIG_BTRFS_FS=y

или

CONFIG_BTRFS_FS=m

соответственно. Во втором случае следует выполнить ещё одно действие: перейти в пункт Library routines главного меню (Рис. 3) и включить в нём подпункт CRC32c (Рис. 4), также в виде модуля, что создаст в конфиге ядра пункт

CONFIG_CRYPTO_CRC32C=m


Рис. 3

Если поддержка btrfs встроена в ядро жестко, то и жесткое встраивание CRC32c произойдёт автоматически:

CONFIG_CRYPTO_CRC32C=y

Что, собственно, и показано на Рис. 4.


Рис. 4

Теперь собираю ядро и модули, устанавливаю то и другое, как было описано ранее, обеспечиваю загрузку нового ядра. В Zemwalk'е по умолчанию принят загрузчик Lilo. Так что в файл /etc/lilo.conf дописываю строки:

image = /boot/vmlinuz-2.6.29-rc1
  root = /dev/sda1
  label = Zen-2.6.29
  read-only

переустанавливаю загрузчик:

# /sbin/lilo

и перезагружаюсь, выбирая в меню загрузчика новый пункт.

Да, если поддержка btrfs задействована через модуль, следует загрузить его вместе с модулем CRC32c:

# modprobe libcrc32c
# insmod btrfs.ko

Всё — подготовительные мероприятия выполнены, остаётся посмотреть в первом приближении, что же получилось.

Чтобы сварить суп из курицы, надо как минимум иметь курицу. То есть и для опробования btrfs, кроме её поддержки ядром, необходимо иметь соответствующий инструментарий — средства создания соответствующей файловой системы и манипуляции ею. Получить его в виде пакета исходников (btrfs-progs) можно из git-хранилища с kernel.org, из каталога, принадлежащего Мейсону.

Поскольку я и то, и другое встроил в ядро жестко, то необходимости в этой операции не возникло.

Зато в Zemwslk'е мне для начала потребовалось установить пакет git (в инсталляционном наборе он отсутствует) из любого официального репозитория:

# netpkg git

Хотя можно воспользоваться и графической утилитой Netpkg. Далее — так (можно от лица обычного пользователя):

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

После этого перехожу в новообразовавшися каталог:

$ cd path2/btrfs-progs-unstable

собираю пакет (без предварительного конфигурирования):

$ make

и, получив права суперпользователя, устанавливаю:

# make install

Инсталляция происходит в каталог /usr/local, в результате чего в нём можно будет увидеть следующие утилиты:

$ ls -1 /usr/local/bin
btrfs-debug-tree*
btrfs-image*
btrfs-show*
btrfs-vol*
btrfsck*
btrfsctl*
btrfstune*
mkfs.btrfs*

Обращаю внимание, что на сегодняшний день пакет btrfs-progs не содержит man-страниц, так что о назначении утилит следует догадываться по смыслу или обращаться за справкой на сайт проекта.

Однако со всеми этими утилитами я намерен разбираться позднее — пока мне достаточно создать файловую систему и проверить её в работе. Для этого при инсталляции был заботливо припасён пустой первичный раздел без файловой системы. Насколько я понимаю, никто не запрещает создавать btrfs и на логическом разделе, однако это теряет смысл: ведь она берёт на себя функции не только собственно файловой системы, но и менеджера томов, что делает ненужным использование extended partition вообще.

Итак, создаю файловую систему btrfs:

# mkfs.btrfs /dev/sda4

Этой команде можно задать несколько важных опций, но пока все они не существенны, ими мы займёмся позднее.

Монтирую её в заранее заготовленный подкаталог домашнего каталога пользователя:

# mount -t btrfs /dev/sda4 /home/alv/btrfs/

Возвращаюсь в режим обычного пользователя и копирую на btrfs произвольный файл:

$ cp /mnt/sdb3/diff/нечто.avi /home/alv/btrfs/

Ура! Всё работает. Можно разбираться дальше.




Страницы: предыдущая :: 1 :: 2 :: 3 :: 4 :: 5 :: следующая

Комментарии

Страницы комментариев: 1 :: 2 :: следующая

аноним, Thu Feb 5 19:41:26 2009:
Не очень понятен поросячий восторг по поводу конвертирования ext3 в btrfs. Конверторы из
одной фс в другую существуют в природе уже давно.
Просто они не особо популярны, т.к. это никому
не нужно.
Алексей Федорчук, Thu Feb 5 16:03:55 2009:
> К тому времени, как её допилят, она уже безнадёжно устареет
___
Ага. Потому что к тому времени лично товарисч вот этот анонизмус:
> аноним, четверг, 5 февраля 2009 г. 13:47:49:
___
создаст новую суперфайловую мегасистему, которой

>восторгайтесь сейчас :)
аноним, Thu Feb 5 13:47:49 2009:
К тому времени, как её допилят, она уже безнадёжно устареет, так что восторгайтесь сейчас :)
onanim, Mon Feb 2 01:20:52 2009:
Если допилят - тогда и будем восторгаться и бурно радоваться. А пока что btrfs - нестабильная YAFS
Lena, Sun Feb 1 17:59:50 2009:
Что там была за хрень про шрифты и "налезания"?
Konqueror все пристойно отображает. И даже очень...
Юрий, Fri Jan 30 09:17:06 2009:
Спасибо, хороший обзор.
Qiwichupa, Fri Jan 30 05:22:32 2009:
Интересно что будет насчет утилит восстановления и вообще управления данными. Допустим если прикрутил я диск к уже существующей точке монтирования, а потом мне понадобилось, допустим, сменить один из включенных в эту точку дисков. Прокатит ли простое клонирование, можно ли будет управлять данными - например переносить инфу с одного из дисков на другой, освобождая диск для замены или просто при желании от него избавиться.
Buy, Fri Jan 30 01:34:45 2009:
>"пацан сказал - пацан сделал" зачем это?

А затем, шо btrfs риальна нааармальная тема!
:)))
Интересная статья, вот зажегся тоже потестить.
AVATAR, Thu Jan 29 23:19:36 2009:
"пацан сказал - пацан сделал" зачем это?
Фридрих, Thu Jan 29 21:15:10 2009:
2 аноним, четверг, 29 января 2009 г. 18:25:55:

> кстати, вы видели вообще, как выглядит
> дизайн сайта не с вашими шрифтами?

Видел.

> буквы налезают друг на друга под
> оффтопиком(лиса,асёл), макосью(лиса, сафари)
> и пенгвином (лиса и конкуер)

Конечно ШГ, спору нет, но насчёт налезающих букв - это вы загнули. Под оффтопиком не проверял, но под пингвином (лиса) вроде ничё так, вполне читабельно.

З.Ы. Судя по терминологии, прозреваю в вас ЛОРовский анонимный разум ;-)

Страницы комментариев: 1 :: 2 :: следующая

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

Новости:

Все новости на 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