btrfs: allocati metadati ENORMI


14

Ho un disco SSD da 256 GB su cui ho convertito il mio root ext4 FS in btrfs. Ho cancellato il volume secondario del backup ext4, abilitato la compressione e deframmentato in modo ricorsivo per abilitarlo su tutti i file.

btrfs fi df / ha un output che mi preoccupa però:

Data: total=148.00GB, used=106.11GB
System: total=32.00MB, used=16.00KB
Metadata: total=65.00GB, used=2.04GB

Se capisco correttamente l'output, 65 GB (1/4 del mio disco!) È riservato ai metadati e non è disponibile per l'archiviazione dei file. Se questo è corretto, sarebbe uno spreco enorme del mio spazio su disco. Sto capendo correttamente? È possibile ridimensionare la parte del mio disco assegnata ai metadati?

Risposte:


16

Innanzitutto, assicurati che il tuo kernel e lo spazio utente BTRFS siano aggiornati.

In base alle FAQ di BTRFS , non è possibile ridimensionare la dimensione del blocco di metadati. Tuttavia, puoi provare a eseguire btrfs balance start -m <mount point> che riallocerà i metadati su tutto il disco e, come effetto collaterale, probabilmente libererà spazio non allocato.

Se ciò non funziona, potrebbe essere necessario eseguire il backup dei dati e ricreare il filesystem. (Dai un'occhiata a questo per maggiori informazioni.)


Grazie per la risposta. Il kernel è 3.11.2, btrfs-tools sono v0.20-rc1 quindi non credo di essere obsoleto qui. Ho provato a eseguire un bilancio, ma poi ho riscontrato il seguente bug: spinics.net/lists/linux-btrfs/msg26977.html e non mi va di compilare un kernel più recente solo per questo. : P Quello che mi chiedo è se questi 65 GB sono il blocco di metadati che non può essere ridimensionato o se quel termine si riferisce a qualcos'altro. Altrimenti non capisco davvero come il blocco di metadati sia stato creato con quella dimensione in primo luogo.
Gnurou,

Sfortunatamente, sono solo un utente di btrfs e non un esperto, quindi il mio aiuto è limitato. In ogni caso, è possibile che ci sia un difetto nel processo di conversione da ext4.
hololeap,

11
Quindi, la patch necessaria è diventata il kernel stabile e ho provato quello che mi hai suggerito. Il bilanciamento ha infatti ridotto la quantità di area riservata per i metadati fino a 3 GB e lo spazio richiesto ora appare come spazio libero in "df". Si noti che non è necessario riequilibrare l'intero disco, è possibile eseguire btrfs balance start -m <mount point> per riequilibrare solo i metadati, che è molto più veloce. Grazie per la risposta perspicace!
Gnurou,

Sono contento di poterti aiutare!
hololeap,

"non puoi ridimensionare la dimensione del blocco di metadati". Ciò è irrilevante per questa domanda: le FAQ parlano della dimensione dell'unità di allocazione, non della quantità di spazio allocata per i metadati.
Vladimir Panteleev,

1

Ciò ridurrà la dimensione dei metadati.

sudo btrfs balance start -v -musage=0 /path
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.