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


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

Голосование

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

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

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

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

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6702
  • Ubuntu 16.04
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #735 : 06 Апрель 2017, 17:46:05 »
thunderamur, какой-то странный эксперимент :idiot2:

Цитировать
Не проще было из /dev/urandom сделать один файл и копировать его на два разных раздела.
Не проще, сжатие заведомо тут проиграет. И это вообще бесполезный тест, т.к. я не urandom на дисках храню.  :idiot2:

Цитировать
Можно взять просто большой документ PDF.
Вообще дичь.  :idiot2:

Цитировать
Еще можно взять какой-нибудь существующий каталог (например /etc) там довольно много мелких файлов. Это будет уже не совсем тест упаковки а тест того как упаковка влияет на файловые операции в целом.
Можно.
А знаешь почему dd? Потому что если бы я читал файлы с разделов, то имел бы дело со сравнением скорости чтения ФС без сжатия и записи на ФС со сжатием, против чтения с ФС со сжатием и записи на ФС без сжатия. В случае с dd читающей не сжатый раздел я получил поток реальных данных, которые могут быть сжаты, а когда dd читала раздел со сжатыми данными, то я получал поток не сжимаемый, но для ФС без сжатия это было побоку. Что важно объем данных dd в единицу времени был одинаков в обоих случаях, т.к. ему пофиг на особенности ФС и сами данные.

Вот какой-то такой эксперимент получился.  :idiot2:

А дедупит BTRFS действительно мощно.

Оффлайн eNdiD

  • Участник
  • *
  • Сообщений: 188
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #736 : 11 Апрель 2017, 12:04:55 »
Доигрался я.

Вчера эксперименитровал с Gnome. Сегодня нужно работать, решил вернуть все как было. Для этого, я вчера зараннее сделал снимки @ и @home. Сегодня загружаюсь с live usb, монтирую диск, грохаю @ и @home и переименовую в них @_bak и @home_bak. Все как и раньше, проблем никаких не ожидалось. Делаю umount, перезагружаю иии. Система виснет. Ну я думаю, ну и пусть. Вытаскиваю флешку, делаю хард ребут. И вижу, что grub побит. Я гружусь опять с live-usb, монтирую раздел и вижу картину: @_bak и @home_bak так и остались не переименованы. Я опять повторяю переименование. Отмонтирую. Система опять виснет. Все то же самое.

Короче говоря система зависает через некоторое время при попытке примонтировать этот раздел с btrfs. Виснет даже если пытаюсь примонтировать с -o recovery. При этом в dmesg никаких ошибок нет, если успеть глянуть до зависания. То есть, раздел монитруется, выдается парочка info сообщений и все. Пытался снять образ метаданных с помощью btrfs-image:

(Нажмите, чтобы показать/скрыть)

Дела плохи.

Спойлер: перенести снимок на другой диск мне видимо религия не позволила. А раньше всегда делал. ССЗБ.
Да, это SSD. SMART в полном порядке.

Работа стала, пойду гуглить. Я даже не знаю, с чего начинать пробовать восстановление. Как мне сейчас сделать резервный снимок раздела без монтирования? А то почитал вики, написано, что можно и угробить то что осталось, если не правильно восстанавливать.

Пользователь добавил сообщение 11 Апрель 2017, 12:15:42:
Вывод btrfs check:
(Нажмите, чтобы показать/скрыть)

Пользователь добавил сообщение 11 Апрель 2017, 12:31:50:
Дальше по очереди, что я пытался сделать:

sudo btrfs rescue zero-log /dev/sda2:
(Нажмите, чтобы показать/скрыть)

sudo btrfs rescue chunk-recover /dev/sda2
(Нажмите, чтобы показать/скрыть)

sudo btrfs rescue super-recover /dev/sda2
(Нажмите, чтобы показать/скрыть)

Сейчас сделаю копию через btrfs restore и пойду дальше пытаться.

