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


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

Автор Тема: wiki/Btrfs  (Прочитано 75690 раз)

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

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #105 : 15 Августа 2019, 15:31:15 »
для каждой системы свой раздел со своей ФС. Я субтома не заказываю при установке, но они есть и неудобство с тем, что груб не видит тоже есть.
Буду иметь ввиду. У меня правда по одной системе на каждом компе. А что винду тоже не увидит? Дуалбут не поучается?
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #106 : 16 Августа 2019, 01:03:46 »
Pilot6, Винду увидит, как и другой Линукс, /boot которого не на Btrfs. Проблема только в том, что груб не находит соседние системы на Btrfs.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #107 : 03 Октября 2019, 00:54:46 »
У GRUB-а довольно кривой драйвер btrfs.

Я пробовал драйвер для UEFI применить для загрузки ядра с BTRFS прямо из Boot Manager UEFI - так драйвер тупит со страшной силой и банально подвешивает UEFI Shell или саму UEFI... Я так и не смог с ним этот вариант загрузки настроить. А драйвера для UEFI - они на основе драйверов GRUB-а собраны.

С драйвером EXT2-4 все работает нормально.
Индикатор для 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!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #108 : 22 Октября 2019, 16:01:40 »
Поставил себе на 18.04 пятое ядро и попробовал сделать своп на btrfs.

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

1. если пустой файл создавать через touch, то права на нем выставляются 644 (-rw-r--r--), а swapon требует для файла свопа прав 600 (-rw-------). Так что после touch надо еще chmod go-r <file> выполнить.

2. создавать файл с заданным размером для последующего mkswap надо не командой truncate, а через dd if=/dev/zero ... . Т.к. truncate создает sparse file и, хотя mkswap отрабатывает на нем без ошибок, swapon ругается на файл, что в нем дырки.

Внес в статью соответствующие правки.

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

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6754
  • 20% Cooler
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #109 : 22 Октября 2019, 19:10:22 »
не командой truncate
fallocate же
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #110 : 23 Октября 2019, 10:51:00 »
Да с fallocate покороче команда получатся и работает быстрее. Спасибо за уточнение - я просто не знал про fallocate.

ЗЫ век живи, век учись, и все равно дураком помирать :)
« Последнее редактирование: 23 Октября 2019, 11:07:14 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Anuta

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #111 : 10 Декабря 2019, 15:14:36 »
В арч-вики вычитал, что опцию проверки fsck для btrfs в fstab нужно выставлять в 0 (не проверять) - насколько это верная информация (после установки стояли 1 и 2 для корня и /home соответственно)?

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #112 : 10 Декабря 2019, 17:04:19 »
это верная информация, т.к. в btrfs своя команда проверки, проверка при монтировании ровным счётом ничего не даст и не покажет
Debian 11, Debian 11 Server

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #113 : 11 Декабря 2019, 21:12:55 »
Собственно в btrfs самые базовые проверки производятся в процессе монтирования. А все остальные утилиты это уже  восстановление после тех проблем которые уже и смонтироваться не дадут.

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #114 : 12 Декабря 2019, 12:03:26 »
нужно выставлять
Эта опция имеет эффект только для ext2 и ещё парочки FS.
Для других она ровным счётом ничего не даёт и даже не обрабатывается.
Так что "нужно" это немного не то слово.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Anuta

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #115 : 18 Декабря 2019, 15:44:38 »
Спасибо за пояснения по fsck.

