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

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

ОСТОРОЖНО: ВИНДОФИЛИЯ! (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

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

Содержание

Поговорим о конверсии

Одна из уникальных особенностей btrfs — возможность конвертации в неё иной файловой системы без потери данных. Конечно, все мы знаем о том, что etx2fs можно безболезненно преобразовать в ext3fs. Но — лишь потому, что внутренне это одна и та же файловая система, лишь с добавлением журнала. Уже в случае с ext4fs — косметическим костылём для линии ext* — конвертация оказывается невозможной, по крайней мере, на современном этапе развития социализма… пардон, файловых систем. О том, чтобы преобразовать reiserfs, XFS, JFS во что угодно более иное (и наоборот), я не слышал даже разговоров.

Поэтому заявление о возможности конвертации ext2/ext3 в btrfs я поначалу воспринял несколько скептически. И скепсис мой сохранялся до момента детального знакомства с соответствующей страницей на сайте проекта. Из которой становится ясным механизм, каким путём это преобразование совершается.

Русский перевод этого документа скоро будет. А пока в двух словах: утилита конвертации создаёт полную копию метаданных исходной файловой системы ext2/ext3, а блоки данных получают адресацию в новообразованной файловой системе btrfs. Новые же данные, записанные уже в btrfs, используют “пустые” блоки внутри бывшей ext2/ext3. Для чего, разумеется, эти блоки должны иметь место быть — то есть для целиком заполненной файловой системы конвертация, возможно, повлечёт ошибки; это голое предположение, основанное на общих соображениях, в реале я этого не проверял.

Благодаря этому возможен “откат” к предыдущему состоянию — то есть восстановление ext2/ext3 в её первозданном виде, с потерей всего, что было записано после конвертации. А можно, напротив, удалив файл образа ext2/ext3, сделать конверсию перманентной — без возможности “отката”, но зато с высвобождением дискового пространства, занятого реликтами прежней файловой системы.

Столь замечательная возможность, разумеется, требовала экспериментальной проверки. Что я и не замедлил проделать — благо имелся подходящий кандидат для конверсии, раздел /home/soft, предназначенный для всякого рода программ, скачиваемых из сети и имеющий атрибуты доступа, аналогичные домашнему каталогу моего рабочего пользовательского аккаунта. С одной стороны, он достаточно интенсивно используется для создания должной нагрузки, с другой, содержимое его не представляет собой непреходящей ценности — всё, что скачано и потеряно, может быть перекачано заново.

Итак, имеем смонтированную (благодаря записи в /etc/fstab) в /home/soft файловую систему ext3 на устройстве /dev/sda7 — нетрудно догадаться, на логическом разделе в extended partition, что в значительной мере обесценивает преимущества btrfs; но, как сказал бы товарищ Сталин, другого устройства у меня не было.

Для начала вспоминаем, что конверсионная утилита не собирается по умолчанию при компиляции пакета btrfs-progs — эту процедуру надо выполнить отдельно. Отправляюсь в каталог с деревом исходников означенного пакета (см. выше) и даю команду

$ make convert

а затем, получив права root’а,

# make install convert

После этого просматриваю содержимое каталога на подлежащей отмонтированию файловой системе — дабы не забыть, с чем потом сравнивать:

$ ls -1 /home/soft/

каковое в тот момент выглядит следующим образом:

btrfs-progs-unstable/
linux-2.6.29-rc1.tar.bz2
lost+found/

Отмонтирую наличную файловую систему ext3:

# umount /home/soft

Затем, в соответствие с указаниями в документации, запускаю её проверку:

# fsck.ext3 -f /dev/sda7

где опция -f отвечает за принудительное восстановление “бита чистого размонтирования”. В моём случае особой необходимости в такой процедуре не было — выполняю её чисто для порядка.

Теперь — собственно конверсия:


# btrfs-convert /dev/sda7

и монтирование новообразованной файловой системы на прежнее место:

# mount -t btrfs /dev/sda7 /home/soft/

Просмотр содержимого каталога /home/soft/ показывает, что всё, что имело место быть там ранее, сохранилось, плюс добавился подкаталог ext2_saved/ с единственным файлом — image: это тот самый образ исходной файловой системы, который и позволит выполнить обратное преобразование в неё.

Обратное преобразование стоит сделать сугубо ради интереса. Но сначала записываю на новорожденную btrfs некий файл (причём делаю это от имени пользователя — конвертированная файловая система унаследовала атрибуты доступа системы исходной):

$ cp path2/any_file /home/soft/

и убеждаюсь в том, что он благополучно скопировался:

$ ls -1 /home/soft/
any_file
btrfs-progs-unstable/
ext2_saved/
linux-2.6.29-rc1.tar.bz2
lost+found/

Затем:

# umount /home/soft
# btrfs-convert -r /dev/sda7
rollback complete.
# mount /dev/sda7 /home/soft/

И теперь просмотр каталога /home/soft/ показывает полную идентичность его содержимого исходному: каталог ext2_saved/ и файл any_file исчезли без следа.

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

# kill -9 #_процесса

оказывается невозможным, как и корректно выйти из системы, что дело у меня закончилось Reset’ом и обнулением бывшего дважды конвертированного раздела посредством

# dd if=/dev/zero of=/dev/sda7

Так что поверьте на слово — лучше этого не делать: либо уж оставайтесь на btrfs, либо откатывайтесь на ext3 и обратно не приходите…

Для себя я в итоге избрал (после указанных проб и ошибок) первый вариант. Для увековечивания которого вписал в /etc/fstab строку:

/dev/sda7      /home/soft      btrfs    defaults,noatime 1   0

И на этом пока успокоился. Разумеется, интересен вопрос о конверсии в 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