Al usar btrfs, ¿por qué los valores "Tamaño", "Usado" y "Disponible" de df no coinciden?

9

Tengo una partición btrfs. Cuando corro df -h, muestra:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       113G  101G  8.3G  93% /home

¿Por qué es eso? ¿Es porque el espacio reservado para root como wth ext2 / 3/4? ¿O es otra cosa? Si es lo primero, ¿cómo puedo cambiarlo y reclamar esos 4GB?

Según el wiki de btrfs , sé que los metadatos se almacenan dos veces, lo que infla el tamaño de los datos "usados":

user@machine:~$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             894G  311G  583G  35% /
                            ^^^^
user@machine:~$ btrfs fi df /
Metadata: total=18.00GB, >>used=6.10GB<<  *2=  12.20GB
Data: total=358.00GB, >>used=298.37GB<<   *1= 298.37GB
System: total=12.00MB, >>used=40.00KB<<   *1=   0.00GB
                                           == 310.57GB 
                                           ~~ 311   GB

Pero esto todavía no explica por qué Usado + Disponible <Tamaño.

cenar
fuente
btrfs.wiki.kernel.org/articles/f/a/q/FAQ_1fe9.html : lea "¿Por qué hay tantas maneras de verificar la cantidad de espacio libre?" sección, tiene mucha información.
Mat
Sí, tiene mucha información, pero en todos sus ejemplos Used + Avail = Size in dfoutput. He actualizado la pregunta con esto.
sup
¿ lsofMuestra algún archivo eliminado? (La salida btrfs de su sistema habría sido un poco más apropiada que la de la wiki.)
Mat
Lo sé, pero fui flojo para reformatearlo y es analógico. Si lsof |grep 'DEL'|wc -lda el número de archivos eliminados, es 338. Sin embargo, no parecen grandes (¿puedo obtener su tamaño total de alguna manera?)
sup
1
@ Mat Aquí hay un enlace de trabajo a las preguntas frecuentes de BTRFS: ¿Por qué hay tantas maneras de verificar la cantidad de espacio libre?
ali_m

Respuestas:

10

A menos que especifique lo contrario al formatear, el valor predeterminado es almacenar copias duplicadas de los bloques de metadatos para mejorar la confiabilidad. Probablemente tenga 2 gb de metadatos que se almacenan dos veces, usando 4 gb. Puedes ver más detalles con btrfs filesystem df.

En particular, se asignan 1.75GB para metadatos, por lo que consume el doble de eso o 3.5GB de espacio. Actualmente solo se utilizan 385mb de esos 1.75 gb para metadatos, pero los 1.75GB completos están reservados para ese uso y, por lo tanto, no se cuentan para el espacio disponible para los datos de archivo

psusi
fuente
btrfs filesystem df /homeda Metadata, DUP: total=1.75GB, used=385.70MBasí que tengo aproximadamente 771 MB de metadatos almacenados, junto con los datos que asciende a 101G, pero no explica por qué Usado + Avail <Tamaño - Expandí la pregunta para reflejar esto.
sup
44
@sup, se asignan 1.75GB para metadatos, por lo que consume el doble de eso o 3.5GB de espacio. Actualmente solo 385mb de esos 1.75 gb se usan para metadatos, pero los 1.75GB completos están reservados para ese uso y, por lo tanto, no se cuentan para el espacio disponible para los datos de archivo.
psusi
Ah, ahora entiendo. Supongo que los ejemplos de btrfs wiki solo usan algunos df antiguos que no sabían sobre esto. ¡Gracias por la respuesta!
sup