Возник еще вопрос - по поводу восстановления из снимка.
Суть (команды по памяти, в данном случае это не критично):
1. Создан снимок корня через btrfs sub snapshot / /home/root_bck2. Снимок отправлен на внешнее устройство, с другой ФС (NTFS), в виде файла: btrfs sent -f /home/root_bck /mnt/ext_hdd4/root_bck, затем удалён через btrfs sub delete /home/root_bck3. В корневую систему внесены изменения (установка софта)
4. Хочется вернуться к состоянию "до установки", первое действие: btrfs receive -f /mnt/ext_hdd4/root_bck /home/root_bck - снимок появляется в списке подтомов (выполнение btrfs sub list / выводит, в т.ч., и его).
А вот дальше - неясно. Попытки применить рецепт из вики (раздел "Использование снимков для создании точки отката") не приводят к успеху - загрузка с LiveCD, замена через mv /mnt/home/root_bck /mnt/@ ни к чему не приводят (команда отрабатывает, система после перезагрузки в исходное состояние не возвращается). Попытки использовать btrfs sub set-default ID /mnt для назначения /mnt/home/root_bck в загрузку по умолчанию, проделанные с LiveCD, - тоже не помогают (он назначается, но состояние системы не меняется).
Неясно - на каком этапе и что делается не так? Куда копать?
« Последнее редактирование: 18 Декабря 2019, 15:47:50 от Anuta »

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #116 : 18 Декабря 2019, 16:12:36 »
UPD: неправильно понял проблему, поэтому мои размышления на тему (ниже) не актуальны

Хороший вопрос, мне тоже интересен ответ, столкнулся с этим какое-то время назад.
Я для себя сделал такой вывод - конфигурация с системой, расположенной в корне, некорректна.
Система и бэкапы должны быть расположены в разных подтомах.
В принципе, wiki это подтверждает

Решение без переустановки точно уже не помню, на свой страх и риск выполняйте, может перестать загружаться система
1) Сделать снимок рабочей системы в отдельном подтоме, например /@
2) Перенастроить grub в корне диска на загрузку системы с /@ (информация есть в wiki)
3) Пофиксить fstab в подтоме /@ с учётом переноса системы
4) Перезагрузиться, удостовериться, что вы загрузились в подтом /@

Протестировать, спустя какое-то время переименовать все папки в / кроме /boot, а затем и удалить.
Для этого можно просто смонтировать / куда угодно, например в /mnt/sda1-device/
Получается, конфиг GRUB будет в /boot, а система в /@
Возможно, переустановка лучше, чем такой "франкенштейн"
Как переместить конфиг GRUB в подтом @ и не сломать систему - я не выяснял, будет интересно узнать.
« Последнее редактирование: 19 Декабря 2019, 13:21:18 от m-svo »
Debian 11, Debian 11 Server

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6754
  • 20% Cooler
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #117 : 18 Декабря 2019, 16:21:03 »
Anuta, в установленной системе как в fstab прописано?

Покажите
egrep -v '^$|^#' /etc/fstab
sudo btrfs subvolume list /
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #118 : 18 Декабря 2019, 17:04:20 »
Получается, конфиг GRUB будет в /boot, а система в /@
Возможно, переустановка лучше, чем такой "франкенштейн"
Как переместить конфиг GRUB в подтом @ и не сломать систему - я не выяснял, будет интересно узнать.
Сам спросил, сам отвечаю  :)
1) переустановить GRUB на устройство, например, для BIOS и /dev/sda:
sudo grub-install --target=i386-pc /dev/sda2) обновить конфиг GRUB в подтоме /@
проверить, строка загрузки ядра должна содержать:
linux /@/boot/.... root=UUID=.... rootflags=subvol=@
3) перезагрузиться, переименовать старую папку в корне - /boot, перезагрузиться ещё раз, удалить её.
« Последнее редактирование: 18 Декабря 2019, 17:13:23 от m-svo »
Debian 11, Debian 11 Server

Оффлайн Anuta

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #119 : 19 Декабря 2019, 13:00:01 »
в установленной системе как в fstab прописано?
UUID=B845-4CCC                            /boot/efi      vfat    umask=0077 0 2
UUID=cb7e85e0-f33d-4e9b-be6e-2f61ef786140 /              btrfs   subvol=@,defaults,ssd,noatime,space_cache,autodefrag 0 0
UUID=cb7e85e0-f33d-4e9b-be6e-2f61ef786140 /home          btrfs   subvol=@home,defaults,ssd,noatime,space_cache,autodefrag 0 0

ID 256 gen 55557 top level 5 path @
ID 258 gen 55557 top level 5 path @home
ID 324 gen 53933 top level 258 path @home/rootFSbackup
rootFSbackup - это мой снимок, распакованный из файла с внешнего диска через btrfs receive -f. Возможно, проблема в том, что у rootFSbackup id родителя не 5?

 

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