Пользователь добавил сообщение 11 Апрель 2017, 12:54:18:
Отработало btrfs restore. Ошибок вроде нет, визуально восстановленные данные обоих подтомов @_bak и @home_bak выглядят нормально. Потыкал по директориям, пооткрывал файлы - все ок. Правда, в процесее выдавало несколько сообщений вида:
(Нажмите, чтобы показать/скрыть)
Отвечал стандартное N. Сообщение выдавало только для кеша и файловол лога, думаю, это совершенно некритично.

Теперь как минимум, есть возможность попытаться отформатировать раздел, создать вручную подтома и все скопировать, если btrfs check все испортит.
« Последнее редактирование: 11 Апрель 2017, 12:54:18 от eNdiD »

Оффлайн Vikonrob

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #737 : 11 Апрель 2017, 13:04:28 »
у меня на BTRFS стабильно перестает загружаться буунта при следующих условиях:

1. Устанавливаем с нуля Ubuntu на SSD c FS BTRFS
2. Всё установилось, работаем, настраиваем под себя.
3. Загружаемся в Live CD Filezilla, делаем образ SSD-диска.
4. загружаемся снова в Ubuntu, работаем неделями, месяцами.
5. Вдруг захотелось восстановить образ, который делал на 3-м пункте файлзиллой
6. Загружаемся в Live CD Filezilla, восстанавливаем образ.
7. Загружаемся в восстановленную из образа Ubuntu. Снова работаем, как ни в чем не бывало до первого срабатываения команды трим
8. Происходит срабатывание TRIM по крону (который прописан в /etc/cron.weekly/fstrim), трим отрабатывает, работаем дальше до первой перезагрузки.
9. Перезагрузка и.. черный экран

Если не восстанавливать ранее сохраненный образ клонзиллой, то TRIM отрабатывает, и дальше проблем с загрузкой никаких нет.

Вышеописанной проблемы не наблюдается с ФС ext4.
Что такого клонзилла портит в разметке, что потом трим валит btrfs так и не разобрался.

Оффлайн eNdiD

  • Участник
  • *
  • Сообщений: 188
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #738 : 11 Апрель 2017, 13:07:04 »
Запустил btrfs check --repair. Ошибки починились. Удалось смонтировать раздел и переименовать подтома. Система загрузилась и вроде все хорошо. Мроль: все как обычно. Бэкапы и все такое. И не надеятся, как я, на то, что в этот раз все пройдет точно так же, как и в прошлый.

P.S. Может стоит добавить в wiki информацию по btrfs restore?

Vikonrob,
может вы имеете в виду Clonezilla? btrfs хорош тем, что клонзилла не нужна. Сделали снапшот и отправили куда нужно через btrfs send | receive. Это даже быстрее будет.
« Последнее редактирование: 11 Апрель 2017, 13:10:20 от eNdiD »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11437
  • Xubuntu 16.04 (64bit)
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #739 : 11 Апрель 2017, 13:13:37 »
Vikonrob, TRIM - это команда интерфейса между диском и ФС. На диске вы поменяли все при восстановлении - только об этом диск не знает (а должен). В результате идет рассинхрон между тем что занятым считает ФС и диск.

