Автор Тема: Файловая система BTRFS  (Прочитано 160 раз)

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2821
  • Да будет свет!
Файловая система BTRFS
« : 18 Июня 2018, 17:00:14 »
Btrfs (B-tree FS, «Better FS» или «Butter FS») — файловая система для Linux, основанная на структурах B-деревьев и работающая по принципу «копирование при записи» (copy-on-write). Опубликована корпорацией Oracle в 2007 году под лицензией GNU General Public License. Среди первоначальных целей разработки было обеспечение конкуренции файловой системе ZFS (использование которой в Linux было затруднено лицензионными ограничениями) и избавление от недостатков, характерных ранним файловым системам для Linux. Основной автор — Крис Мэйсон (англ. Chris Mason) — отмечал также наличие простого интерфейса управления файловой системой в качестве одной из целей создания.

Изначально планировалось выпустить Btrfs v1.0 и зафиксировать формат хранения в конце 2008 года, однако формат был зафиксирован только 12 июня 2010 года.

Btrfs включена в основную ветвь ядра Linux начиная с версии 2.6.29-rc в статусе экспериментальной. Проведённая ресурсом Phoronix оценка производительности показала, что Btrfs с включённым режимом сжатия иногда опережает по производительности Ext4.

Также как и в других файловых системах, все данные хранятся на диске по определенным адресам. Эти адреса сохранены в метаданных. И тут уже начинаются различия. Все метаданные организованны в виде b-деревьев. Это дает большую производительность при работе с файловой системой, а также позволяет добавлять неограниченное количество файлов.

Когда вы перезаписываете файл, данные не перезаписываются, а лишь модифицированная часть копируется в новое место, Затем просто обновляются метаданные. Это позволяет создавать мгновенные снимки файловой системы, которые не занимают места на диске, пока не было внесено много изменений. Если же старый блок больше не нужен, потому что он не является частью какого-либо снимка, то он автоматически удаляется.

Из-за своей структуры Btrfs имеет огромные возможности, например, она может работать с современными очень большими носителями данных. Максимальный размер файловой системы составляет 16 Экзабайт. Это все возможно благодаря правильному использованию пространства на диске. Другие файловые системы используют жесткий диск целиком, от начала до конца для записи своей структуры.

Более подробно об использовании файловой системы BTRFS можно ознакомиться здесь.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 1779
Re: Файловая система BTRFS
« Ответ #1 : 18 Июня 2018, 18:29:44 »
Наконец-таки я разобрался с btrfs и понял после прочтения статьи Василия Алексеенко Btrfs в Ubuntu смысл разработки этой файловой системы. Если коротко, то главная проблема хранения данных заключается в том, что диски имеют ограничения по сроку эксплуатации. За последние 20 лет для меня средний срок жизни диска 12 лет. А вот когда на диске хранится важная информация, а он взял и умер, можно обратиться в специализированную мастерскую, где за большие деньги могут восстановить утраченную информацию. А можно потратить эти деньги на создание сервера хранения данных, где несколько дисков будут объединены в райд-массив и в случае выхода из строя какого-то одного дисков информация не потеряется. BTRFS для такого хранения данных очень удобна.
Одним словом, эта файловая система обеспечивает целостность данных и эффективное создание моментальных снимков.
Во всех остальных случаях, увы, не нужна.
Что непонятно спрашиваем, если всё понятно - пользуемся.
Что бы ни случилось, всё будет хорошо!

Оффлайн ffeedd

  • Пользователь
  • **
  • Сообщений: 63
  • Счастье есть, оно рядом!
Re: Файловая система BTRFS
« Ответ #2 : 20 Июля 2018, 16:19:45 »
Цитировать
alv: Правда, ответа на главный вопрос: а вообще нужны ли народу плезиозавры снапшоты, для себя так и не нашёл...
Скорей всего нужны. например для отката: просле обновления или установки какого-нибудь пакета, если что-то не понравилось. Утилита apt-btrfs-snapshot создаёт снинимок при каждом использовании apt:
~$ sudo btrfs subvolume list /
[sudo] пароль для user:
ID 504 gen 55757 top level 5 path @home
ID 530 gen 55757 top level 5 path @
ID 531 gen 55506 top level 5 path @apt-snapshot-2018-07-20_15:14:45
Из этого примера я раньше делал так:
Далее все действия с ними делаем только с примонтированном разделом (у меня sda2):
sudo mount /dev/sda2 /mnt && cd /mntЧто бы вернуться назад, нужно переименовать (удобнее в Midnight Commander):sudo mv @ @apt-
sudo mv @apt-snapshot-2018-07-20_15:14:45 @
и перегрузится.
Но мне бы хотелесь рассказать про найденное не давно другое решение:
прегружаемся в recovery mode:
выбираем revert to old snapshot and reboot и в продолжение countining will remount  your/filesystem in read/write mode and mount any other filesystem defined /etc/fstab, далее выбираем @apt-snapshot-2018-07-20_15:14:45
комп сам перегружается и переименовывает @, с которого грузились, в @apt-snapshot-old-root-дата_время, а с которого загрузились в @.
А, что бы не загромождать систему снимками, удалем их по шаблону @apt-*, при примонтированном разделе:
sudo btrfs subvolume delete /mnt/@apt-*
« Последнее редактирование: Сегодня в 01:42:55 от ffeedd »
Есть друзья, а для них у друзей нет выходных,

Оффлайн ffeedd

  • Пользователь
  • **
  • Сообщений: 63
  • Счастье есть, оно рядом!
Re: Файловая система BTRFS
« Ответ #3 : 21 Июля 2018, 23:29:12 »
Наконец-таки я разобрался с btrfs ... Одним словом, эта файловая система обеспечивает целостность данных и эффективное создание моментальных снимков.
Во всех остальных случаях, увы, не нужна.
Во всех остальных случаях, увы, не нужна. Очень категоричное мнение.
Как минимум для меня нужна:
  • snapshot - пост выше
  • сжатие - установлено пакетов (из synaptiс'а в рабочей системе) 2152, занимает 5,6Г, без сжатия - (из synaptiс'а в virtualbox'е та же Matuntu) но с 2043 пакетами - 7,4Г
  • и самое главное - оптимизирована для SSD:
~$ dmesg
...
[    3.794725] BTRFS info (device sda2): enabling ssd optimizations
...
    « Последнее редактирование: Сегодня в 01:11:25 от ffeedd »
    Есть друзья, а для них у друзей нет выходных,