LINUX.ORG.RU

Ответ на: комментарий от pfg

«рокировка» subvolumes: меняешь подтом root на его снимок. Мой вопрос - как это делать в деталях по канону?

vrnd
() автор топика
Последнее исправление: vrnd (всего исправлений: 1)
Ответ на: комментарий от pfg

Я не утверждаю, что у меня что-то не получается. Есть разрекламированный функционал btrfs - снимки и откат системы. Но не могу найти стандартного алгоритма по откату системы; в таких делах ошибка дорого стоит. Вы его знаете?

vrnd
() автор топика
Ответ на: комментарий от vrnd

Ну а почему нет?

Я дела систему бекапов через эту тулзу - https://github.com/digint/btrbk. Топовая штука

Вот тебе выдержка из рабочей документации, что я когда-то писал:

Делается через монтирование и перемещение директорий сабволюмов.

Посмотрим какие сабволюмы у нас имеются:

root@sim-btrfs / # btrfs subv list /
ID 257 gen 2709 top level 5 path @boot
ID 258 gen 2667 top level 5 path @home
ID 259 gen 2731 top level 5 path @tmp
ID 260 gen 2761 top level 5 path @logs
ID 261 gen 2658 top level 5 path @cache
ID 291 gen 2758 top level 288 path btrbk_snapshots/ROOT.20220113T1628 

Откатимся на ROOT.20220113T1628

Для этого монтируем весь диск в /mnt(это будет своеобразное зеркало нашего корня):

mount /dev/md0 /mnt

Снепшот корня btrbk_snapshots/ROOT.20220113T1628 в read-only - для восстановления его нужно перевести в rw. Документация btrbk рекомендует делать это через снятие rw-снепшота от исходного снепшота, а не через btrfs property set -ts </path/to/subvolume> ro false(якобы из каких-то возможных проблем с UUID’ами). Т.о.:

btrfs subvolume snapshot /btrbk_snapshots/ROOT.20220113T1628 /rollback

Далее просто перемещаем сабволюмы:

mv /mnt/@ /mnt/@_oldroot
mv /mnt/@_oldroot/rollback /mnt/@	

Делаем ребут, чистим ненужное при необходимости.

permafrost ★★
()
Последнее исправление: permafrost (всего исправлений: 3)
Ответ на: комментарий от permafrost

Далее просто перемещаем сабволюмы

Переименовываем?

Делаем ребут, чистим ненужное при необходимости.

Если в fstab указан subvolid? Если система с UEFI загрузчик поймет с какого сабволюма грузиться?

NyXzOr ★★★
()
Ответ на: комментарий от NyXzOr

Вот такой у меня был приблизительно fstab был:

proc /proc proc defaults 0 0
# /dev/md/0 belongs to btrfs volume 'btrfs.1'
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 / btrfs defaults,compress-force=zstd:10,subvol=@ 0 0
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 /home btrfs defaults,subvol=@home 0 0
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 /tmp btrfs defaults,subvol=@tmp 0 0
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 /var/lib btrfs defaults,compress-force=zstd:10,subvol=@libs 0 0
permafrost ★★
()
Ответ на: комментарий от Im_not_a_robot

Если система загружается, то нет, зачем. Если все сломал так, что нет, то rescue или livecd.

Еще есть возможность в grub загружаться с разных снепшотов, но я этого никогда не делал - https://github.com/Antynea/grub-btrfs

permafrost ★★
()