btrfs và thiếu không gian trống


8

Tôi đã chuyển đổi phân vùng ext4 của mình thành btrfs và xóa subvolume sau khi thực hiện. Sau đó, tôi kích hoạt tính năng nén (lzo) của hệ thống filess trong tệp fstab và mọi thứ đều chính xác cho đến nay.

Sau đó, tôi buộc phải nén tất cả các tệp bằng lệnh chống phân mảnh với tham số -c rằng nén mới được áp dụng cho tất cả các tệp.

Trong khi làm như vậy, tôi nhận thấy rằng ssd của tôi đã được lấp đầy hoàn toàn - trước khi tôi có 6gigs không gian trống. Không, tôi không còn gì cả.

easteregg@x201s:~$ btrfs fi df /
Data: total=50.00GB, used=49.17GB
System: total=32.00MB, used=4.00KB
Metadata: total=24.50GB, used=9.86GB

easteregg@x201s:~$ df -ha
Filesystem        Size  Used Avail Use% Mounted on
/dev/sda1          75G   60G  852M  99% /

Vậy bây giờ. Làm thế nào tôi có thể lấy lại không gian trống của mình. Tôi dự kiến ​​sẽ đạt được nhiều không gian hơn vì nén lzo. Và bây giờ!

Các fs được gắn chính xác.

easteregg@x201s:~$ mount
/dev/sda1 on / type btrfs (rw,noatime,ssd,compress=lzo)

Bất kỳ ý tưởng làm thế nào để khắc phục vấn đề này?


Bây giờ tôi đã có một điểm: bạn không thể cân bằng lại trực tuyến. Điều đó giải thích tại sao không có gì làm việc cho tôi. Vì vậy, tôi vừa khởi động hệ thống cứu hộ của mình và vừa cân bằng lại toàn bộ đĩa và sau đó tôi đã thực hiện lệnh chống phân mảnh với tính năng nén được kích hoạt. Bây giờ tôi đã có khoảng 17 hợp đồng không gian trống! tốt đẹp :)
wintereregg

1
Cách tốt nhất là chỉ giữ một bộ ảnh chụp nhanh tối thiểu và loại bỏ những cái không cần thiết để tránh lãng phí dung lượng trên ổ đĩa, vì btrfs là hệ thống tệp sao chép, khi thời gian trôi qua, ngày càng nhiều khối dữ liệu sẽ được thay đổi, do đó làm cho ảnh chụp nhanh chiếm nhiều không gian hơn trên đĩa.
Terry Wang

2
Xem thêm câu hỏi này , trong đó có một lời giải thích kỹ lưỡng và ý kiến ​​hữu ích.
Ignis

Câu trả lời:


8

Tôi biết câu hỏi này đã cũ - nhưng cho đến ngày hôm nay, lệnh cân bằng giải quyết công cụ này:

Trong quá trình chuyển đổi, rất nhiều không gian sẽ được phân bổ để di chuyển công cụ đến đó. Khi được phân bổ, nó sẽ không hiển thị dưới dạng "miễn phí" hoặc "chưa phân bổ" nữa. Để khắc phục điều này chỉ cần bắt đầu một sự cân bằng

btrfs balance start "path"

bạn cũng có thể nói lệnh cân bằng, chỉ các khối cân bằng, được sử dụng cho tỷ lệ phần trăm chính xác - như 0% có nghĩa là các khối trống:

btrfs balance start "path" -dusage=0 -musage=0

tham số -d có nghĩa là các tùy chọn cho dữ liệu. tham số -m có nghĩa là các tùy chọn cho siêu dữ liệu.

chơi với lệnh cân bằng, nó sẽ giúp.


5

Nhìn vào đầu ra từ btrfs fi df:

Data: total=50.00GB, used=49.17GB
System: total=32.00MB, used=4.00KB
Metadata: total=24.50GB, used=9.86GB

Phần totallà không gian được phân bổ, trong khi usedthực sự được sử dụng bởi btrfs. Sự khác biệt giữa totalused(khoảng 15 GB) là không gian còn thiếu của bạn. Như bạn có thể thấy, nó đã được phân bổ cho các khối siêu dữ liệu.

Tôi chỉ có kinh nghiệm về sở thích với btrfs, nhưng tôi không nghĩ chuyển đổi ext4 là cách tốt nhất để tạo hệ thống tập tin btrfs được bố trí tốt. May mắn thay, bạn có thể cân bằng lại toàn bộ hệ thống tập tin để làm cho nó thực hiện lại tất cả các phân bổ.

Như mọi khi, sử dụng bản sao lưu.

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.