Назад | Перейти на главную страницу

Каковы преимущества / недостатки жесткого монтирования по сравнению с мягким в UNIX?

Этот вопрос может варьироваться в зависимости от дистрибутива, но, в целом, каковы преимущества / недостатки использования жесткого или мягкого монтирования в мире UNIX?

Существуют ли определенные ситуации, когда один из них более полезен, или его использование достаточно универсально?

Жесткое монтирование обычно используется для блочных ресурсов, таких как локальный диск или SAN. Мягкое монтирование обычно используется для сетевых файловых протоколов, таких как NFS или CIFS.

Преимущество мягкого монтирования заключается в том, что, если ваш сервер NFS недоступен, ядро ​​прерывает операцию ввода-вывода по истечении предварительно настроенного периода времени. Недостатком является то, что если ваш драйвер NFS кэширует данные и время мягкого монтирования истекает, ваше приложение может не знать, какие записи в тома NFS были фактически зафиксированы на диске.

hard mounts и intr (прерываемый) - хороший компромисс (для ядер до 2.6.25 см. комментарий Райана Хоррисбергера). Приложение не обманывает насчет успешной записи, но вы можете убить их, если что-то забивает трубки.

Жесткое монтирование с использованием какой-либо сетевой файловой системы (nfs или fuse) может (иногда) навсегда заблокироваться при попытке восстановить разорванное соединение. Это означает, что каждый процесс, пытающийся получить доступ к этому монтированию, переходит в спящий режим диска (D) до тех пор, пока устройство не станет снова доступным или система не будет перезагружена.

Спящий режим диска нельзя прервать или убить. Это похоже на зомби зомби-процессов.

Короче говоря, никогда не используйте жесткие крепления для сетевых файловых систем. Вы хотите, чтобы файловая система отказала (немедленно, для процессов, использующих системные вызовы), если ввод-вывод невозможен. В противном случае память, которую они заявляют, может также утекать в случае отказа ФС.

А soft или hard mount зависит от использования файловой системы и влияет на записывать гарантии работы из базового программного стека. Из страница руководства nfs (параметры монтирования также применимы к nfsv4), «Так называемый« мягкий »тайм-аут может в некоторых случаях вызвать тихое повреждение данных. Поэтому используйте soft вариант только тогда, когда скорость реакции клиента важнее целостности данных ».

Для критически важных читай пиши использование приложения, всегда используйте hard монтирует, чтобы предотвратить повреждение файлов (это причина, по которой он используется по умолчанию для большинства систем).

Для только чтение файловые системы безопасно использовать soft поскольку нет опасности потери данных, приложение считало, что оно было записано в файловую систему и поэтому является предпочтительным, поскольку оно не будет блокировать приложение; возвращает только отсутствие данных или ошибку - и то, и другое может и должно обнаруживаться приложением.