Portál AbcLinuxu, 7. května 2025 07:27
btrfs subvolume list -a / ID 259 gen 14 top level 5 path /var/lib/machines ID 260 gen 4890 top level 5 path /snapshots/23-05-2017_zaklad_po_instalaci ID 300 gen 2825 top level 260 path /snapshots/23-05-2017_zaklad_po_instalaci/snapshots/24_5_2017_skoro_komplet ID 324 gen 4983 top level 260 path /snapshots/23-05-2017_zaklad_po_instalaci/snapshots/28_5_2017_asi_komplet ID 344 gen 5047 top level 324 path /snapshots/23-05-2017_zaklad_po_instalaci/snapshots/28_5_2017_asi_komplet/snapshots/30_5_2017_komplet ID 346 gen 5301 top level 344 path /snapshots/23-05-2017_zaklad_po_instalaci/snapshots/28_5_2017_asi_komplet/snapshots/30_5_2017_komplet/snap/30_5_2017-komplet
[root@localhost marek]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 596,2G 0 disk ├─sda1 8:1 0 100M 0 part ├─sda2 8:2 0 58,5G 0 part ├─sda3 8:3 0 4,3G 0 part └─sda4 8:4 0 533,3G 0 part /media/data2 sdf 8:80 0 1,8T 0 disk /media/data sdg 8:96 0 111,8G 0 disk / sr0 11:0 1 1024M 0 romco pamatuju, tak jsem se vracel přes set-default jednou po instalaci na ID 260 a po druhé včera do ID 346 (nové jádro nenabootuje a neměl jsem čas to řešit) teď jsem chtěl přebytečné snapshoty smazat a zjistl jsem, že nevím přesně jak a ani na netu jsem návody asi nepochopil do ted mi normálně fungovalo
btrfs snapshot delete /snapshot/...
na disku mi "zmizelo" asi 30GB místa a při tom adresář /snap/
je prázdný a /snapshots/
obstahuje jen prázdnou podsložku 24_5_2017_skoro_komplet
co jsem našel, tak bych měl snapshoty připojit (abych je pak mohl smazat) - ale nevím jejich mount pointy, takže mount -o pohoří ...
můžu poprosit o rad?
díky moc
btrfs subvolume delete
samozřejmě
ps -aux | grep btrfs root 202 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-worker] root 205 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-worker-hi] root 206 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-delalloc] root 207 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-flush_del] root 208 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-cache] root 209 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-submit] root 210 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-fixup] root 211 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio] root 212 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-met] root 213 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-met] root 214 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-rai] root 215 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-rep] root 216 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-rmw] root 217 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-wri] root 218 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-freespace] root 219 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-delayed-m] root 220 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-readahead] root 221 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-qgroup-re] root 222 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-extent-re] root 223 0.0 0.0 0 0 ? S 21:46 0:00 [btrfs-cleaner] root 224 0.0 0.0 0 0 ? S 21:46 0:00 [btrfs-transacti] root 334 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-worker] root 335 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-worker-hi] root 336 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-delalloc] root 338 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-flush_del] root 339 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-cache] root 341 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-submit] root 342 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-fixup] root 343 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio] root 347 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-met] root 348 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-met] root 349 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-rai] root 350 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-rep] root 351 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-rmw] root 352 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-endio-wri] root 353 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-freespace] root 355 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-delayed-m] root 356 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-readahead] root 358 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-qgroup-re] root 359 0.0 0.0 0 0 ? S< 21:46 0:00 [btrfs-extent-re] root 393 0.0 0.0 0 0 ? S 21:46 0:00 [btrfs-cleaner] root 394 0.0 0.0 0 0 ? S 21:46 0:00 [btrfs-transacti]s btrfs mi běží tohle - a cleaner běží hned 2x
Co to znamená, že mount -o
pohoří? Pohoří také mount -o subvolid=...
? Parametr je buď subvol
, což je ta cesta k subvolume, pokud existuje, nebo subvolid
, což je to číslo ID ve výpisu z btrfs subvolume list
.
Druhá možnost je nastavit těm „nepřipojeným“ snapshotům pomocí btrfs subvolume set-default <id> <path>
implicitní mount pointy, kde se mají objevit, a pak by mělo fungovat btrfs subvolume delete
.
[root@localhost marek]# mount -o subvolid=300 /snapshots/24_5_2017_skoro_komplet/ /home/marek/pokus/ mount: /snapshots/24_5_2017_skoro_komplet není blokovým zařízenímtím pádem pak nejde ani smazat a když pomocí
subvolume set-default id path
nastavím kde se mají objevovat, tak se mi připojí pod / a bootuju do nich
v podstatě mám teď asi 6 snapshotů, mezi kterýma můžu libovolně přepínat, ale nemůžu (nevím jak) je připojit, nebo smazat
jestli dělám nějakou pitomou chybu, tak se omlouvám, ale nějak s tím nemůžu pohnout
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 596,2G 0 disk ├─sda1 8:1 0 100M 0 part ├─sda2 8:2 0 58,5G 0 part ├─sda3 8:3 0 4,3G 0 part └─sda4 8:4 0 533,3G 0 part /media/data2 sdf 8:80 0 1,8T 0 disk /media/data sdg 8:96 0 111,8G 0 disk / sr0 11:0 1 1024M 0 rom
[root@localhost marek]# mount -o subvolid=300 /dev/sdg /media/nfs/ [root@localhost marek]# btrfs subvolume delete /media/nfs/ Delete subvolume (no-commit): '/media/nfs' ERROR: cannot delete '/media/nfs': Invalid argumentdíky radu a nasměrování
Ano, mountovat se musí pomocí cesty k zařízení (resp. k jednomu ze zařízení) toho filesystému, nikoliv cesty k nějakému adresáři na už namountovaném filesystému.
Pokud takhle namountovaný subvolume nejde smazat — nejspíš proto, že mount point pod ním se netváří jako subvolume —, asi bych udělal něco jako btrfs subvolume set-default 300 /snapshots/crap_for_deletion
, čímž ten subvolume (snad) získá zpátky svůj klasický automaticky mountovaný adresář, a pak už by to mělo jít normálně smazat přes btrfs subvolume delete /snapshots/crap_for_deletion
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.