¿Compresión ZSTD no parece funcionar?

Buenos días,

Según había entendido Opensuse TW con btrfs no habilita la compresión zstd, así que quería hacer una prueba empírica :smile_cat:

Aparte de ponerlo en el ‘fstab’ que entiendo que solo afecta a nuevos datos grabados, quería aplicarlo a todo mi HOME

Con este comando tome una foto:

du -h --max-depth=1 /home/xxx | sort -h

4,0K    /home/x/.vscode  
68K     /home/x/.pki  
128K    /home/x/Documentos  
17M     /home/x/.oh-my-zsh  
19M     /home/x/Distrobox  
118M    /home/x/Aplicaciones  
177M    /home/x/Compartida  
651M    /home/x/.cache  
871M    /home/x/.webcatalog  
1,4G    /home/x/.config  
2,8G    /home/x/.local  
3,1G    /home/x/Escritorio  
7,7G    /home/x/.var  
23G     /home/x/Descargas  
30G     /home/x/Temporal  
120G    /home/x/Música  
151G    /home/x/VM  

340G    /home/x

y a continuación lance esto:

sudo btrfs filesystem defragment -r -v -f -czstd /home/xxxxx

Y entiendo que es zstd = 3. El caso es que me ha mostrado en pantalla toda mi vida, 340GB que hay de todo ahí… volviendo hacer el DU me dice exactamente el mismo tamaño… tiene sentido? estoy tonta y hay algo que no haya entendido?

Hola:
/home es un sub volumen de la raíz , pero no implica que esté en btrfs ; excepto que tu lo eligieras, al hacer la instalación .
En mi caso utilizo btrfs, tanto para la raíz como para /home e incluso otros pendrives usb y otros discos.

Según tengo entendido, TW, Leap, etc… por defecto formatea btrfs solo la raíz , usando otro formato para /home (en mi caso al hacerlo siempre en btrfs, desconozco si las cosas han cambiado) .
Al ser un Formato con FS tipo COW , usa mucho la cpu (idem si hay compresión , ejemplo un 3G puede pasar a 1Gb) , a la raíz no le supone mucho esfuerzo, ya que después carga en ram , pero por lo seguro que es, está bien para servidores y WS (sobre todo a nivel raid) , y en equipos normales ,viene bien, si activas las snapshots.

rank:~ # lsblk -fm |grep /home
├─sda3      btrfs                         072e1006-1c81-4da2-a55e-4af1afc0db34  951.1G    40% /home                                                   1.5T root  disk  brw-rw----

rank:~ # lsblk -fm |grep btrfs
├─sda2      btrfs                         6c2ae167-57e5-41de-8456-c4ef07e4dd0a   84.8G    15% /var                                                    100G root  disk  brw-rw----
├─sda3      btrfs                         072e1006-1c81-4da2-a55e-4af1afc0db34  951.1G    40% /home                                                   1.5T root  disk  brw-rw----
└─sda5      btrfs                         3e28b835-4838-4661-bf0f-410aa2965ebf  137.8G     0% /run/media/frank/3e28b835-4838-4661-bf0f-410aa2965ebf 137.8G root  disk  brw-rw----
└─sdb1      btrfs        1tverde          f00a226f-2f46-458d-97a5-2cb5d5c7ed31   11.1G    98% /run/media/frank/1tverde                              931.5G root  disk  brw-rw----

Saludos

Bueno,

A raiz del mensaje que preguntaba sobre temas de backup y me recomendásteis llevar el /home a otro disco decidí reinstalar :smile_cat: y seguir vuestros consejos.

Es decir ambos son BRTFS, de manera que debería haber funcionado la compresión y no ha hecho nada de nada. ¿Tiene sentido?

Voy a volver a formatear una vez más, porque soy tonta y no metí en cifrado… y prefiero hacerlo desde el principio… no hay dolor, es un rato la configuración.

Hola:
No leí ese post .

