LINUX.ORG.RU

Btrfs: структура подтомов

 


0

1
➜ cat /etc/fstab        
# /dev/mapper/cryptroot LABEL=Arch_LUKS
UUID=1012fbbb-7e68-4ea7-962a-752bf520dbef	/         	btrfs     	rw,relatime,ssd,space_cache,subvolid=3392,subvol=/@	0 0

# /dev/mapper/cryptroot LABEL=Arch_LUKS
UUID=1012fbbb-7e68-4ea7-962a-752bf520dbef	/var/lib/docker	btrfs     	rw,relatime,ssd,space_cache,subvolid=5404,subvol=/@docker	0 0

# /dev/mapper/cryptroot LABEL=Arch_LUKS
UUID=1012fbbb-7e68-4ea7-962a-752bf520dbef	/var/lib/machines	btrfs     	rw,relatime,ssd,space_cache,subvolid=5405,subvol=/@machines0 0

# /dev/mapper/cryptroot LABEL=Arch_LUKS
UUID=1012fbbb-7e68-4ea7-962a-752bf520dbef	/var/lib/portables	btrfs     	rw,relatime,ssd,space_cache,subvolid=5406,subvol=/@portables	0 0

# /dev/nvme1n1p1 LABEL=ESP
UUID=2C05-8160      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

# /dev/mapper/cryptroot LABEL=Arch_LUKS
UUID=1012fbbb-7e68-4ea7-962a-752bf520dbef	/home     	btrfs     	rw,relatime,ssd,space_cache,subvolid=276,subvol=/@home	0 0

# /dev/mapper/cryptroot LABEL=Arch_LUKS
UUID=1012fbbb-7e68-4ea7-962a-752bf520dbef	/home/.snapshots	btrfs     	rw,relatime,ssd,space_cache,subvolid=4882,subvol=/@snapshots/home	0 0

# /dev/mapper/cryptroot LABEL=Arch_LUKS
UUID=1012fbbb-7e68-4ea7-962a-752bf520dbef	/.snapshots	btrfs     	rw,relatime,ssd,space_cache,subvolid=4881,subvol=/@snapshots/root	0 0

# /dev/zram0
/dev/zram0          	none      	swap      	defaults,pri=100	0 0

У меня вот сомнения: толи создать отдельные подтом @docker_btrfs, толи использовать @docker, смонтированный в /var/lib/docker, толи создать @var_lib или вообще @var, утрата всего содержимого которого никак не влияет на работоспособность системы. А как у вас все устроено?

★★

или вообще @var, утрата всего содержимого которого никак не влияет на работоспособность системы.

У меня у одного как раз в /var/ весь невоспроизводимый потом если что стейт и лежит?

А как у вас все устроено?

В 90% случаев вообще без подтомов.

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

какой именно? у меня там кеш пакмана, логи и сабвольюмы btrfs, которые systemd и docker создают, они мешают корневой сабвольюм заменять на лету

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

Я пока такое родил:

subvolumemountописание
@/Корневой каталог (системные файлы)
@home/homeДомашний каталог с пользовательскими данными
@snapshotsКорневой подтом для снапшотов
@snapshots/root/.snapshotsСодержит снапшоты корня, которые создает snapper
@snapshots/home/home/.snapshotsСодержит снапшоты хомяка, которые создает snapper
@machines/var/lib/machinesЕсли не существует создаст systemd
@portables/var/lib/portablesЕсли не существует создаст systemd
@docker/var/lib/dockerДокер создает сабмольюмы в ./btrfs/subvolumes либо в ./XXX/btrfs/subvolumes
@var_lib/var/libВместо создания @machines, @portables, @docker можно создать только этот, если в /var/lib не будет храниться чего-то важного (предполагается, что будут делаться снапшоты только корня и/или хомяка)
@var/varАналогично выше описанному
@var_log/var/logЛоги пишутся постоянно маленькими чанками, от чего снапшоты пухнут. Должен монтироваться с nodatacow
@swap/swap или /var/swap, или /var/lib/swapХранит файл подкачки. Должен монтироваться с nodatacow
tz4678 ★★
() автор топика
Последнее исправление: tz4678 (всего исправлений: 1)

Общий совет согласно вики таков: придерживаться линейной структуры томов (создаются внутри корневого, монтируются куда угодно) - так проще ими оперировать и менять структуру раздела в будущем.

Исключением является случай, когда вложенный подтом логически зависим от более высокоуровнего подтома, и создан для исключения из резервного копирования. Например, есть некий сервис /var/service, внутри которого есть подпапка временных файлов и мусора /var/service/tmp, которую не требуется бэкапить. В таком случае можно создать подтом /var/service и внутри него /var/service/tmp - в такой структуре tmp не будет копироваться при резервном сохранении service. С точки зрения организации хранения данных этот tmp не имеет значения вне service, поэтому создавать для него отдельный корневой подтом не стоит.

P.S Не пользуюсь snapper, использую простой скрипт, который копирует подтома на отдельный диск.

mxfm ★★
()
Последнее исправление: mxfm (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.