btrfs: BÜYÜK meta veriler ayrıldı


14

256GB SSD disk üzerinde hangi ext4 kök FS btrfs dönüştürdüm. Ext4 yedekleme alt birimini sildim, sıkıştırmayı etkinleştirdim ve tüm dosyalarda etkinleştirmek için özyinelemeli olarak birleştirdim.

btrfs fi df / beni endişelendiren bir çıktı var:

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

Çıkışı doğru anlarsam, 65GB (diskimin 1 / 4'ü) meta veriler için ayrılmıştır ve dosyaları depolamak için kullanılamaz. Bu doğruysa, disk alanımın büyük bir israfı olurdu. Doğru mu anlıyorum? Diskimin meta veri tarafından ayrılmış kısmı yeniden boyutlandırılabilir mi?

Yanıtlar:


16

İlk olarak, çekirdeğinizin ve BTRFS kullanıcı alanının güncel olduğundan emin olun.

BTRFS SSS'ye göre , meta veri blok boyutunu yeniden boyutlandıramazsınız. Bununla birlikte, meta verileri tüm disk boyunca yeniden tahsis edecek ve bir yan etki olarak muhtemelen ayrılmamış alan açacak olan btrfs balance start -m <bağlama noktası> çalıştırmayı deneyebilirsiniz .

Bu işe yaramazsa, verilerinizi yedeklemeniz ve dosya sistemini yeniden oluşturmanız gerekebilir. (Bir göz atın bu daha fazla bilgi için.)


Cevap için teşekkürler. Çekirdek 3.11.2, btrfs-tools v0.20-rc1, bu yüzden burada güncel olmadığımı sanmıyorum. Bir denge kurmaya çalıştım ama sonra şu hatayı buldum : spinics.net/lists/linux-btrfs/msg26977.html ve bunun için daha yeni bir çekirdek derlemek gibi hissetmiyorum. : P Merak ettiğim, bu 65GB'ın yeniden boyutlandırılamayan meta veri bloğu mu yoksa bu terimin başka bir şeye atıfta olup olmadığı. Aksi takdirde, meta veri bloğunun bu boyutta nasıl oluşturulduğunu gerçekten anlamıyorum.
Gnurou

Ne yazık ki, uzman değil, sadece btrfs kullanıcısıyım, bu yüzden yardımım sınırlı. Her durumda, dönüştürme işleminde ext4'ten bir kusur olması mümkündür.
hololeap

11
Böylece, gerekli yama onu istikrarlı çekirdeğe dönüştürdü ve önerdiklerinizi denedim. Dengeleme, meta veriler için ayrılmış alan miktarını 3 GB'a düşürdü ve talep edilen alan artık 'df'de boş alan olarak görünüyor. Tüm diski yeniden dengelemeniz gerekmediğini unutmayın, btrfs balance start -m <bağlama noktası> ' nı yalnızca daha hızlı olan meta verileri yeniden dengelemek için yapabilirsiniz. Anlayışlı cevap için teşekkürler!
Gnurou

Yardımcı olduğuma sevindim!
hololeap

msgstr "meta veri blok boyutunu yeniden boyutlandıramazsınız". Bu, bu soru ile ilgisizdir - SSS, meta veriler için ayrılan alan miktarından değil, ayırma birimi boyutundan bahseder.
Vladimir Panteleev

1

Bu, meta veri boyutunu azaltacaktır.

sudo btrfs balance start -v -musage=0 /path
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.