Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Голосование

Используете ли вы BTRFS?

Да
Нет, но теперь попробую
Нет

Автор Тема: BTRFS. Готова ли к использованию в 16.04?  (Прочитано 96512 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #660 : 24 Октября 2016, 14:15:46 »
Можно ли делать инкрементальные снимки сразу с выносом на второй накопитель, без создания промежуточного снимка и его последующего переноса?
Переносится не снимок, переносится разница между снимком и текущим состоянием тома. Либо разница между двумя снимками.
А теперь ответь на вопрос: Как ты себе это представляешь? Инкрементальный бэкап от неизвестно чего?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн eNdiD

  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #661 : 24 Октября 2016, 14:46:44 »
Он дополнительного места не занимает при этом.
Вот за это я совсем забыл. Как-то упустил.
UPD. Ну вообще не соглашусь. Занимать место будет. И чем дальше состояние будет уходить от снимка - тем больше места он будет занимать. Плюс, я планирую хранить несколько таких точек отката. Вот, к примеру. Есть у меня два снимка системы. Я обновляю какой-то пакет, значит каждый снимок будет иметь копию старого пакета. Или нет?

Вы видимо не поняли пока как работает btrfsДа вот, вкуриваю потихоньку.

Инкрементальный бэкап от неизвестно чего?
Первый бэкап - полный снимок. Последующие - разница между актуальным снимком и предыдущим, все по вики.


Вообще, вот что я хочу: иметь несколько состояний системы с возможностью быстрого отката на любое из них. Либо, если так будет проще - хранить один снимок с последним стабильным состоянием для быстрого восстановления и время от времени делать бэкап традиционным способом.
« Последнее редактирование: 24 Октября 2016, 14:56:26 от eNdiD »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #662 : 24 Октября 2016, 16:36:52 »
Не надо резать цитаты на части, чтобы вам было удобнее отвечать.
Отвечайте на вопрос целиком, как он задан.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #663 : 24 Октября 2016, 17:07:33 »
eNdiD, несколько точек отката хранятся не на основном, а на резервном носителе. На основной ФС нужно хранить только самый последний RO снимок и он не сильно уйдет от самого корня за до время, что проходит между бекапами.

Если вы хотите хранить несколько последних снимков - то да вы заблокируете ими какое-то пространство как занятое т.к. оно не будет высвобождаться будучи прицеплено к снимку. НО это будут все-таки не слишком большие объемы.

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

Но вы не поняли системы снимков. Если у вас одни файл (пакет в вашем примере для простоты будем называть одним файлом) и он меняется между снимками так:
  • Файл 1 оригинал
  • снимок 1
  • снимок 2
  • файл 1 изменен
  • снимок 3
То первый и второй снимки будут указывать на один и тот же участок на диске для референса на "файл 1 оригинал", а в снимке 3 этот референс будет указывать на то место на диске, где записан "файл 1 изменен". Место занятое "файл 1 оригинал" для обоих снимков занято одно и тоже, и высвободится это место только после удаления обоих снимков 1 и 2.
« Последнее редактирование: 24 Октября 2016, 17:13:39 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн eNdiD

  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #664 : 27 Октября 2016, 13:57:22 »
Спасибо, информация к размышлению есть.
Кстати, я на нескольких ресурсах встречал упоминание, что опция autodefrag не так уж и бесполезна и вредна на SSD.
https://chrisirwin.ca/posts/btrfs-presentation/
https://btrfs.wiki.kernel.org/index.php/Gotchas#Fragmentation
Сильная фрагментация на SSD ведет к повышенной нагрузке на CPU, при этом, вероятно, что на SSD дефрагментация работает иначе, не провоцируя большого количества перезаписей. Однако никаких подтверждений пока не нашел.

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #665 : 27 Октября 2016, 14:09:56 »
Сильная фрагментация на SSD ведет к повышенной нагрузке на CPU
Это есть немного, но не очень заметно. Пороще делать периодическую дефрагментацию руками или через cron, если есть такое желание. А еще лучше выключить CoW в нужных местах, например в базах данных браузеров, виртуальных машинах, базах данных и т.п.
вероятно, что на SSD дефрагментация работает иначе, не провоцируя большого количества перезаписей.
Это вряд ли ;-)
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #666 : 27 Октября 2016, 14:53:20 »
На SSD дефрагментация вредна, а накладные расходы на перепрыгивание головок с трека на трек - отсутствуют.

Основной эффект снижения производительности при дефрагментации все-таки не из за нагрузки на процессор, а из-за беготни головок по диску при чтении файла.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #667 : 27 Октября 2016, 17:28:25 »
Основной эффект снижения производительности при дефрагментации все-таки не из за нагрузки на процессор, а из-за беготни головок по диску при чтении файла.
У SSD именно из-за нагрузки на процессор. Но я не парюсь по этому поводу, так как мощи хватает на это.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #668 : 27 Октября 2016, 20:09:34 »
Там нагрузка на процессор самого диска… Компу то что, сказал читать - и забыл…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #669 : 27 Октября 2016, 21:55:03 »
Там нагрузка на процессор самого диска…
Нет, речь идет о CPU. Я думаю, не стоит тут это подробно обсуждать.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн theurs

  • Активист
  • *
  • Сообщений: 470
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #670 : 13 Ноября 2016, 06:31:51 »
У кого btrfs долгое время уже используется попробуйте посмотреть что там с фрагментацией тварится

