Inode và lỗi 'No space left on device'
Inode là cấu trúc dữ liệu mà hệ thống tệp kiểu Unix sử dụng để lưu trữ thông tin về một tệp, chẳng hạn như chủ sở hữu, quyền truy cập, kích thước và vị trí lưu trữ dữ liệu của tệp đó. Mỗi tệp sử dụng một inode và nhiều hệ thống tệp có số lượng inode cố định, vì vậy hàng triệu tệp nhỏ có thể gây ra lỗi 'No space left on device' trong khi lệnh df -h vẫn hiển thị dung lượng trống.
1Cách xem inode
Lệnh df -i liệt kê tổng số, số lượng đã sử dụng và số lượng inode trống trên mỗi hệ thống tệp. Lệnh ls -i hiển thị số inode của một tệp và stat <file> hiển thị chi tiết về inode của tệp đó.
2Các nguyên nhân phổ biến
Các thư mục phiên làm việc (session) hoặc bộ nhớ đệm (cache) của ứng dụng web, hàng đợi thư điện tử, các tệp nhật ký nhỏ chưa được xoay vòng và bộ nhớ đệm bản dựng có thể tạo ra hàng triệu tệp.
3Tìm thư mục gây lỗi
GNU du có thể đếm inode: du --inodes -x / | sort -n | tail liệt kê các thư mục có nhiều mục nhập nhất.
Cách khắc phục tình trạng cạn kiệt inode
- Xác nhận:
df -i(IUse% gần 100%). - Tìm thư mục:
sudo du --inodes -x --max-depth=3 / | sort -n | tail -20 - Kiểm tra xem cái gì tạo ra các tệp đó trước khi xóa bất kỳ thứ gì.
- Xóa các tệp cũ của ứng dụng đó bằng công cụ riêng của ứng dụng hoặc bằng lệnh find, ví dụ:
find /path -type f -mtime +7 -deletesau khi chạy thử mà không có tham số -delete.
Lưu ý
- Luôn chạy lệnh find mà không có -delete trước và đọc danh sách kết quả.
- Số lượng inode của ext4 được cố định khi hệ thống tệp được tạo.
Bài liên quan
- df (disk free)Cách đọc kết quả đầu ra của df, lý do tại sao Use% có thể đạt 100% trước khi Avail bằng 0 đối với người dùng thông thường và cách kiểm tra inode bằng df -i.
- Tìm các tệp tin lớn và cũ bằng findCách sử dụng find để liệt kê các tệp tin lớn hoặc cũ trên Linux, xem trước chúng một cách an toàn và chỉ xóa những gì bạn đã kiểm tra.
- Sử dụng dung lượng đĩa với du và ncduCách tìm các tệp tin chiếm dụng dung lượng đĩa trên Linux bằng du và công cụ tương tác ncdu, với các tùy chọn giới hạn trong một hệ thống tệp.
Nguồn
Xem xét lần cuối: