Bagaimana saya bisa mengoptimalkan ext4 untuk keandalan?

11

Karena ext4 diperkenalkan sebagai lebih dapat diandalkan daripada ext3 dengan jurnal blok, apakah ada peluang untuk menganggapnya 100% dapat diandalkan? Bagaimana jika mengaktifkan blok penjurnalan di atasnya, yang dinonaktifkan secara default?

Sebagai panduan teman untuk menjelaskan kasus saya secara lebih rinci: Saya memiliki perangkat linux yang tertanam, setelah keyboard dan monitor instalasi terlepas dan berfungsi mandiri.

Tugas saya adalah memastikan ia memiliki sistem file yang dapat diandalkan sehingga dengan kesalahan tidak ada cara untuk kesalahan yang benar secara manual pada perangkat. Saya tidak bisa memaksa pelanggan saya untuk menggunakan up dengan setiap perangkat untuk memastikan tidak ada kesalahan dengan kegagalan daya.

Apa lagi yang bisa ditawarkan ext4 selain blokir jurnal?

Terima kasih sebelumnya.

amin
sumber
saya tahu saya memiliki beberapa trade off yang memungkinkan fitur seperti blok journal, tetapi saya ditempel ke kehandalan dan siap untuk membayar untuk itu
amin
Lihat juga: serverfault.com/questions/244095/how-to-make-ext4-more-r diandalkan , ditutup karena terlalu ambigu.
Olli
ya saya mengajukan pertanyaan saya di sana dan tidak ada bantuan yang baru saja ditutup! sistem linux saya adalah sistem tertanam tanpa monitor atau keyboard terpasang. jadi saya ingin itu lebih dapat diandalkan jika terjadi kegagalan daya, dll ... saya tahu blok jurnal adalah cara tetapi saya ingin tahu apakah ada opsi lagi. saya tidak dapat menawarkan pelanggan saya untuk memiliki up untuk setiap perangkat.
amin
1
@amin Informasi tentang usecase Anda akan lebih berguna dalam pertanyaan Anda, mungkin itulah sebabnya ditutup karena menjadi ambigu; tambahkan lebih banyak info ke pertanyaan Anda!
Jorge Castro
2
Pertanyaannya terlalu samar. Apa yang dimaksud dengan "100% dapat diandalkan"? Dengan asumsi bahwa dengan "blok jounrnaling" yang Anda maksud data = jurnal, maka itu hanya buang-buang waktu. FS secara inheren dapat diandalkan; sebuah jurnal hanya memastikan Anda tidak perlu menunggu melalui fsck yang panjang setelah crash.
psusi

Jawaban:

11

Tidak. Anda tidak pernah dapat mengandaikan sesuatu 100% dapat diandalkan.

Sistem file jurnal meminimalkan kehilangan data jika terjadi pemadaman yang tak terduga. Luas dan hambatan bahkan lebih membantu, tetapi tidak bisa menghilangkan semua masalah yang terkait. Secara pribadi, saya tidak pernah mengalami kehilangan data karena kerusakan sistem file saat menggunakan sistem file penjurnalan.

Selain itu, penjurnalan tidak dinonaktifkan secara default.

Berikut ini adalah ikhtisar yang baik dari ext4 dan perbaikannya: http://kernelnewbies.org/Ext4

djeikyb
sumber
1
+1 untuk "Anda tidak pernah dapat mengandaikan bahwa sesuatu 100% dapat diandalkan"
Lekensteyn
saat Comparison_of_file_systems blok journaling dimatikan saat metadata journaling aktif, itulah trade off antara keandalan dan kecepatan
am
Saya baru saja me-reboot server untuk menemukan korupsi data besar-besaran di ext4 di mana file berisi data yang tidak valid. Ini tidak mungkin terjadi pada zfs atau btrfs karena data memiliki checksum.
user239558
5

Fitur baru yang ditambahkan ke ext4 dan diperkenalkan dengan kernel 3.5 adalah apa yang dikenal sebagai 'metadata checksums', yang merupakan fitur lain dari ext4 yang seharusnya meningkatkan keandalan dan integritas struktur sistem file.

Implementasi keseluruhan dijelaskan dengan baik di pemula kernel :

Sistem file modern seperti ZFS dan Btrfs telah membuktikan bahwa memastikan integritas sistem file menggunakan checksum adalah fitur yang berharga. Ext4 telah menambahkan kemampuan untuk menyimpan checksum dari berbagai bidang metadata. Setiap kali bidang metadata dibaca, checksum dari data yang dibaca dibandingkan dengan checksum yang disimpan, jika berbeda, itu berarti bahwa medata rusak (perhatikan bahwa fitur ini tidak mencakup data, hanya struktur metadata internal, dan itu tidak memiliki kemampuan "penyembuhan diri").

Setiap sistem file ext4 dapat ditingkatkan untuk menggunakan checksum menggunakan perintah "tune2fs -O metadata_csum", atau "mkfs -O metadata_csum" pada waktu pembuatan. Setelah fitur ini diaktifkan di sistem file, kernel yang lebih tua tanpa dukungan checksum hanya akan dapat memasangnya dalam mode read-only.

Artikel-artikel seperti ini di kernel.org membahas lebih lanjut dalam perincian teknis bagaimana menggunakan checksum metadata dapat mencegah metadata yang rusak merusak struktur sistem file.

Namun artikel itu juga memperingatkan bahwa:

Kode checksumming metadata mulai masuk ke jalur utama di Linux 3.5, dan mulai 3.7-rc1 sedang menjalani beberapa pengujian pengguna. Kode ini belum kokoh.

Ini tidak diaktifkan secara default di Ubuntu 12.10, dan mungkin yang terbaik adalah tidak mengaktifkannya untuk sesaat setelah masalah terbaru dengan sistem file ext4, seperti disebutkan di sini .


sumber
1

Anda dapat menonaktifkan alokasi yang tertunda di bawah ext4 (nodelalloc), yang akan membuatnya secara signifikan lebih mungkin bahwa Anda akan memulihkan lebih banyak data jika / ketika Anda mengalami pemadaman listrik saat menulis, tetapi itu akan menyebabkan biaya fragmentasi file yang lebih besar. sistem dari waktu ke waktu.

pengguna3495444
sumber