Portál AbcLinuxu, 12. června 2024 16:03


Dotaz: btrfs, nefunkční komprese

Skeletonix avatar 11.5.2018 21:28 Skeletonix | skóre: 18 | Praha
btrfs, nefunkční komprese
Přečteno: 383×
Odpovědět | Admin
Ahoj,

snažím se zprovoznit automatickou kompresy na disku s btrfs na raspberrypi, kernel 4.14.34-v7. Disk připojuji příkazem:

sudo mount -o compress,subvolid=1760 /dev/mapper/cr_data /media/backup

pak na disku vytořím txt soubor o velikosti 10 MB a příkazem compsize ověřím obsazenou velikost. Výsledek:

Type Perc Disk Usage Uncompressed Referenced

TOTAL 100% 9.5M 9.5M 9.5M

none 100% 9.5M 9.5M 9.5M

Vypadá to, že se u nového souboru komprese automaticky neuplatní.

Pokud nad adresářem kde se soubor nachází spustím:

sudo btrfs filesystem defragment -r -v -czlib ./pokus

tak komprese zafunguje. Výsledek compsize:

Type Perc Disk Usage Uncompressed Referenced

TOTAL 78% 7.4M 9.5M 9.5M zlib 78% 7.4M 9.5M 9.5M

Netušíte co dělám špatně, že mi komprese nefunguje automaticky na nových souborech po namountování?


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.5.2018 22:38 Sten
Rozbalit Rozbalit vše Re: btrfs, nefunkční komprese
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vidím tam subvolid, není jiný subvolume ze stejného Btrfs připojený někde jinde? Btrfs zatím neumí mít jiné volby pro jiné subsystémy stejného systému.
Skeletonix avatar 12.5.2018 14:59 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: btrfs, nefunkční komprese
Je to tak, na disku jsou celkem 4 subvolumy:
ID 1760 gen 25857 parent 5 top level 5 path @subvol1
ID 1761 gen 25887 parent 5 top level 5 path @subvol2
ID 2937 gen 25899 parent 5 top level 5 path @subvol3
ID 2939 gen 20775 parent 5 top level 5 path @subvol4
Prakticky mi stačí komprimace na subvol3 a subvol4, ale když se aktivuje komprese pro celý disk, tak se nic nestane.

Jak docílit aktivace pro celý disk, když každý subvolume připojuji zvlášť do vlastního adresáře v /media/ (toplevel subvolume nikam nepřipojuji)?
12.5.2018 15:21 Sten
Rozbalit Rozbalit vše Re: btrfs, nefunkční komprese
Použijí se volby prvního připojeného oddílu. Nebo můžete použít atribut C na adresář toho oddílu a všechny podadresáře v něm.
Skeletonix avatar 14.5.2018 22:54 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: btrfs, nefunkční komprese
Děkuji. Pokud zadám chattr -R +c na celý adresář v /media/backup, tak se mi u komprese automaticky aplikuje na všechny nové vzniklé soubory ve složce /media/backup?

Po zadání dostanu řadu chybových hlášek:
chattr: Invalid argument while setting flags on /media/backup/QQQ/bck_full.7z.001
Chápu to správně, že tyto soubory již nemohou být komprimovány, tak se atribut neuplatní?

Lze pomoci nastavení atributu +c vybrat metodu komprese?
Řešení 1× (Skeletonix (tazatel))
14.5.2018 23:29 Sten
Rozbalit Rozbalit vše Re: btrfs, nefunkční komprese
Nové soubory dědí atributy adresáře.

Nastavení či smazání atributu neprovede (de)kompresi existujících bloků, k tomu je potřeba spustit defragmentaci, pouze nové bloky budou (ne)komprimované.

Pokud ten soubor není symlink, tak ta chybová hláška je chyba ve starší verzi chattr.

S chattr se vždy použije ZLIB. Kompresi včetně metody lze nastavit pomocí btrfs property set <file> compression <zlib|lzo|zstd>, ale tam nevím, jak je to s děděním.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.