Hôm qua, tôi đã xóa 71 GB tệp trên máy chủ nhà / phương tiện của mình.
Dung lượng trống trước: 117 GB Dung lượng
trống sau: 126 GB
Vì vậy, thay vì có thêm 71 GB dung lượng trống, tôi chỉ có 9 GB. Tôi đã kiểm tra kỹ xem không có tệp nào được mở và tôi thực sự đã xóa 71 GB và dung lượng trống thực sự chỉ tăng 9 GB.
Tôi cũng đã cố gắng đồng bộ, nhưng không có hiệu quả.
Đây không phải là lần đầu tiên nó xảy ra. Thật vậy, tôi đã thấy hành vi này từ nhiều năm nay rồi. Đầu tiên trên ext3, bây giờ trên ext4.
Khi điều này xảy ra, tôi có thể lấy lại không gian trống bằng cách ngắt kết nối và sau đó kết nối lại hệ thống tập tin. Trong những trường hợp này, việc ngắt kết nối mất tới 2 phút thay vì gần như không có thời gian.
Ngày nay, tôi không thể dễ dàng ngắt kết nối và kết nối lại hệ thống tập tin, vì nó luôn bận rộn từ phần mềm ghi video của tôi, máy chủ owncloud cho gia đình tôi và một vài dịch vụ nữa mà tôi chưa có. Và tôi không muốn thức dậy lúc 3 giờ đêm chỉ để tháo gỡ và kể lại.
Không, tiện ích 'tại' sẽ không thực hiện được vì một trong các dịch vụ thực hiện các tác vụ chạy dài không thể phục hồi và do đó cần kiểm tra trạng thái thủ công để tìm thời điểm tốt khi có thể tắt, tức là một nhiệm vụ vừa kết thúc.
Nhưng sáng nay, tôi nhận thấy rằng không gian đã được giải phóng qua đêm. Trông tôi như thể có một loại dọn dẹp nào đó, và đây có thể là điều tương tự cần thêm thời gian khi không đếm được.
Cho đến nay, tôi chỉ nhận thấy hành vi này khi xóa một lượng lớn dữ liệu. Mặt khác, tôi không chắc chắn nếu nó xảy ra thường xuyên và sự khác biệt là quá nhỏ để nhận thấy.
Hệ thống tập tin được tạo với 0% dành riêng cho root ( mkfs -m 0
). Theo fsck -f
(Tôi đang làm điều này luôn luôn giữa unmount và remount), hệ thống tập tin không bị hỏng và theo thử nghiệm mở rộng chẩn đoán SMART, phần cứng cũng ổn.
[BIÊN TẬP]
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name: bigdata
Last mounted on: /bigdata
Filesystem UUID: 6aebd17a-e064-41dc-9c68-c9a3acbe4f66
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 121413632
Block count: 485645568
Reserved block count: 0
Free blocks: 29081276
Free inodes: 121382378
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 908
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Tue Dec 25 23:42:35 2012
Last mount time: Fri Jan 3 17:37:36 2014
Last write time: Fri Jan 3 17:37:36 2014
Mount count: 37
Maximum mount count: -1
Last checked: Thu Apr 18 17:03:40 2013
Check interval: 0 (<none>)
Lifetime writes: 14 TB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: be2b977e-5127-4843-9123-fe33b6d7b573
Journal backup: inode blocks
[/BIÊN TẬP]
Vì vậy, đây là 2 câu hỏi của tôi:
- Chuyện gì đang xảy ra ở đây? Tại sao không gian được giải phóng tại umount hoặc chậm trễ thay vì ngay lập tức khi xóa?
- Có điều gì tôi có thể làm để kích hoạt giải phóng không gian ngay bây giờ mà không cần kết nối và kể lại không?
lsof | grep -i deleted
thường là cách tốt nhất để kiểm tra điều này