Với cấu trúc hiện tại của một mục nhập thư mục trên hệ thống tệp ext4 trên Ubuntu, số lượng tệp tối đa mà hệ thống tệp có thể chứa là bao nhiêu?
Phương pháp chung để tính số lượng tệp tối đa mà hệ thống tệp có thể chứa là gì?
Với cấu trúc hiện tại của một mục nhập thư mục trên hệ thống tệp ext4 trên Ubuntu, số lượng tệp tối đa mà hệ thống tệp có thể chứa là bao nhiêu?
Phương pháp chung để tính số lượng tệp tối đa mà hệ thống tệp có thể chứa là gì?
Câu trả lời:
Ext4 có giới hạn lý thuyết là 4 tỷ tệp, bị giới hạn bởi kích thước của số inode mà nó sử dụng để xác định từng tệp (ext4 sử dụng số inode 32 bit). Tuy nhiên, như John nói, ext4 phân bổ các bảng inode tĩnh, do đó giới hạn thực tế được đặt khi hệ thống tệp được tạo.
Lệnh df hiển thị cho bạn số lượng nút miễn phí trên hệ thống tệp của bạn:
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4 cũng hỗ trợ số lượng thư mục con không giới hạn cho mỗi thư mục, mặc dù nó có thể mặc định ở giới hạn 64.000. Đây là cấu hình - xem bài viết ext4 tại Kernel Newners .
Để biết thêm thông tin, hãy xem Hệ thống tập tin ext4 mới: trạng thái hiện tại và các kế hoạch trong tương lai từ Hội nghị chuyên đề Linux 2007.
Không có ai, mỗi người; nó phụ thuộc Khi bạn tạo một hệ thống tệp ext4, bạn quyết định kích thước của bảng inode , điều này sẽ chi phối tổng số thư mục hoặc tệp mà hệ thống tệp có thể giữ cùng một lúc.
Không phải Ubuntu, nhưng trên Redhat các lệnh cơ bản của Linux như find fail với 'Lỗi quá nhiều đối số' khi chạy với thư mục chứa 3 triệu tệp. ls chạy thành công nếu không có tham số nào được đưa vào, nhưng không thành công với cùng một lỗi ngay khi các tham số bộ lọc được thêm vào.
Giả sử độ tin cậy của các lệnh cơ bản như vậy là một yêu cầu bắt buộc tôi muốn đề xuất rằng 3 triệu tệp là quá nhiều.
tune2fs -l /path/to/device
và tìm giá trị số Inode để tìm giới hạn cho một hệ thống tệp nhất định