https://dl.dropboxusercontent.com/u/3495491/tmp/sort_fragmented.py

нужен питон 2.х и filefrag

результат будет в ./log.txt
« Последнее редактирование: 13 Ноября 2016, 07:09:54 от theurs »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #671 : 13 Ноября 2016, 12:39:01 »
theurs, попробовал на двух компах, нигде autodefrag не включен:

 -  мой ноут (SHDD) на котором я переставил систему на btrfs 2016-06-13 - btrfs ни разу не дефрагментировалась.
   - всего фрагментированных: 7954 файлов из 369308 (2,15%)
   - самое большое количество фрагментов: 6155 - в образе ubuntu 16.04.1 скачанном через торент.
 - детский мини-PC (SSD) система установлена в декабре 2015 - btrfs ни разу не дефрагментировалась.
   - всего фрагментированных: 7356 файлов из 369693 (1,99%)
   - самое большое количество фрагментов: 2843 - в большом файле (372516131 байт) с эксперементальными данными (получены через демона синхронизации с Yandex.Disk).

Собственно все сильно фрагментированные - это то, что скачивалось торентом или wget-ом и другими качалками (ttf шрифты например или стимовские игры).
Системные файлы практически не дефрагментированы (некоторые библиотеки из /usr/lib имеют 2-4 фрагмента).

Я бы еще отметил как важный момент: у меня на обоих машинах btrfs не сильно забиты (занято 8-10%).
« Последнее редактирование: 13 Ноября 2016, 12:53:20 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #672 : 14 Ноября 2016, 12:01:03 »
Но скрипт слегка некорректен....
Дело в том что он сканит всю файловую систему от корня (за исключением трех системных каталогов), а там куча всего может быть намонтировано.

Правильно будет сделать так (в примере мы считаем фрагментацию на btrfs которая находится на /dev/sda2):
sudo -s
mount /dev/sda2 /mnt
cd /mnt
Далее берем доработанный скрипт и запускаем его из каталога /mnt
(Нажмите, чтобы показать/скрыть)

Скрипт переделан под python3, немного оптимизирован по производительности, добавлен вывод статистики, лог пишется в /tmp/log.txt
Как и предыдущий, требует filefrag (кроме третьего питона).


Пользователь добавил сообщение 14 Ноября 2016, 12:50:56:
Кстати по поводу определения процента фрагментации.
Его можно определять по разному:
1. разделить число фрагментированных файлов (не важно на сколько сильно они фрагментированы) на общее число файлов.
2. посчитать сколько всего фрагментов во всех файлах, вычесть из него число файлов, а полученное разделить на число файлов - т.е. фактически посчитать процент лишних фрагментов.

Так вот если ext2-3-4 считают первым способом свою фрагментацию, то xfs выдает по второй формуле.
Скрипт я чуть подправил что бы он показывал оба значения.

« Последнее редактирование: 16 Ноября 2016, 23:02:20 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн eNdiD

  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #673 : 14 Ноября 2016, 16:01:33 »
Глянул ситуацию у себя на HDD. Перешел на btrfs 3 недели назад.

CWD: /home/endid/HDD
384050 fragments in 130993 fragmented files
Total: 438791 files
29.85% fragmentation by files
57.67% fragmentation by fragments
Maximum fragments in 3016: /home/endid/HDD/Загрузки/android/nakasi-ktu84p/image-nakasi-ktu84p/system.img

Примонтирован с ключем autodefrag. Ручную дефрагментацию проводил один раз, чтобы применить сжатие. Файл, для которого значится больше всего фрагментов лежит у меня не один год. Я его перенес вместе с остальными данными после форматирования, и после этого еще проводил дефрагментацию со сжатием. Он по идее вообще должен быть одним фрагментом.

Сейчас использование диска 36%, т.е. больше половины свободного места, диск пока еще не забивался.

UPD. Проанализировал лог. Во-первых, столько файлов из-за того, что храню пару снимков корневого каталога.

Среди всех фрагментированных файлов:
92.11% - имеют 2 фрагмента
6.57% - от 2 до 10 фрагментов
1.19% - от 10 до 100
0.13% - больше 100 фрагментов

В таком ключе, ситуация куда радужней.
« Последнее редактирование: 14 Ноября 2016, 16:12:35 от eNdiD »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #674 : 14 Ноября 2016, 16:48:05 »
Sly_tom_cat, можешь двумя словами описать алгоритм? Тут, похоже, питон вообще не нужен.

Пользователь добавил сообщение 14 Ноября 2016, 17:23:58:
1. Вызываем filefrag
2. Делим вывод по ":"?
3. Делим вторую часть по пробелу?
4. ???
« Последнее редактирование: 14 Ноября 2016, 17:23:58 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.054 секунд. Запросов: 28.