Saya tahu bahwa memasang disk yang sama dengan sistem file ext4 dari dua server yang berbeda (ini merupakan vloume iSCSI) kemungkinan akan merusak data pada disk. Pertanyaan saya adalah apakah akan ada bedanya jika salah satu server me-mount disk read-only sedangkan yang lain me-mount read-write?
Saya tahu OCFS2 atau sejenisnya dapat digunakan untuk ini dan saya dapat mengekspor disk dengan NFS agar dapat diakses ke server lain, tetapi saya ingin tahu apakah pengaturan yang saya usulkan akan bekerja.
Jawaban:
Tidak. Itu tidak akan memberikan hasil yang konsisten pada klien baca-saja, karena caching. Jelas tidak dirancang untuk itu. Anda bisa berharap melihat kesalahan IO dikembalikan ke aplikasi. Mungkin masih ada beberapa kelalaian dalam kode, yang dapat menyebabkan kernel crash atau memori rusak yang digunakan oleh proses apa pun.
Tapi yang paling penting, ext4 memutar ulang jurnal bahkan di tunggangan readonly. Jadi mount readonly masih akan menulis ke perangkat blok yang mendasarinya. Akan tidak aman bahkan jika kedua mount dibaca hanya :).
sumber
blockdev --setro /dev/sda1
.sudo mount -t ext4 -o ro,loop,noload /dev/vda /mnt/
digital-forensics.sans.org/blog/2011/06/14/…Ini akan menghindari kerusakan data, tetapi mungkin tidak akan seperti yang Anda inginkan. Saya tidak pernah melihat ada masalah pemasangan volume read-only pada node lain. Bahkan jika sesuatu tidak cocok pada ro node biasanya yang hanya melempar "inode gratis yang tak terduga, silakan jalankan e2fsck" atau sejenisnya ke / var / log / messages. Jika ada sesuatu yang sangat tidak terduga tentang sistem file yang tidak kritis ("/ opt / mySpecialmount") biasanya Linux hanya akan me-mount volume read-only (yang, hei, kita sudah ada di sana). Jika Anda sangat khawatir tentang efek caching yang terjadi, Anda bisa mencoba menjalankan semacam drop_caches / vfs_cache_pressure rezim.
Untuk menghindari pemutaran ulang jurnal, tambahkan "noload" ke mount args, lakukan itu bersama dengan error = remount-ro (hanya untuk berbuat salah di sisi hati-hati).
Yang mengatakan, kemungkinannya adalah jika Anda OK dengan me-mount itu read-only, itu mungkin hanya sebagai referensi untuk node lain, dalam hal ini NFS atau smbfs akan menyelesaikan masalah dan dirancang untuk konkurensi lebih sedikit daripada ext3 / 4 akan. Jika Anda memerlukan kinerja maka Anda dapat melihat ke sistem file yang dikelompokkan (sedikit lebih banyak biaya administrasi, tetapi ada jika kinerja benar-benar sesuatu yang Anda butuhkan).
sumber
man mount
. Saya bisa membayangkan ada aplikasi yang akan mendeteksi dan / atau mentolerir data yang tidak konsisten dalam file mereka, tetapi Anda belum menyebutkan peringatan sejauh ini :).