Apa kelebihan / kekurangan hard mount dibandingkan soft mount di UNIX?

23

Pertanyaan ini dapat bervariasi antar distro tetapi, secara umum, apa keuntungan / kerugian dari menggunakan hard atau soft mount di dunia UNIX?

Apakah ada situasi tertentu di mana seseorang lebih bermanfaat atau penggunaannya cukup universal?

Aaron K
sumber

Jawaban:

21

Hard mount umumnya digunakan untuk memblokir sumber daya seperti disk lokal atau SAN. Soft mount biasanya digunakan untuk protokol file jaringan seperti NFS atau CIFS.

Keuntungan soft mount adalah jika server NFS Anda tidak tersedia, kernel akan menghentikan operasi I / O setelah periode waktu yang telah dikonfigurasi sebelumnya. Kerugiannya adalah jika driver NFS Anda cache data dan soft mount time out, aplikasi Anda mungkin tidak tahu yang menulis ke volume NFS yang benar-benar berkomitmen untuk disk.

duffbeer703
sumber
8

hard mounts dan "intr" (interruptible) adalah kompromi yang baik (untuk kernel sebelum 2.6.25, lihat komentar oleh Ryan Horrisberger). Aplikasi ini tidak tertipu tentang penulisan yang sukses, namun Anda dapat membunuh mereka jika ada sesuatu yang menyumbat tabung.

hayalci
sumber
8
opsi intr sudah usang dan diabaikan di versi terbaru di linux dari: linux.die.net/man/5/nfs : Opsi mount intr / nointr sudah ditinggalkan setelah kernel 2.6.25. Hanya SIGKILL yang dapat menghentikan operasi NFS yang tertunda pada kernel ini, dan jika ditentukan, opsi mount ini diabaikan untuk memberikan kompatibilitas ke belakang dengan kernel yang lebih lama.
Ryan Horrisberger
5

Hard mount menggunakan beberapa jenis sistem file jaringan (nfs atau fuse) dapat (kadang-kadang) memblokir selamanya ketika mencoba untuk membangun kembali koneksi yang terputus. Ini berarti, setiap proses mencoba mengakses pemasangan yang masuk ke disk sleep (D) sampai perangkat tersedia lagi atau sistem di-boot ulang.

Disk tidur tidak dapat terganggu atau dibunuh. Ini seperti zombie dari proses zombie.

Singkatnya, jangan pernah menggunakan hard mount untuk sistem file jaringan, pernah. Anda ingin sistem file gagal (segera, untuk proses menggunakan syscalls) jika I / O tidak mungkin. Jika tidak, memori yang mereka klaim mungkin bocor jika FS gagal.

Pos Tim
sumber
Saya setuju dengan rekomendasi umum Anda hard drive. Namun, beberapa orang yang menggunakan VMWare di NFS merekomendasikan untuk menggunakan hard mount. Saya tidak 100% akrab dengan mengapa mereka melakukan itu, tetapi itu adalah sesuatu yang perlu dipertimbangkan dan diteliti dengan cermat sebelum diterapkan.
duffbeer703
Mengingat hard mount menggantung selamanya, dan pada zaman dulu mesin kadang-kadang akan hang pada reboot karena mount NFS yang keras, bukankah mungkin kehilangan data pada hard mount? Bayangkan bahwa server file NFS Anda turun, sekarang klien Anda tidak dapat mencapainya, mereka benar-benar bingung, Anda me-reboot-nya ... penulisan potensi mereka hilang. Kembali pada hari-hari sebelum soft mount ada, hard mount menyebabkan masalah me-reboot komputer. Jika Anda mem-boot server file di depan klien, klien akan hang. Kadang-kadang kita harus menghidupkan siklus mereka. Orang-orang membuat kesalahan. Apakah masih menjadi masalah hari ini?
Mike S
@ Mike Ada banyak pengaturan seperti di luar sana yang berjalan dengan gembira. Anda tidak pernah tahu apa yang akan Anda temui di laboratorium atau pabrik-pabrik di mana mesin-mesin tua yang sudah puluhan tahun masih dengan senang hati mengendalikan peralatan. Ini bukan masalah bagi orang-orang yang mengerjakan hal-hal modern. Tapi ya, hard mount dapat dikenakan biaya data (tetapi soft mount juga bisa!) - tetapi sistem file jaringan yang tidak menggunakan I / O caching yang didukung baterai memiliki potensi yang sama untuk masalah itu. Hard mount hanya membuatnya sangat mengerikan ketika datang untuk mengotomatisasi deteksi & pemulihan.
Tim Post
2

soft hanya digunakan oleh orang yang tidak mengerti prinsip nfs. lunak / keras tergantung pada penggunaan sistem file. untuk aplikasi mission mission gunakan selalu hard mount untuk mencegah korupsi file (ini adalah alasan mengapa itu default untuk sebagian besar sistem). untuk sistem file ro aman untuk menggunakan lunak dan untuk itu lebih disukai. omong-omong nfsv4 tidak lagi mendukung ....

Manitou
sumber
nfsv4 tidak lagi mendukung lunak? Menurut halaman manual, "Opsi yang didukung oleh semua versi Opsi ini berlaku untuk digunakan dengan versi NFS apa pun. Lunak / keras Menentukan perilaku pemulihan klien NFS setelah permintaan NFS habis. Jika tidak ada opsi yang ditentukan (atau jika opsi keras ditentukan), permintaan NFS dicoba lagi tanpa batas waktu. Jika opsi lunak ditentukan, maka klien NFS gagal permintaan NFS setelah transmisi transmisi ulang telah dikirim, menyebabkan klien NFS mengembalikan kesalahan ke aplikasi panggilan. " Lihat linux.die.net/man/5/nfs
Mike S
Saya pikir Anda menentang diri Anda sendiri ... "soft hanya digunakan oleh orang-orang yang tidak mengerti ..." dan "untuk sistem file ro, aman untuk menggunakan soft ..." Juga, lihat posting @Tim Post, di atas .
Mike S