tính năng lớn trong việc tạo hệ thống tập tin


17

Có hữu ích khi sử dụng cờ -Tefefile trong việc tạo hệ thống tệp cho phân vùng với các tệp lớn như video và âm thanh ở định dạng flac không?

Tôi đã kiểm tra cùng một phân vùng với cờ đó và không có nó, và sử dụng Tune2fs -l [phân vùng] , tôi đã kiểm tra trong "Tính năng hệ thống tập tin" mà cả hai đều bật "Large_file". Vì vậy, không cần thiết phải sử dụng -T cờ lớn ?


1
Lưu ý rằng tôi đã nhầm lẫn giữa Large_file (got in Tune2fs) và tinyefile; có vẻ như họ đang tranh luận về những điều khác nhau.
Marc

Câu trả lời:


24

Các -T largefilecờ điều chỉnh lượng inodes được phân bổ ở việc tạo ra các hệ thống tập tin. Sau khi được phân bổ, số lượng của chúng không thể được điều chỉnh (ít nhất là cho ext2 / 3, không hoàn toàn chắc chắn về ext4). Mặc định là một inode cho mỗi 16K dung lượng đĩa. -T largefilelàm cho nó một inode cho mỗi megabyte.

Mỗi tệp yêu cầu một inode. Nếu bạn không còn bất kỳ nút in nào, bạn không thể tạo tệp mới. Nhưng các nút được phân bổ tĩnh này cũng chiếm không gian. Bạn có thể mong đợi tiết kiệm khoảng 1,5 gigabyte cho mỗi 100 GB đĩa bằng cách cài đặt -T largefile, trái với mặc định. -T largefile4(một inode trên 4 MB) không có hiệu ứng mạnh như vậy.

Nếu bạn chắc chắn rằng kích thước trung bình của các tệp được lưu trữ trên thiết bị sẽ ở mức trên 1 megabyte, thì bằng mọi cách, hãy đặt -T largefile. Tôi rất vui khi sử dụng nó trên các phân vùng lưu trữ của mình và nghĩ rằng nó không quá triệt để trong cài đặt.

Tuy nhiên, nếu bạn giải nén một tarball nguồn rất lớn gồm nhiều tệp (nghĩ hàng trăm nghìn) vào phân vùng đó, bạn có cơ hội hết các nút cho phân vùng đó. Có rất ít bạn có thể làm trong tình huống đó, ngoài việc chọn một phân vùng khác để gỡ bỏ.

Bạn có thể kiểm tra số lượng nút bạn có sẵn trên một hệ thống tệp trực tiếp bằng dumpe2fslệnh:

# dumpe2fs /dev/hda5
[...]
Inode count:              98784
Block count:              1574362
Reserved block count:     78718
Free blocks:              395001
Free inodes:              34750

Ở đây, tôi vẫn có thể tạo 34 nghìn tệp.

Đây là những gì tôi nhận được sau khi thực hiện mkfs.ext3 -T largefile -m 0trên phân vùng 100 GB:

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/loop1              102369       188    102181   1% /mnt/largefile
/dev/loop2              100794       188    100606   1% /mnt/normal

Phiên bản tinyefile có 102 400 inodes trong khi phiên bản bình thường tạo ra 6 553 600 inodes và tiết kiệm được 1,5 GB trong quá trình này.

Nếu bạn có manh mối tốt về kích thước tệp bạn sẽ đặt trên hệ thống tệp, bạn có thể tinh chỉnh số lượng nút in trực tiếp bằng công -itắc. Nó đặt các byte trên tỷ lệ inode. Bạn sẽ nhận được 75% tiền tiết kiệm dung lượng nếu bạn sử dụng -i 65536trong khi vẫn có thể tạo hơn một triệu tệp. Tôi thường tính toán để giữ ít nhất 100 000 inodes.


câu trả lời hay, nhưng nơi bạn nói, "và tiết kiệm được 1,5 GB trong quá trình này." bạn nên nói "nhưng đã sử dụng 1,5 GB dung lượng cho các nút bổ sung". Bạn làm cho âm thanh giống như chế độ bình thường được tạo ra nhiều nút hơn và cũng để lại nhiều không gian trống hơn trên đĩa.
localhost

"Tôi thường tính toán để giữ ít nhất 100 000 inodes dự phòng." - tại sao? Chắc chắn 0 phụ tùng (và 0 cần thiết hơn) là tối ưu? Bạn có thực sự lo lắng mình có thể bị giảm 100 nghìn với số lượng tệp hoặc thư mục bạn sẽ có không?
OJFord

3

Tôi nghĩ rằng bạn đang trộn lẫn hai khái niệm hoàn toàn khác nhau và độc lập.

Các large_filetính năng mà bạn có thể nhìn thấy trong đầu ra của dumpe2fs phương tiện mà hệ thống tập tin này có thể chứa các file lớn hơn 2 GiB, tôi nghĩ rằng nó được thiết lập tự động bằng hạt nhân hiện đại. Nó không có gì để làm với -Ttùy chọn mke2fs.

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.