Để bật dữ liệu nội tuyến ext4
, bạn sẽ cần e2fsprogs
1.43 trở lên. Hỗ trợ cho dữ liệu nội tuyến đã được bổ sung tháng 3 năm 2014 để các git
kho lưu trữ nhưng chỉ được phát hành tháng 5 năm 2016.
Khi bạn đã có điều đó, bạn có thể chạy mke2fs -O inline_data
trên một thiết bị phù hợp để tạo một hệ thống tệp mới với sự hỗ trợ dữ liệu nội tuyến; điều này sẽ xóa tất cả dữ liệu của bạn . Rõ ràng là chưa thể kích hoạt dữ liệu nội tuyến trên một hệ thống tệp hiện có (ít nhất, tune2fs
không hỗ trợ nó).
Bây giờ tạo một tệp nhỏ và chạy debugfs
trên hệ thống tệp. cd
vào thư mục thích hợp và chạy stat smallfile
; bạn sẽ nhận được một cái gì đó như
Inode: 32770 Type: regular Mode: 0644 Flags: 0x10000000
Generation: 2302340561 Version: 0x00000000:00000001
User: 1000 Group: 1000 Size: 6
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 0
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
atime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
mtime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
crtime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
Size of extra inode fields: 28
Extended attributes:
system.data (0)
Size of inline data: 60
Như bạn có thể thấy dữ liệu được lưu trữ nội tuyến. Điều này cũng có thể được nhìn thấy bằng cách sử dụng df
; trước khi tạo tập tin:
% df -i /mnt/new
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg--large--mirror-inline 65536 12 65524 1% /mnt/new
% df /mnt/new
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg--large--mirror-inline 1032088 1280 978380 1% /mnt/new
Sau khi tạo tệp:
% echo Hello >| smallfile
% ls -l
total 1
-rw-r--r-- 1 steve steve 6 Apr 22 07:35 smallfile
% df -i /mnt/new
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg--large--mirror-inline 65536 13 65523 1% /mnt/new
% df /mnt/new
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg--large--mirror-inline 1032088 1280 978380 1% /mnt/new
Các tập tin ở đó, nó sử dụng một nút nhưng không gian lưu trữ có sẵn đã không thay đổi.