Відповіді:
Жорстке кріплення зазвичай використовується для блокових ресурсів, таких як локальний диск або SAN. М’яке кріплення зазвичай використовується для протоколів мережевих файлів, таких як NFS або CIFS.
Перевага м'якого кріплення полягає в тому, що якщо ваш сервер NFS недоступний, ядро припинить операцію вводу / виводу після попередньо налаштованого періоду часу. Недоліком є те, що якщо ваш драйвер NFS кешує дані та м'який час монтажу, ваша програма може не знати, які записи в томи NFS були фактично задіяні на диску.
жорсткі кріплення та "intr" (переривчастий) - хороший компроміс (для ядер до 2.6.25 див. коментар Райана Хоррісбергера). Додаток не обманює успішні записи, але ви можете вбити їх, якщо щось забиває трубки.
Жорстке кріплення, що використовує якусь мережеву файлову систему (nfs або запобіжник), може (іноді) блокувати назавжди, намагаючись відновити розірване з'єднання. Це означає, що кожен процес, який намагається отримати доступ до цього монтажу, переходить у режим сну диска (D) до тих пір, поки пристрій знову не стане доступним або перезавантажиться система.
Сон диска не можна переривати чи вбивати. Це як зомбі в зомбі-процесах.
Якщо коротко, ніколи не використовуйте жорсткі кріплення для мережевих файлових систем. Ви хочете, щоб файлова система вийшла з ладу (негайно, для процесів з використанням системних дзвінків), якщо введення / виведення неможливо. В іншому випадку пам'ять, яку вони заявляють, може також просочитися, якщо FS виходить з ладу.
soft використовується лише людям, які не розуміють принципу nfs. soft / hard залежить від використання файлової системи. для критично важливих програм використовуйте завжди жорсткі кріплення, щоб запобігти пошкодженню файлів (це причина, що для більшості систем це за замовчуванням). для файлової системи ro можна використовувати м'які та віддалені переваги. до речі nfsv4 вже не підтримує soft ....