Пользователь добавил сообщение 11 Апрель 2017, 13:15:40:
eNdiD, там уже отдельный раздел про восстановление есть: http://help.ubuntu.ru/wiki/btrfs#восстановление_btrfs и вам никто не мешает добавить, а с учетом полученного вами опыта - лучше бы вам это туда и приписать с пояснениями.
« Последнее редактирование: 11 Апрель 2017, 13:15:40 от Sly_tom_cat »
Индикатор для Yandex-Disk: http://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн Vikonrob

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #740 : 11 Апрель 2017, 13:52:47 »
На диске вы поменяли все при восстановлении - только об этом диск не знает (а должен). В результате идет рассинхрон между тем что занятым считает ФС и диск.
Вот теперь понятно. Спасибо за внятный ответ!

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11437
  • Xubuntu 16.04 (64bit)
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #741 : 11 Апрель 2017, 14:04:12 »
Vikonrob, Я так думаю что вы довольно специфичную проблему отловили - и возможно стоит завести багрепорт на Filezilla-у. Скорее всего именно она -что-то недоделывает. По уму TRIM сразу после восстановления должен был бы привести к корректному состоянию, если бы вы могли это проверить - то можно было бы завести багрепорт сразу с деталями что нужно фиксить.
Индикатор для Yandex-Disk: http://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн Vikonrob

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #742 : 11 Апрель 2017, 15:21:33 »
если бы вы могли это проверить - то можно было бы завести багрепорт сразу с деталями что нужно фиксить.
Увы, проверить смогу только тогда, когда вновь найдет на меня "бзик", и я снова всю систему переустановлю на BTRFS. Пока сижу на EXT4.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11437
  • Xubuntu 16.04 (64bit)
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #743 : 11 Апрель 2017, 15:42:41 »
Vikonrob, так можно же на виртуалке.
Индикатор для Yandex-Disk: http://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн Vikonrob

  • Активист
  • *
  • Сообщений: 256
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #744 : 11 Апрель 2017, 17:08:38 »
Sly_tom_cat, а на виртуалке сработает трим? Там же не SSD, а виртуальный диск :) Попробую.

Оффлайн Venom13

  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #745 : 20 Апрель 2017, 21:36:43 »
Походу мой многодисковый массив накрывается.

Недавно меня вдруг стало напрягать сообщение "raid56 detected not implemented".
В связи с тем, что постепенно на массиве стали накапливаться данные,
которые бы уже не хотелось терять, решил сконвертировать ВСЕ ЭТО в RAID1.
(RAID10 отмел, т.к. диски очень разных размеров, и будут вечно падать в "закончелось место на массиве").

Так вот. Запустил я конвертацию:
sudo btrfs balance start -mconvert=raid10 -sconvert=raid10 -dconvert=raid1 -f -dsoft /mnt/root/
И пошел спать.
Утром увидел что операция упала с ошибкой, и получил вот такое состояние дисков:
(Нажмите, чтобы показать/скрыть)

Первое что пришло в голову - нехватка места. Удалил нахрапом с 500Gb фильмов, и запустил повторно...
Через несколько часов опять упало.
Полез разбираться..

В логе dmesg | tail вижу:
[ 2456.035980] BTRFS info (device sdb): relocating block group 12828256763904 flags metadata|raid10
[ 2527.176586] BTRFS info (device sdb): found 38134 extents
[ 2527.763834] BTRFS info (device sdb): relocating block group 12827183022080 flags metadata|raid10
[ 2652.459401] BTRFS info (device sdb): found 40505 extents
[ 2653.575106] BTRFS info (device sdb): relocating block group 6055274741760 flags data|raid5
[ 2663.293288] BTRFS warning (device sdb): csum failed ino 261 off 1556783104 csum 1398170721 expected csum 1822731586
[ 2663.294823] BTRFS warning (device sdb): csum failed ino 261 off 1556783104 csum 1398170721 expected csum 1822731586
[ 2663.355512] BTRFS warning (device sdb): csum failed ino 261 off 1556783104 csum 1398170721 expected csum 1822731586
[ 2663.362772] BTRFS warning (device sdb): csum failed ino 261 off 1556783104 csum 1398170721 expected csum 1822731586
[ 2663.363023] BTRFS warning (device sdb): csum failed ino 261 off 1556783104 csum 1398170721 expected csum 1822731586

Ага! sdb побит..
Дальше по порядку:
sudo btrfs check --repair /dev/sdb
sudo btrfs check --check-data-csum /dev/sdb
Результата нет. "Все хорошо, ошибок не нашли.."

