Differences between revisions 7 and 8
Revision 7 as of 2011-05-14 12:53:38
Size: 9037
Comment: defragmentation added
Revision 8 as of 2017-08-30 21:22:22
Size: 9031
Editor: Diego Alonso
Comment: changed from "#language en" to "ru"
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#language en #language ru
Line 41: Line 41:
   btrfsctl -A /dev/sda2     btrfsctl -A /dev/sda2
Line 59: Line 59:
       debug-tree /dev/sda2 >& big_output_file         debug-tree /dev/sda2 >& big_output_file
Line 156: Line 156:
Вышеперечисленные команды справедливы только для файловой системы. Чтобы изменить размер раздела, надо воспользоваеться еще другими утилитами, например fdisk.  Вышеперечисленные команды справедливы только для файловой системы. Чтобы изменить размер раздела, надо воспользоваеться еще другими утилитами, например fdisk.
Line 166: Line 166:
fdisk /dev/xxx    fdisk /dev/xxx

Translation(s): English - Русский

FileSystem > Btrfs


Btrfs (иногда произносится butter fs) — новая свободная файловая система, разрабатываемая при поддержке компании Oracle. Распространяется по лицензии GPL. Несмотря на то, что её разработка ещё далека от завершения, 9 января 2009 года файловая система была интегрирована в ядро Linux, и доступна в Debian Squueze.

Хотя Btrfs была включена в ядро 2.6.29, разработчики утверждают, что "начиная от ядра 2.6.31, мы только планируем сделать впредь совместимый формат изменений диска". Разработчики по-прежнему хотят улучшить пользовательские/управленческие средства, чтобы сделать их более удобными в использовании. Для получения дополнительной информации о Btrfs, по ссылке вСмотреть также section.

Ext2/3/4 могут быть превращены в Btrfs (но не наоборот).

Cтатус

Debian Squeeze и новые версии поддержывают Btrfs.

FAQ

Какой пакет содержит утилиты для btrfs?

btrfs-tools (in DebianSqueeze and above)

Смотреть также: Btrfs wiki FAQ

Примеры команд по работе с btrfs

Создание файловой системы:

   mkfs.btrfs

Управление томами, подтомами, снимками; проверка целостности файловой системы:

   btrfsctl

Сканирование в поисках файловых систем btrfs:

   btrfsctl -a
   btrfsctl -A /dev/sda2

Создание снимков и подтомов:

   mount -t btrfs -o subvol=. /dev/sda2 /mnt
   btrfsctl -s new_subvol_name /mnt
   btrfsctl -s snapshot_of_default /mnt/default
   btrfsctl -s snapshot_of_new_subvol /mnt/new_subvol_name
   btrfsctl -s snapshot_of_a_snapshot /mnt/snapshot_of_new_subvol
       ls /mnt

Проверка extent-деревьев файловой системы:

   btrfsck

Вывести метаданные в текстовой форме:

   debug-tree
       debug-tree /dev/sda2 >& big_output_file

Показать файловые системы btrfs на жестком диске:

   btrfs-show /dev/sda*

Дефрагментация (по умолчанию не требуется):

# btrfs filesystem defragment /mnt
или
# btrfs filesystem defragment /mnt/file.iso

Превращение файловой системы ext3 в btrfs

Файловую систему ext3 можно превратить в btrfs, и работать с ней дальше уже как с новой файловой системой. Причём состояние исходной файловой системы ext3, будет доступно и потом.

# Always run fsck first
%# fsck.ext3 -f /dev/xxx

# Convert from Ext3->Btrfs
%# btrfs-convert /dev/xxx

# Mount the resulting Btrfs filesystem
%# mount -t btrfs /dev/xxx /btrfs

# Mount the ext3 snapshot
%# mount -t btrfs -o subvol=ext2_saved /dev/xxx /ext2_saved

# Loopback mount the image file
%# mount -t ext3 -o loop,ro /ext2_saved/image /ext3

Теперь в каталоге /ext3 видно состояние исходной файловой системы.

Размонтирование происходит в обратном порядке:

%# umount /ext3
%# umount /ext2_saved
%# umount /btrfs

Можно вернуться на файловую систему ext3 и потерять сделанные изменения:

%# btrfs-convert -r /dev/xxx

Или можно остаться на btrfs и удалить сохранённый образ файловой системы ext3:

%# rm /ext2_saved/image

Примечание: у новой файловой системы после конвертирования иногда бывает очень большой размер метаданных.

Посмотреть размер метаданных:

# btrfs filesystem df /mnt/data1tb/

Нормализировать их размер:

btrfs fi balance /mnt/btrfs

Подробнее: Conversion from ext3 (англ.) и Преобразование ext3fs в btrfs (рус.)

Изменение размера файловой системы и разделов

Для btrfs доступно онлайн (на лету) изменение размера файловой системы. Для начала нужно примонтировать нужный раздел:

# mount -t btrfs /dev/xxx /mnt

Добавление 2Гб:

# btrfs filesystem resize +2G /mnt
или
# btrfsctl -r +2g /mnt

Уменьшение на 4Гб:

# btrfs filesystem resize -4g /mnt
или
# btrfsctl -r -4g /mnt

Задать размер в 20Гб файловой системе:

# btrfsctl -r 20g /mnt
или
# btrfs filesystem resize 20g /mnt

Использование всего свободного места:

# btrfs filesystem resize max /mnt
или
# btrfsctl -r max /mnt

Вышеперечисленные команды справедливы только для файловой системы. Чтобы изменить размер раздела, надо воспользоваеться еще другими утилитами, например fdisk. Рассмотрим пример для уменьшения раздела на 4Гб. Монтируем и уменьшаем раздел:

# mount -t btrfs /dev/xxx /mnt
# btrfsctl -r -4g /mnt

Теперь отмонтируем раздел и используем fdisk:

# umount /mnt
fdisk /dev/xxx
# где dev/xxx - жесткий диск с нужным нам разделом

p  #выводит список разделов, узнаем номер нужного нам (N)

d  #удалить раздел, не пугайтесь

Номер раздела (1-4): N # вводим число - номер нужного нам раздела

n  # создать новый раздел на месте старого:

p  # основной раздел

Номер раздела (1-4): N # вводим конечно тоже самое число

Первый цилиндр, ставим тот, который программа предлагает по умолчанию

Последний цилиндр ставим как разницу старого размера раздела и 4Гб: например, если размер был 100Гб, ставим: +96G

p # посмотреть в списке разделов, все ли сделано правильно

w  # записать изменения

После надо перемонтировать раздел или перезагрузиться. Проверяем на ошибки новый раздел(нужно отмонтировать):

# btrfsck /dev/xxx

Документация

Смотреть также

Notes

#612809