btrfs: Siêu dữ liệu HUGE được phân bổ


14

Tôi có một ổ đĩa SSD 256 GB mà trên đó tôi đã chuyển đổi FS gốc ext4 của mình sang btrfs. Tôi đã xóa subvolume sao lưu ext4, cho phép nén và phân mảnh theo cách đệ quy để kích hoạt nó trên tất cả các tệp.

btrfs fi df / có một đầu ra làm tôi lo lắng mặc dù:

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

Nếu tôi hiểu chính xác đầu ra, 65GB (1/4 đĩa của tôi!) Được dành riêng cho siêu dữ liệu và không có sẵn để lưu trữ tệp. Nếu điều này là chính xác, nó sẽ là một sự lãng phí rất lớn không gian đĩa của tôi. Tôi có hiểu đúng không? Phần phân bổ siêu dữ liệu trong đĩa của tôi có thể được thay đổi kích thước không?

Câu trả lời:


16

Trước tiên, hãy đảm bảo kernel của bạn và không gian người dùng BTRFS được cập nhật.

Theo Câu hỏi thường gặp về BTRFS , bạn không thể thay đổi kích thước kích thước khối siêu dữ liệu. Tuy nhiên, bạn có thể thử chạy cân bằng btrfs start -m <mount point> sẽ phân bổ lại siêu dữ liệu trên toàn bộ đĩa và, như một hiệu ứng phụ, có thể giải phóng không gian chưa được phân bổ.

Nếu điều đó không làm việc, bạn có thể phải sao lưu dữ liệu của mình và tạo lại hệ thống tập tin. (Hãy xem cái này để biết thêm.)


Cảm ơn câu trả lời. Kernel là 3.11.2, btrfs-tools là v0.20-rc1 nên tôi không nghĩ mình đã hết hạn ở đây. Tôi đã cố chạy số dư nhưng sau đó tôi gặp phải lỗi sau: spinics.net/lists/linux-btrfs/msg26977.html và không cảm thấy muốn biên dịch kernel mới hơn cho việc này. : P Điều tôi băn khoăn là liệu 65GB này có phải là khối siêu dữ liệu không thể thay đổi kích thước hay không, nếu thuật ngữ đó đề cập đến điều gì khác. Mặt khác, tôi thực sự không hiểu làm thế nào khối siêu dữ liệu được tạo với kích thước đó ở vị trí đầu tiên.
Gnurou

Thật không may, tôi chỉ là người sử dụng btrfs và không phải là chuyên gia, vì vậy sự giúp đỡ của tôi bị hạn chế. Trong mọi trường hợp, có thể có một lỗ hổng trong quy trình chuyển đổi từ ext4.
hololeap

11
Vì vậy, bản vá cần thiết đã biến nó thành kernel ổn định và tôi đã thử những gì bạn đề xuất. Việc cân bằng thực sự đã giảm lượng diện tích dành riêng cho siêu dữ liệu xuống còn 3 GB và không gian được yêu cầu hiện xuất hiện dưới dạng không gian trống trong 'df'. Lưu ý rằng bạn không cần phải cân bằng lại toàn bộ đĩa, bạn có thể thực hiện cân bằng btrfs start -m <mount point> để chỉ cân bằng lại siêu dữ liệu, nhanh hơn nhiều. Cảm ơn câu trả lời sâu sắc!
Gnurou

Rất vui vì tôi có thể giúp!
hololeap

"Bạn không thể thay đổi kích thước khối siêu dữ liệu". Điều này không liên quan đến câu hỏi này - Câu hỏi thường gặp nói về kích thước đơn vị phân bổ, không phải dung lượng được phân bổ cho siêu dữ liệu.
Vladimir Panteleev

1

Điều này sẽ làm giảm kích thước siêu dữ liệu.

sudo btrfs balance start -v -musage=0 /path
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.