Последняя надежда:
sudo btrfs check --init-csum-tree --init-extent-tree /dev/sdb
И вуаля! Через 16 часов работы падает в:
Creating a new CRC tree
enabling repair mode
Checking filesystem on /dev/sdb
UUID: bf4afb75-e2b2-43c7-9d60-2e5c1d74791e
Creating a new extent tree
Failed to find [12867985211392, 168, 16384]
btrfs unable to find ref byte nr 12868418043904 parent 0 root 1  owner 1 offset 0
Failed to find [12867985211392, 168, 16384]
btrfs unable to find ref byte nr 12868420665344 parent 0 root 1  owner 0 offset 1
Reinitialize checksum tree
extent-tree.c:2703: btrfs_reserve_extent: BUG_ON `ret` triggered, value -28
btrfs(+0x47bc9)[0x555c24809bc9]
btrfs(+0x47c39)[0x555c24809c39]
btrfs(+0x47c4c)[0x555c24809c4c]
btrfs(btrfs_reserve_extent+0x76a)[0x555c2480df96]
btrfs(btrfs_alloc_free_block+0x63)[0x555c2480e1a1]
btrfs(+0x419db)[0x555c248039db]
btrfs(btrfs_search_slot+0x416)[0x555c24804537]
btrfs(btrfs_csum_file_block+0x24f)[0x555c24812fca]
btrfs(+0x10801)[0x555c247d2801]
btrfs(cmd_check+0xf72)[0x555c247f2d07]
btrfs(main+0x139)[0x555c247d983e]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f386fb733f1]
btrfs(_start+0x2a)[0x555c247d987a]
Аварийный останов (стек памяти сброшен на диск)

При этом при на использование данных это никак не сказывается.
Может, конечно, на битые данные пока просто не натыкался..
Кто что подскажет?

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11437
  • Xubuntu 16.04 (64bit)
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #746 : 20 Апрель 2017, 22:50:30 »
Venom13, если честно, то не понял ничего :idiot2: что вы там наворотили....

На будущее. Конвертировать модель хранения данных можно начинать только если ФС в корректном состоянии (без проблем). Если там контрольные сумма или что еще окривело, то сначала ФС надо в норму привести, а уже потом конвертировать модель хранения.

А так у вас сначала ошибки сыпались странные, а вы не разобравшись начали все перекраивать (ожидаемо еще больше усугубив ситуацию). Теперь, боюсь, единственный путь - спасать данные и переразмечать заново.
« Последнее редактирование: 20 Апрель 2017, 22:53:47 от Sly_tom_cat »
Индикатор для Yandex-Disk: http://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн Venom13

  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #747 : 21 Апрель 2017, 17:32:04 »
На будущее. Конвертировать модель хранения данных можно начинать только если ФС в корректном состоянии (без проблем).
Так и было.
Ошибки посыпались в процессе конвертации.

Теперь, боюсь, единственный путь - спасать данные и переразмечать заново.
Спасать там нечего.
Во первых - все работает. Как на чтение так и на запись.
Во вторых - там только фильмы с торрентов и тестовые виртуалки..

Поэтому можно экспериментировать.

Пользователь добавил сообщение 21 Апрель 2017, 17:34:54:
А так у вас сначала ошибки сыпались странные,
или Вы про это:
Недавно меня вдруг стало напрягать сообщение "raid56 detected not implemented".
Так это не ошибка.
Такая строчка выводится всегда, если выполнить:
btrfs filesystem usage <point>Если в точке монтирования присутствует модель RAID5 или RAID6..
Это отказ от ответственности. Что эти режимы не до конца доделаны,
и теоретически могут не восстановиться при выходе из строя одного диска..
« Последнее редактирование: 21 Апрель 2017, 17:36:53 от Venom13 »

Оффлайн Pakostnik

  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #748 : 22 Апрель 2017, 16:31:05 »
Устанавливал на посмотреть OpenSUSE - по умолчанию уже предлагается btrfs. Интересно. Они в неё верят?

Оффлайн Venom13

  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: BTRFS. Готова ли к использованию в 16.04?
« Ответ #749 : 12 Май 2017, 15:40:19 »
Интересно. Они в неё верят?
Почему нет?
Если не играться с "экспериментальными возможностями" - то все стабильно.

Пользователь добавил сообщение 12 Май 2017, 18:25:24:
Уже и в коммерческих решениях активно применяют:
https://www.synology.com/ru-ru/dsm/Btrfs
« Последнее редактирование: 12 Май 2017, 18:25:24 от Venom13 »

 

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