Saya memiliki pengaturan tertanam menggunakan initramfs untuk sistem file root tetapi menggunakan partisi ext3 khusus yang dipasang pada drive IDE flash ringkas. Karena integritas data dalam menghadapi kehilangan daya adalah faktor terpenting dalam seluruh pengaturan, saya telah menggunakan opsi berikut untuk memasang (di bawah ini adalah entri dari /etc/fstab
file saya
<file system> <mount pt> <type> <options> <dump><pass>
/dev/sda2 /data ext3 auto,exec,relatime,sync,barrier=1 0 2
Saya datang dengan opsi-opsi ini dari membaca di internet. Yang saya khawatirkan adalah isi dari /proc/mounts
pemberian berikut:
/dev/sda2 /data ext3 rw,sync,relatime,errors=continue,user_xattr,acl,
barrier=1,data=writeback 0 0
Dari apa yang saya pahami dari membaca sekitar adalah bahwa saya ingin menggunakan data=journal
opsi untuk mount saya karena ini menawarkan perlindungan terbaik terhadap korupsi data. Namun, dari halaman manual untuk opsi ext3 spesifik mount
untuknya tertulis hal berikut tentang opsi writeback:
Pemesanan data tidak disimpan - data dapat ditulis ke dalam sistem file utama setelah metadata-nya telah berkomitmen untuk jurnal.
Ini dikabarkan sebagai opsi throughput tertinggi. Ini menjamin integritas sistem file internal , namun dapat memungkinkan data lama muncul dalam file setelah kerusakan dan pemulihan jurnal.
Saya sangat bingung tentang hal ini - halaman manual tampaknya menyarankan bahwa untuk integritas sistem file saya ingin menentukan data=writeback
opsi untuk mount
tetapi kebanyakan referensi lain yang saya temukan (termasuk beberapa buku yang diterbitkan pada embedded linux) menyarankan agar saya harus menggunakan data=journal
. Apa yang akan menjadi pendekatan terbaik untuk saya gunakan? Kecepatan menulis tidak menjadi masalah sama sekali - integritas data memang demikian.
sumber
data=ordered
: pJawaban:
Jangan sampai disesatkan oleh fakta yang hanya
writeback
menyebutkaninternal filesystem integrity
.Dengan
ext3
, apakah Anda menggunakanjournal
,ordered
atauwriteback
, metadata sistem file selalu dijurnal dan itu berarti integritas sistem file internal.The mode Data menawarkan cara kontrol atas bagaimana biasa data ditulis ke sistem file.
Dalam
writeback
mode, perubahan metadata pertama kali dicatat dalam jurnal dan blok komit ditulis. Setelah jurnal diperbarui, metadata dan penghapusan data dapat dilanjutkan.data=writeback
bisa menjadi risiko keamanan yang parah: jika sistem crash saat menambahkan ke file, setelah metadata telah dilakukan (dan blok data tambahan dialokasikan), tetapi sebelum data ditulis (blok data ditimpa dengan data baru), kemudian setelah jurnal pemulihan file itu mungkin berisi blok yang diisi dengan data dari file yang sebelumnya dihapus - dari pengguna mana saja 1 .Jadi, jika integritas data adalah perhatian utama Anda dan kecepatan tidak penting,
data=journal
adalah cara untuk pergi.sumber
Seperti yang telah Anda perhatikan, poin utamanya adalah Anda tidak dapat mencegah sistem file dari semua jenis kerusakan.
Apa yang dapat Anda lakukan:
Pada akhirnya, opsi mount paranoiac dapat terlihat seperti ini:
Dan Anda juga dapat memastikan integritas data dengan fsck otomatis di setiap boot.
sumber
Coba ubah bagian mana dari halaman manual yang Anda empatisize:
Seperti yang ditunjukkan don_crissti, mode lain tidak memiliki "namun".
sumber