btrfs ERROR: lỗi trong khi cân bằng - Không còn chỗ trống trên thiết bị


15

Hệ thống Kubfox 12.04 của tôi đã hết dung lượng trên phân vùng gốc và sẽ không khởi động. Lệnh df -hhiển thị rất nhiều không gian có sẵn (chỉ với 37% được sử dụng):

/dev/sda2        45G   17G   29G  37%

Trang sau chỉ ra rằng tôi nên chạy lệnh cân bằng:

https://btrfs.wiki.kernel.org/index.php/Pro Hiệu_FAQ # I_get_.22No_space_left_on_device.22_errors.2C_but_df_says_I.27ve_got_lots_of_space

$ sudo btrfs fi balance start -dusage=5 /mount/point

Tôi không hoàn toàn tự tin rằng đây là cách tiếp cận tốt nhất, nhưng nó là cách duy nhất tôi tìm thấy. Tuy nhiên, khi tôi chạy lệnh đó, tôi gặp lỗi này:

ERROR: error during balancing '/blah/blah/blah' - No space left on device

Tôi nhận được cùng một lỗi với:

$ sudo btrfs fi balance start -dusage=1 /mount/point

Giải pháp nào là đúng?

Câu trả lời:


15

Có nhiều cách balanceđể chạy trong tình huống này.

sudo btrfs fi show
sudo btrfs fi df /mount/point
sudo btrfs fi balance start -dusage=10 /mount/point

Nếu lệnh cân bằng kết thúc bằng "Xong, phải di chuyển 0 trong số XX khối", thì bạn cần tăng tham số tỷ lệ phần trăm "dusage" cho đến khi ít nhất một đoạn được di chuyển.

nếu lệnh cân bằng thất bại với:

ERROR: error during balancing '/blah/blah/blah' - No space left on device

Bạn thực sự có thể cần phải xóa các tập tin từ thiết bị để tạo một số phòng. Sau đó chạy lại lệnh cân bằng.

Tuy nhiên, cảm ơn Blog của Marc: btrfs - Khắc phục sự cố toàn bộ hệ thống tập tin Btrfs ở đây là một tùy chọn khác:

Một mẹo để giải quyết vấn đề này là thêm một thiết bị (thậm chí là một phím USB sẽ làm) vào hệ thống tập tin btrfs của bạn. Điều này sẽ cho phép cân bằng bắt đầu và sau đó bạn có thể xóa thiết bị bằng cách xóa thiết bị btrfs khi cân bằng kết thúc. Trong danh sách cũng có người nói rằng kernel 3.14 có thể khắc phục một số vấn đề cân bằng mà hạt nhân cũ không thể, vì vậy hãy thử nếu hạt nhân của bạn đã cũ.


7
Tôi đã thấy rằng thỉnh thoảng tôi cũng cần mount -oremount,clear_cache /mountpointphải sửa các tính toán không gian trống. (Họ trở nên hư hỏng ...)
rrauenza

1
@rrauenza, cảm ơn! Bạn nên thêm nó như một câu trả lời :)
mwfearnley

0

Tôi đã thử mọi thứ trong câu trả lời được chấp nhận và blog của Marc, bao gồm cả việc tăng -dusagetham số và thêm một thiết bị khối khác, tất cả đều vô ích. Ngay cả sau khi xóa một số tệp và giải phóng một ít dung lượng trên đĩa đã đầy, balancevẫn không thể hoàn tất. Vì một số lý do, nó dường như luôn chuyển dữ liệu lên đĩa gần đầy. Cuối cùng, những gì đã làm cho tôi là hạn chế cân bằng cho toàn bộ thiết bị:

btrfs balance start -ddevid=<dev_id> <path>

nơi dev_idcó thể được tìm thấy với:

btrfs fi show 

Không ai trong số này làm việc
Gặp

Điều này đã làm sập hệ thống của tôi và âm lượng không khả dụng ngay cả khi tôi khởi động lại hệ thống. Tôi đã cài đặt một ổ đĩa với EXT4 và bây giờ tôi hy vọng tôi có thể thoát khỏi hệ thống BTRFS rất nhạy cảm mà tôi coi là một thất bại với nhiều vấn đề về thiết kế.
Al Bundy

0

sudo apt-btrfs-snapshot xóa-cũ-hơn 3d Xóa các snapshot cũ hơn 3 ngày. Khi bạn di chuyển dữ liệu xung quanh, dữ liệu ảnh chụp trở nên không đúng chỗ và dữ liệu thực tế cần được ghi ở nhiều nơi trên ổ đĩa. Điều này loại bỏ các ảnh chụp nhanh liên quan đến dữ liệu cũ ở các vị trí cũ và giải phóng các khu vực đó để sử dụng lại. Tôi cũng khuyên bạn nên duperemove để sao chép dữ liệu và phạm vi trên hệ thống tập tin btrfs.

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.