Làm thế nào để kiểm tra (mô phỏng), bao nhiêu không gian sẽ được giải phóng sau khi tôi loại bỏ một subvolume btrfs?


9

Câu hỏi không tầm thường. BTRFS là hệ thống tệp COW và một đối tượng được lưu trữ trên đĩa cứng có thể được tham chiếu bởi nhiều tệp.

Tôi sử dụng ảnh chụp nhanh BTRFS như một phần của giải pháp sao lưu trên máy chủ sản xuất của mình. Bằng cách này, tôi có lịch sử có thể duyệt được, hiệu quả về không gian của một subvolume nhất định (tôi sử dụng một sửa đổi của SnapBtr ).

Tôi có một số subvolume btrfs độc lập cho các mục đích khác nhau và một kế hoạch dự phòng cho mỗi cái. Khi không gian trống sắp hết, tôi có thể nhận được ảnh chụp sao lưu không cần thiết nhất từ ​​mỗi nhóm sao lưu dựa trên thuật toán chi phí thời gian logarit thông minh của SnapBtr.

Tôi cần một cách để cân nhắc lượng dữ liệu sẽ được giải phóng sau khi tôi xóa từng bản sao lưu theo tuổi của ảnh chụp cũ và tầm quan trọng của nhóm sao lưu của nó. Tôi đang thiếu thông tin cũ.

Tôi hiểu rằng quá trình tính toán không gian trống trên BTRFS không tầm thường cũng không nhanh chóng. Tôi cần một cái gì đó mô phỏng việc xóa subvolume để có được kích thước của không gian sẽ được giải phóng.

Ai giúp tôi với? Tôi có nên gửi tin nhắn này đến linux-btrfs@vger.kernel.org?

Câu trả lời:


6

Như đã trình bày ở đây , điều này thực sự khá đơn giản để làm.

Đầu tiên, kích hoạt hạn ngạch btrfs:

# btrfs quota enable /btrfs_subvolume

Và sau đó chạy:

# btrfs qgroup show /btrfs_subvolume
OR
# btrfs qgroup show -f /btrfs_subvolume

Mà trong Btrfs v3.18.2 cho bạn thấy điều này:

qgroupid        rfer       excl
--------        ----       ----
0/260        1.09GiB    1.09GiB

0/260 là ID subvolume và excl là dữ liệu độc quyền trong subvolume. Nếu bạn xóa subvolume, đó là bạn sẽ giải phóng được bao nhiêu dung lượng.

Chỉnh sửa: Theo liên kết này , đây dường như là cách chính thức được đề xuất để làm điều này.


Pro Backup đã chỉ ra (trong một chỉnh sửa được đề xuất) rằng đáng để kiểm tra các vấn đề đã biết với hỗ trợ hạn ngạch .
Stephen Kitt

0

btrfsQuota.pylàm cho đầu ra của btrfs qgroup showdễ đọc hơn, thay thế ID subvol bằng tên của các subvols, ví dụ:

subvol                                      group         total    unshared
-------------------------------------------------------------------------------
test/a                                      0/970        20.05M       0.05M
test/b                                      0/971        20.05M      10.05M
test/c                                      0/972        30.05M      10.05M
test/d                                      0/973        30.05M       0.05M
test/e                                      0/974        30.05M      10.05M

1
Nó không hoạt động với phiên bản btrfs-tools mặc định của Ubuntu 14.04. Bạn cần cài đặt một cái mới hơn, và sau đó mọi thứ đều ổn
Adam Ryczkowski

@AdamRyczkowski Hiện tôi đang sử dụng phiên bản Python 3 của tập lệnh đó và nó hoạt động tốt.
Geremia
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.