Manual untuk opsi mount 'penghalang' adalah:
penghalang = 0 / penghalang = 1
Ini menonaktifkan / mengaktifkan penggunaan hambatan tulis dalam kode jbd.barrier = 0 dinonaktifkan, penghalang = 1 memungkinkan (default). Ini juga membutuhkan tumpukan IO yang dapat mendukung penghalang, dan jika jbd mendapat kesalahan pada penghalang tulis, itu akan menonaktifkan penghalang lagi dengan peringatan. Penghalang tulis memberlakukan pemesanan jurnal yang dilakukan di disk, membuat cache tulisan volatile disk aman digunakan, pada beberapa penalti kinerja. Jika disk Anda didukung baterai dengan satu atau lain cara, penonaktifan penghalang dapat dengan aman meningkatkan kinerja.
Tapi saya tidak tahu apa arti kalimat " pemesanan jurnal yang dilakukan dengan benar di dalam jurnal ".
Misalkan urutan normal - jurnal 1, data 1; jurnal 2, data 2.
Manakah dari hasil pemesanan berikut ini yang akan terjadi jika saya menetapkan barrier=0
?
- jurnal 2, data 2; jurnal 1, data 1;
- data 1, jurnal 1; data 2, jurnal 2.
barrier=1
, dan itu berjalan cukup cepat untuk saya. Kecuali jika Anda melakukan tugas yang sangat berat saya akan meninggalkannya. Anda memiliki buffer ram sehingga hal-hal akan ditulis ketika itu bisa, tanpa memperlambat aplikasi. Dan sangat sedikit keterlambatan dalam menulis ke disk. Jika Anda dengan melihat seberapa banyak ram ram mempercepat, tambahkan sync = 1 ke direktori home Anda, dan coba gunakan sistem Anda selama satu atau dua hari.Jawaban:
Sebagian besar sistem file modern adalah sistem file penjurnalan, yang berarti bahwa mereka melacak perubahan yang belum ditulis ke disk dalam struktur data internal yang disebut jurnal. Jika terjadi kerusakan, jurnal ini akan diputar ulang, untuk memastikan bahwa semua penulisan berhasil dilakukan, mencegah korupsi file.
Ketika benar-benar menulis data ke disk, cache tulis akan memesan ulang penulisan untuk mencoba memaksimalkan throughput, tetapi harus memastikan bahwa data file aktual ditulis ke disk sebelum metadata, untuk memastikan bahwa jika terjadi kerusakan terjadi metadata tidak akan ketinggalan zaman dengan data.
Masalahnya adalah bahwa banyak disk memiliki cache sendiri yang mungkin memesan ulang penulisan juga. Beberapa sistem file akan berasumsi bahwa itu akan terjadi dan akan memaksa disk untuk menyiram cache pada titik-titik tertentu untuk mencegah hal ini, dan disebut
write barriers
dalam contoh ext4, dan Linux pada umumnya.Untuk disk modern, pengorbanan kinerja untuk melakukan hal ini dapat diabaikan, dan Anda tidak harus menonaktifkan hambatan tulis kecuali benar-benar diperlukan.
sumber
Dari artikel LWN ini :
sumber