Khi sử dụng btrfs, tại sao các kích thước của chế độ ăn kiêng, kích thước và sử dụng các giá trị trên mạng của df không phù hợp?


9

Tôi có một phân vùng btrfs. Khi tôi chạy df -h, nó hiển thị:

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

Từ sao vậy? Có phải vì không gian dành riêng cho root như wth ext2 / 3/4? Hay nó là cái gì khác? Nếu trước đây, làm thế nào tôi có thể thay đổi nó và lấy lại 4GB?

Theo wiki btrfs , tôi biết rằng siêu dữ liệu được lưu trữ hai lần làm tăng kích thước của dữ liệu "Được sử dụng":

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

Nhưng điều này vẫn không giải thích được tại sao Được sử dụng + Tận dụng <Kích thước.


btrfs.wiki.kernel.org/articles/f/a/q/FAQ_1fe9.html - đọc phần "Tại sao có quá nhiều cách để kiểm tra dung lượng trống?" phần, nó có rất nhiều thông tin.
Mat

Vâng, nó có rất nhiều thông tin, nhưng trong tất cả các ví dụ của họ Được sử dụng + Tận dụng = Kích thước trong dfđầu ra. Tôi đã cập nhật câu hỏi với điều này.
sup

lsofhiển thị bất kỳ tập tin bị xóa? (Đầu ra btrfs từ hệ thống của bạn sẽ phù hợp hơn một chút so với wiki.)
Mat

Tôi biết, nhưng tôi đã lười định dạng lại nó và nó là tương tự. Nếu lsof |grep 'DEL'|wc -lđưa ra số lượng tệp đã bị xóa, thì đó là 338. Mặc dù chúng có vẻ không lớn (tôi có thể lấy kích thước tổng thể của chúng bằng cách nào đó không?)
sup

1
@Mat Đây là một liên kết hoạt động với Câu hỏi thường gặp về BTRFS: Tại sao có quá nhiều cách để kiểm tra dung lượng trống?
ali_m

Câu trả lời:


10

Trừ khi bạn chỉ định khác khi bạn định dạng, mặc định là lưu trữ các bản sao trùng lặp của các khối siêu dữ liệu để cải thiện độ tin cậy. Bạn có thể có siêu dữ liệu trị giá 2gb được lưu trữ hai lần, sử dụng 4gb. Bạn có thể xem thêm chi tiết với btrfs filesystem df.

Cụ thể, 1,75GB được phân bổ cho siêu dữ liệu, do đó, nó tiêu tốn gấp đôi hoặc 3,5 GB dung lượng. Chỉ 385mb trong số 1,75 gb đó hiện được sử dụng cho siêu dữ liệu, nhưng toàn bộ 1,75GB được dành riêng cho việc sử dụng đó và do đó không được tính vào không gian có sẵn cho dữ liệu tệp


btrfs filesystem df /homecung cấp cho Metadata, DUP: total=1.75GB, used=385.70MBtôi khoảng 771 MB siêu dữ liệu được lưu trữ, cùng với Dữ liệu lên tới 101G, nhưng không giải thích được tại sao Được sử dụng + Tận dụng <Kích thước - Tôi đã mở rộng câu hỏi để phản ánh điều này.
sup

4
@sup, 1,75GB được phân bổ cho siêu dữ liệu, do đó, nó tiêu tốn gấp đôi hoặc 3,5 GB dung lượng. Chỉ 385mb trong số 1,75 gb đó hiện đang được sử dụng cho siêu dữ liệu, nhưng toàn bộ 1,75GB được dành riêng cho việc sử dụng đó và do đó không được tính vào không gian có sẵn cho dữ liệu tệp.
psusi

À, giờ thì tôi đã hiểu. Tôi đoán các ví dụ từ wiki btrfs chỉ sử dụng một số df cũ mà không biết về điều này. Cảm ơn câu trả lời!
sup
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.