GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menggunakan fitur data inline ext4 yang baru? (menyimpan data langsung di inode)

Untuk mengaktifkan data sebaris di ext4, Anda harus menggunakan e2fsprogs 1.43 atau lebih baru. Dukungan untuk data sebaris ditambahkan pada Maret 2014 ke repositori Git, tetapi baru dirilis pada Mei 2016.

Setelah memilikinya, Anda dapat menjalankan mke2fs -O inline_data pada perangkat yang sesuai untuk membuat sistem file baru dengan dukungan data sebaris; ini akan menghapus semua data Anda . Tampaknya belum memungkinkan untuk mengaktifkan data sebaris pada sistem file yang ada (setidaknya, tune2fs tidak mendukungnya).

Sekarang buat file kecil, dan jalankan debugfs pada sistem file. cd ke direktori yang sesuai, dan jalankan stat smallfile; Anda akan mendapatkan sesuatu seperti

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

Seperti yang Anda lihat, data disimpan sebaris. Ini juga dapat dilihat menggunakan df; sebelum membuat file:

% 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

Setelah membuat file:

% 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

File ada di sana, menggunakan inode tetapi ruang penyimpanan yang tersedia tidak berubah.


Jika e2fsprogs Anda versi terlalu lama, atau sistem file sudah dibuat, Anda dapat menyetel flag fitur menggunakan debugfs (bendera didukung sejak 2012, sedangkan mke2fs dan alat lainnya menambahkan dukungan pada 2014+ dan banyak distribusi masih belum mengirimkannya pada 2016, termasuk. Ubuntu Xenial).

Untuk melakukannya, buka partisi dalam mode baca-tulis:

debugfs -w /dev/sdxx

Dan kemudian tambahkan bendera:

feature inline_data

(atau feature -inline_data untuk menonaktifkannya, tapi itu mungkin ide yang sangat buruk jika sudah ada file inline!)

Perhatikan, bagaimanapun, jika sistem Anda e2fsprogs sudah tua, Anda menyudutkan diri sendiri, karena utilitas (termasuk debugfs itu sendiri) akan menolak untuk menyentuh sistem file seperti itu setelah menyetel bendera.

Perhatikan juga bahwa GRUB saat ini (2.02) tidak mendukung ini, jadi menyetelnya pada partisi boot akan membuat sistem tidak dapat di-boot. Ada tambalan yang tidak digabungkan untuk menambahkan dukungan.

Pada saat penulisan ini, file dan direktori hingga inode_size-128 dapat digarisbawahi, jadi 128 byte untuk inode default 256 byte. Anda dapat menggunakan inode yang lebih besar jika ingin lebih banyak inlining.


Linux
  1. Bagaimana Menemukan Offset Dari Sistem File Ext4?

  2. Bagaimana Cara Menggunakan Tpm Untuk Menyegel Data Pada Sistem yang Di-boot UEFA?

  3. Bagaimana menemukan ukuran inode dari sistem file ext2/ext3/ext4?

  1. Cara menggunakan perintah grep Linux

  2. Cara menggunakan perintah history di Linux

  3. Inode dan sistem file Linux

  1. Bagaimana cara menggunakan perintah nama dasar?

  2. Bagaimana Cara Meningkatkan Jumlah Inode Dalam Sistem File Ext4?

  3. Bagaimana cara menggunakan DD untuk memigrasikan data dari drive lama ke drive baru?