LINUX.ORG.RU

Btrfs и subvolumes

 


1

4

Иногда в фоне (за место отрывков из Клима Самгина) смотрю всякие гайды по linux установка и настройке. Стараюсь на анг…

Так вот что я не могу понять в чем профит сабжа. Люди (уже который раз натыкаюсь) при установке разных дистрибутов линукса, рубят партицию root на btrfs томе, на на несколько подтомов. Чаще всего это как то так:

1. @root - /
2. @home - /home
3. @snapshots - /.snapshots
4. @log - /var/log
5. @cache - /var/cache

В начале я не придал этому значение, мало кто как извращается. Но что то часто вижу примерно одинаковую комбинацию при установке разных дистрибутов.

Это что такое? Я что то где то пропустил? Или все просто не понимая тупо копируют какой то гайд?

★★★★★

Последнее исправление: mx__ (всего исправлений: 1)

/home в случае чего можно откатить к предыдущему состоянию. Насчёт /var/* не в курсе. Как вариант, чтобы без них корневой подтом был чище и diff’ы были легче.

Стараюсь на анг…

Индия хорошеет.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 2)

Наверное вопрос про /var/log и /var/cache? Насколько я понимаю, это делается для удобства снапшотов, т.к. btrfs делает их для всего подтома. Т.е. чтобы всякий мусор не снапшотить, проще его выделить в отдельные подтома.

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

Хм. Эээ, а что не весь /var тогда?

P.S. Стоп, в снимок корня все подтома не попадут чтоли?

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

Ну там как минимум кронтабы лежат и прочее полезное. А вот кэш и логи терять не жалко. Да и снапшотить кэш затея вредная, только диск забивать.

Впрочем я ленюсь так нарезать, обычно у меня сабвольюмы на корень и var или home.

P.S. не понимаю прикола с сабвольюмами с собакой. Использую схему названиесистемы_маунтпоинт. Например arch_home или debian13_var. Так можно на ту же ФС поставить другую систему без путаницы, и просто перезагрузиться в неё

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

Ну там как минимум кронтабы лежат и прочее полезное.

Ну на столах давно уже кроны не юзают теперь модно таймеры-системд пихать .. ну так в общем понятно.

Впрочем я ленюсь так нарезать, обычно у меня сабвольюмы на корень и var или home.

А снапы в /var ? Или куда?

P.S. не понимаю прикола с сабвольюмами с собакой. Использую схему названиесистемы_маунтпоинт. Например arch_home или debian13_var. Так можно на ту же ФС поставить другую систему без путаницы, и просто перезагрузиться в неё

Ну я хз, по гайдам так, но идея ваша понятна. Хотя подтома в разрезе одной btrfs и там можно uuid заюзать, хотя да запутаться будет проще.

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

На десктопе у меня сейчас так

$ ls /mnt/btrfs2-root/
arch-home  arch-root  backups  ollama_models

В mnt подмонтирован корень btrfs, arch-home и arch-root это сабвольюмы подмонтированные понятно куда, ollama_models подмонтирован в ~/.ollama/models/ что бы не снапшотить здоровенные модели, backups это просто директория в которую ложатся снапшоты (/mnt/btrfs2-root/backups/$subvolume_name/$datetime). ХЗ зачем под них сабвольюм выделают отдельный. И да, я знаю что сабпольюмы это не бэкапы, просто так уж сложилось

MrClon ★★★★★
()

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

rtxtxtrx ★★★
()

В тех гайдах, которые я читал, это объясняется - разделение / на subvolume позволяет отдельно управлять ими. Например, можно создать distro1 и distro2 для установки отдельных дистрибутивов. Также для subvolume можно установить отдельные флаги, например можно добавить флаг +С для subvolume с журналируемыми данными для выключения CoW. Иногда такое советуют для данных БД.

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

например можно добавить флаг +С для subvolume с журналируемыми данными для выключения CoW. Иногда такое советуют для данных БД.

Это можно и на простые директории, и на файлы

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

btrfs2-root это корень btrfs. Ну то есть это не саб, это просто вольюм

Опции монтирования наверное не оптимальные, давно их не пересматривал

UUID=... /                           btrfs    noatime,compress=zstd:3,ssd,ssd_spread,space_cache,subvol=/arch-root        0 0
UUID=... /home                       btrfs    noatime,compress=zstd:3,ssd,ssd_spread,space_cache,subvol=/arch-home        0 0
UUID=... /home/mrclon/.ollama/models btrfs    noatime,compress=zstd:3,ssd,ssd_spread,space_cache,subvol=/ollama_models    0 0
UUID=... /mnt/btrfs2-root            btrfs    noatime,compress=zstd:3,ssd,ssd_spread,space_cache                          0 0
MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Ну тут нет особой разницы, что корень btrfs что под-том внутри.

P.S.

mount | grep btrfs2-root

По идее это должно показать какой у вас там subvol по умолчанию, по идее это должен быть /

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

Ну да, корень, он же дефолтный сабвольюм (можно назначить дефолтным любой другой). Я недоумеваю зачем городить в нём ещё один сабвольюм именно для снапшотов. Разве что для того что бы подмонтировать его куда-то в подходящее место

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

Я недоумеваю зачем городить в нём ещё один сабвольюм

насколько я понимаю - нет никакого «в нем»

У вас этот /mnt/btrfs2-root и /arch-root это по сути такие же разные subvolume.

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

У вас этот /mnt/btrfs2-root и /arch-root это по сути такие же разные subvolume.

Ну да. Я не понимаю зачем в корневом сабвольюме создавать отдельный сабвольюм для снапшотов (которые тоже сабвольюмы), если достаточно директории

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

Так у них корень есть сам корень, ну может для красоты так, или чтобы не путаться … я х.з.

В вашем случае корневой сабвольюм был бы /arch-root и для снапов пришлось что то другое лепить.

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

там свои недостатки при использовании корневого сабвольюма как точки монтирования /. лучше создать /@ и примонтировать в корень, как и примонтированный /@home лучше сабвольюма /home, утилиты различные ожидают, что /home - это обычный каталог, а не подтом с которым они не знают что делать, например, раньше rmdir не работал с подтомом (его научили удалять подтома)… и тд и тп. короче сам себе проблемы создаешь, игнорируя инструкции… правила пишут кровью ынтерпрайза ряяя

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

там свои недостатки при использовании корневого сабвольюма как точки монтирования /. лучше создать /@ и примонтировать в корень,

Я там скосячил малость за место:

1. @root - /

должно быть

1. @ - /

Не особо разница но так более наглядно.

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

да это не важно. как хочешь так и называй. так просто принято в redhat, где одними из первых этот btrfs сделали файловой системой по умолчанию. эти префиксы используют чтобы сабвольюмы отличить от обычных каталогов. чаще всего собаку, реже подчеркивание, очень редко - никаких префиксов не используют

rtxtxtrx ★★★
()

вообще btrfs этот проще всего понять программистам. все программисты умеют работать с git. говоришь что снапшот это как коммит к которому ты можешь откатиться в любой момент, и что он почти ничего не стоит, так как хранится дельта, и тот все сразу понимает. сложнее его понять всяким сисадминам, но они имеют представление о бекапах, и для них btrfs - это чудо-фс, где бекапы ничего не весят… первые еще и понимают, что за такое чем-то нужно платить, и что эта плата компенсируется сжатием, а обычному юзеру, который даже бекапы не делает, btrfs «продать» нельзя, но они реально бесят своим тупизмом с вскукарекими «не нужно… меня устраивает ext4… тормозит… место жрет… ко-ко»… на них только может произвести впечатление, что распакованный архив в btrfs весит столько же сколько и запакованный, но использовать btrfs только ради сжатия как-то бессмысленно. таким btrfs не нужен. и даже несмотря на то что, благодаря тому же сжатию, скорости ext4 и btrfs примерно равны, такие персонажи пусть лучше сидят на своей ext4, а то ошибка чексум после вырубания электричества, заставляет их впасть в истерику. это файловая система для более продвинутых пользователей, а сжатие есть даже в ntfs, могут им пользоваться для оного. вот с точки зрения маркетинга они все токсичная аудитория, которой не нужно пытаться этот btrfs навязать как это делают в федоре, позиционируя ее как дистр для продвинутых домохозяк. а так это по сути серверная файловая система и компании, которая поставляет серверные решения, нужны хомячки для испытаний, а хотят ли они участвовать в экспериментах, больших дядей не волнует

rtxtxtrx ★★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 6)

Это что такое? Я что то где то пропустил?

Вполне резонная практика, что именно тебя так ошарашило?

Или все просто не понимая тупо копируют какой то гайд?

Подсмотрено в каком-нибудь популярном дистре(ах), в opeSUSE по-дефолту иначе, с объяснениями, почему: https://en.opensuse.org/SDB:BTRFS

kott ★★★★★
()

Это что такое? Я что то где то пропустил? Или все просто не понимая тупо копируют какой то гайд?

Называется традиция. 😊

Есть мнение, что на маленьких дисках (256 и куда-еще-меньше) делать отдельный хомяк смысла нет.

frunobulax ★★★
()
Ответ на: комментарий от rtxtxtrx
  1. Ну в Федоре если уровень юзера не очень то он вообще не особо интересуется что там у него за фс, что то по умоланию и х.з.

  2. И админ (я про нормальных админов, дев-опсов, архитекторов) это чуть по выше чем программер и прекрасно знает как работают снимки в том же лвм и что такое жесткие и софт ссылки в фс, в отличие от какого гита.

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

Раньше хоме делали на отдельной партиции только для того что если что переставить тупо ухнул рядом ось а хоме примонтировал.

Хоме как subvol на той же партиции btrfs годится только для снапов и не более.

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

Есть мнение, что на маленьких дисках (256 и куда-еще-меньше) делать отдельный хомяк смысла нет.

Это не имеет смысла только для классических разделов, т.к. много места неэффективно используется. Но в btrfs все в одном пространстве и можешь делать хоть каждую директорию отдельным подтомом.

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

Это всегда имеет смысл. Просто раньше это решалось через LVM, а теперь есть более гибкая технология.

Ну так вернемся к снимкам. Раньше на ЛВМ снимки редко юзал, ну если только для снижения времени простоя ВМ во время бекапа …

А тут они зачем нужны? Причем как выяснилось при ВМ как раз нужно отключать COW на btrfs. И какой смысл тогда в снимках на brtfs?

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

И какой смысл тогда в снимках на brtfs?

Для меня — защита от fat-finger error, когда случайно сделал ОЙ, а последний полноценный бэкап был 10 часов продуктивной работы назад. Ну и для сэйвскама в играх (: Снапшоты у меня раз в 10 минут делаются

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

А, ну и бэкапы я со снапшотов делаю. Не то что бы это было строго необходимо в моём случае, но почему нет

P.S. на сколько я понимаю, снапшоты работают даже при выключенном CoW. Т.е. для снапшотов он включается

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

Ну ХЗ, я скорее админ чем погромист, с btrfs разобрался легко. Для домохозяев думаю хорошей продающей фичей могут быть гуёвые приблуды для управления снапшотами в духе timeshit

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

Это всегда имеет смысл.

Тут речь идет про очень маленький физический диск. Так можно понаразбивать, что и места совсем для полезного не останется.

Понятно, что для сохранности данных и удобства переустановки/переезда лучше всегда выделять раздел с пользовательскими данными.

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

P.S. на сколько я понимаю, снапшоты работают даже при выключенном CoW. Т.е. для снапшотов он включается

Нуда, иначе он не сделается.

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

На самом деле главная киллерфича btrfs лично для меня это возможность не париться о разбивке диска

Да вроде с ЛВМ тоже не особо парились.

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

да картреджечист, который не умеет написать цикл на баше, явно выше грязного надменноно прогера, который все знает, но не рассказывает, потому что тому похер на все и всех…ряяяя

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

raid-1 из двух разделов на одном диске по всей видимости только @NyXzOr создает, больше никому такое в голову не приходит. так се аргументация уровня кабы бабе хер пришить

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

Ну по сути RAID это не резервная копия, это чтобы если железка накрылась то ничего не потерять и продолжить работу как обычно. Но бекап тоже должен обладать и такой функций.

mx__ ★★★★★
() автор топика