Mis preferencias es ponerlo a parte o en otra partición.

Con respeto a la compresión , hay ejemplos e información en español, ejemplo la wiki de arch, aunque si la encuentras para openSUSE mejor (por posibles diferencias en la configuración) .

La configuración que has puesto, la veo ok, ( lo único es el parámetro -f , que no viene en otros ejemplos y no se que hace) .
¿podría ser que faltase algún dato o configuración antes de hacer eso ?
Si puedes hacer la prueba, con un solo directorio, sería mejor .
En cuanto mirar la capacidad, btrfs usa otros comandos : btrfs filesystem du (df, usage, show, etc… (no se si se puede usar en la opción de du en btrfs esas opciones : --max-depth=1 (1,2 y 3) .

Te dejo estos links por si la info. te sirve :
https://wiki.gentoo.org/wiki/Btrfs/es
https://wiki.archlinux.org/title/Btrfs_(Español)
En mi caso en ese tema,también estaría verde , no la uso, porque los discos suelen tener bastante tamaño, el usarla , usaría un poco mas la cpu , otra es que probando una vez me equivoque y perdí los datos (prefiero hacer la prueba en un disco extraible, (en el caso que se pueda )) .

Saludos cordiales

¡60,43 GB para una partición swap! ¿Cuánta memoria RAM tienes? ¿Usas Hibernación y/o Suspender?

Comprimir no tiene sentido en esta época de disco duros baratos y de gran capacidad.
La mayoría de la gente no necesita cifrar sus discos duros salvo que guardes cosas que no quieres que ojos ajenos las vean. ¿Dónde están tus cosas? En /home, ¿no?
Pues cifra /home y deja el resto del sistema sin cifrar.

No obstante, llamo a @karlggest que tiene más experiencia en estas cosas.

Hola.

Si no lo sabías ya, acostúmbrate a no mezclar mucho utilidades como df, du y otras con btrfs, porque a veces pueden darte resultados raros(1).

Por otra parte, por lo visto el comando que ejecutas no comprime nada… a menos que lo escribas.

At this point, if you apply compression to your existing filesystem and check the space usage with df or similar commands, you will notice that nothing has changed. That is because Btrfs, by itself, doesn’t “recompress” all your existing files. Compression will only take place when writing new data to disk. There are a few ways to perform an explicit recompression:

de Working with Btrfs - Compression - Fedora Magazine

Supongo que lo que se intenta con el comando sudo btrfs filesystem defragment... es precisamente forzar una reescritura que “provoque” la compresión de los ficheros escritos. Pero supongo que tendrás que montar la partición de todas formas.

Puedes hacer tus propias pruebas creando una partición “de mentira”, como en este otro ejemplo: B-tree FS: Snapshots | h4ckseed Puedes montarla y probar a comprimirla y guardar ficheros en ella hasta que tengas la suficiente confianza en el método para probar con tus particiones.

(1) Yo uso du y df, no digo que no los uses, solo que no siempre es evidente interpretar los resultados que dan. btrfs tiene opciones como:

sudo btrfs filesystem df /
sudo btrfs filesystem df /home
sudo btrfs filesystem du /
sudo btrfs filesystem du /home

No puedes decirle a la gente que iguale la swap con la RAM para hibernar y luego extrañarte de que tengan swaps grandes :rofl:

En los portátiles la hibernación va bien para cuando te quedas sin batería en el medio del monte (o cualquier lugar similar en ese punto). En los equipos de escritorio yo no le encuentro mucha utilidad, y más usando Nvme como en este caso.

Comprimir es y será la última moda siempre desde que se inventó esta tecnología. Ahora, en lugar de ampliar los discos lo que estamos haciendo es poner discos más pequeños y más rápidos (Nvme por SSD, SSD por HDD) así que la falta de espacio es tan relevante ahora como lo ha sido y será siempre.

Pero además está la cuestión de si los sistemas de ficheros modernos son capaces de manejar la compresión con poca pérdida de velocidad.

Si tienes el chip este tan famoso el TPM, cosa probable, si vas a instalar hazlo con Agama. Eso sí, mi portátil tarda un mundo en cargar grub :rofl: Puede que tengas TPM pero tengas que activarlo en la BIOS.

Instalar con TW es igual que lo que hice con Slowroll, simplemente en el momento de comenzar la instalación selecciona Tumbleweed

Salud!!

1 Like

FAQ:

Por qué usar TPM?

Usar TPM con el arranque seguro de marras te permite no tener que poner la clave más que para iniciar sesión. Sólo tendrías que meter la clave si intentas montar el disco en un sistema “no confiable”: por ejemplo, arrancando con otro liveUSB.

Por qué usar Agama?

Porque el instalador YaST no soporta TPM. Si cifras el disco, te pedirá la clave en cada sistema de ficheros -como mínimo, uno para /, otro para swap y en tu caso otro para /home.
Digo el instalador YaST, no que no pueda hacerse incluso durante la instalación con YaST: Quickstart in Full Disk Encryption with TPM and YaST2 - openSUSE News Pero como ves requiere ajustes adicionales. En Agama, le dices que lo cifre con TPM, le pones la clave y a correr.

¿Es buena idea hibernar en un equipo cifrado para evitar ese arranque que dices?

Respuesta rápida: no.
Respuesta larga: no.
:rofl:
La idea de cifrar el disco es que nadie pueda acceder sin clave. En teoría, puedes configurar que te pida la clave de tu cuenta usuaria al despertar el equipo. La pregunta es la misma que sin cifrar: hasta qué punto copiar una memoria muy grande no lleva casi tanto tiempo que cargarla desde el principio. Eso depende de más cosas que la hibernación en sí.

Para reiniciar sin necesidad de cargar de vuelta todo tienes sudo systemctl soft-reboot

Buenas !!

(por puro frikismo en lugar de mirar netflix) Ayer noche me acabé acostando muy de madrugada… ains formatee y puse cifrado Lucks2 en el disco con / y el disco con /home… no arrancó… problemas con el grub… no pasa ná… tampoco es tan importante el /… venga solo /home… Volví a formatear y reinstalar, después de poner los drivers de nvidia y reiniciar un par de veces, se rompió, un error raro que hice fotos… pero era ya las 1 de la mañana y necesitaba el ordenador para trabajar al día siguiente (trabajo en máquina virtual linux y windows)… así que nada formatear normal y corriente.

Respondo a cosillas que habéis comentado…

DiabloRojo:
¡60,43 GB para una partición swap! ¿Cuánta memoria RAM tienes? ¿Usas Hibernación y/o Suspender?

Como arranco dos máquinas virtuales con 16GB y cosillas extras mejor que no falte. Lo he quitado y si acaso pondré fichero swap de 4-8gb en lugar de partición, no hiberno la verdad.

karlggest:
Si no lo sabías ya, acostúmbrate a no mezclar mucho utilidades como df, du y otras con btrfs, porque a veces pueden darte resultados raros(1).

Seguramente me engañó entonces, sí el comando -f en teoria reescribe y lo veía por los discos, no solo era lectura sino que veía tasas de 1giga y pico de escritura en el nmve

Comprimir es y será la última moda siempre desde que se inventó esta tecnología. Ahora, en lugar de ampliar los discos lo que estamos haciendo es poner discos más pequeños y más rápidos (Nvme por SSD, SSD por HDD) así que la falta de espacio es tan relevante ahora como lo ha sido y será siempre. […]

Según la literatura zstd no tiene impacto con CPU’s modernas a nivel 3, y mejor que sobre que falte… los NMVE no son baratos

Si tienes el chip este tan famoso el TPM, cosa probable, si vas a instalar hazlo con Agama. Eso sí, mi portátil tarda un mundo en cargar grub :rofl: Puede que tengas TPM pero tengas que activarlo en la BIOS.

Sí, miraré lo de AGAMA no tengo ahora mismo ni idea… lo peor es la DDR5, nadie te dice que arranca muy lento aunque a nivel de BIOS toques cosas…

Ah, y lo de cifrar el disco, es por lo mismo que deberíamos cifrar el móvil… no es que tenga muchos secretos, pero si te entran en casa a robar, es un troyano para apparmor selinux y demás :smiley: y no quiero que tengan mis datos personales

Y nada, volveré a probar lo de ZSTD y ya comentaré en el hilo conclusiones

Puedes dejar que el propio instalador de Yast te haga la swap diciéndole que no usas o quieres hibernación. Del instalador Agama, NPI.

Para saber un poco de la swap, lee esto de Ubuntu, es el mejor que lo explica, también hay otras guías cuyas tablas son validas pero no lo explica tan bien como el enlace de abajo.

https://help.ubuntu.com/community/SwapFaq

Otra cosa. Las maquinas virtuales de 16 GB, ¿son para probar distribuciones de Linux? Te lo digo por experiencia porque es poco si quieres probar openSUSE Leap o TW o Ubuntu LTS… Lee los requisitos de la distro con respecto al mínimo tamaño de GB e intenta cumplirlo. Lo normal son de 20 a 30 GB.

Gracias !!, tengo lectura por delante jajaja otra noche sin Netflix

Las dos que mencionaba eran 16GB de RAM y el disco tendré como 100GB cada una y con eso de momento suficiente y son para trabajar (cobrando :joy_cat:)

Sí que tengo una para desarrollo (personal) pero ahí tengo otra historia que en algún momento abriré un hilo. Y es que necesito GPU y …virtualbox no lo permite, y qemu etc no lo conseguí configurarme la gráfica integrada + nvidia asignada a la máquina virtual (adoro snapper rollback :heart_eyes_cat: ) no se cuantas veces rompi TW

Pero creo que no es necsario… lo siguiente es meterme es usar Distrobox (o podman directamente) que sí permite el uso de GPU, todo esto para modelos tanto de lenguaje como de imagen de IA, que ando jugueteando con el amigo… HAL 9000

Buenos días

Efectivamente como era de esperar, sí funciona y era que el comando para ver el espacio libre no era el correcto

Tengo que digerir tantas cifras… pero “Free (estimated)” son 67GB menos alrededor de un 13%

Para / tengo estos datos unos 4 GB menos, realmente es muy poquito

Lo he aplicado en estas carpetas y en teoría el comando set establece la compresión, no se si está bien

sudo btrfs property set /usr compression zstd
sudo btrfs filesystem defragment -r -v -f -czstd /usr

sudo btrfs property set /opt compression zstd
sudo btrfs filesystem defragment -r -v -f -czstd /opt

sudo btrfs property set /etc compression zstd
sudo btrfs filesystem defragment -r -v -f -czstd /etc

sudo btrfs property set /var/cache compression zstd
sudo btrfs filesystem defragment -r -v -f -czstd /var/cache

sudo btrfs property set /var/lib compression zstd
sudo btrfs filesystem defragment -r -v -f -czstd /var/lib

sudo btrfs property set /srv compression zstd
sudo btrfs filesystem defragment -r -v -f -czstd /srv

Por lo que yo entiendo, tienes que montar la partición para usarlo. Si repasas el enlace anterior (de Chr0n0s), él sí la monta antes, y después le aplica la defragmentación, supongo que para forzar la escritura y así comprimir el contenido de la partición.

Leyendo un poco la documentación y el bajo impacto que parece tener:
https://btrfs.readthedocs.io/en/latest/Compression.html

Durante la instalación para /home ¿sería buena idea un check para aplicar compresión?, al igual que puedes marcar cifrado. Diría que no existe esa opción.

¿Estas propuestas como se canalizan?