Timeshift btrfs: где папка /timeshift-btrfs ?

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

slant
Сообщения: 4511
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1995 раз
Контактная информация:

Timeshift btrfs: где папка /timeshift-btrfs ?

#21

22 ноя 2023, 21:49

sasha300 писал(а):
22 ноя 2023, 20:24
Т.е. snapshot-ы инкрементальные что-ли? Со свободным местом вобще нифига не понял , удалил 5 снапшотов (были где-то по середине списка), но свободное место не поменялось (во всяком случае так пишет TimeShift, через df -h не проверял)
Снапшот btrfs отличается от подраздела (subvolume) исключительно тем, что подраздел создается пустым, а снапшот - как бы полная копия другого подраздела. Физически же при создании снапшота ничего никуда не копируется. Просто в метаданных файловой системы указаны одни и те же блоки для двух файлов (которые на разных снапшотах). Если же один из этих файлов меняется - только тогда на диске пишутся новые блоки физически - и только с отличиями.
Т.е. у тебя может быть создано девять снапшотов (+оригинал), и в каждом есть файл my_file.dat. Ты вроде как имеешь 10 файлов. Но физически на диске будет только одна копия этого файла (одна цепочка блоков). До тех пор, пока ты один из этих файлов не отредактируешь. В этом случае на диске останется блок со старым вариантом содержимого (для 9 не редактированных файлов) и блок с новым вариантом - для того файла что ты редактировал.
Это же происходит со свободным местом: При создании снапшота (и соответственно копии файла в нем) новое место не тратится сразу. И допустим из примера выше ты удалил 5 таких файлов, из этих снапшотов. FS сотрет метаданные о файлах. Но еще 5 файлов то остались - и их метаданные все еще ссылаются на те единственные блоки. Освобождения места физически не произойдет до тех пор, пока не будет удален последний файл использующий эти блоки. (т.е. все 10 файлов из разных снапшотов). Плюс, физически блоки чистятся не мгновенно, а фоне через операцию commit - она происходит по умолчанию раз в 30 секунд (но можно и настроить.)

Снапшоты btrfs нельзя назвать инкрементальными - после создания и снапшот и оригинальный подраздел - совершенно равноценные и равноправные структуры. Любой из них можно изменять или удалять. Но снапшот со снапшота тоже можно создавать без малейших проблем. Чтобы было проще - можно просто считать для себя что после факта создания - snapshot = subvolume с практической точки зрения.
Вот такая вот загогулина. :) На самом деле, после того как один раз осознаешь - становится просто (фишка в том, что там максимум универсальности и все равноценно). Но поначалу такая концепция весьма сбивает с толку. В отличии от LVM - снапшоты тут крайне дешевая операция по накладным расходам если их сотнями не создавать.

Ответить

Вернуться в «Загрузка системы, бэкапы и восстановление»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость