Параллельный NFS-доступ


5

Похожий на Параллельный доступ по FTP ,

Как обрабатывается одновременный доступ к файлам для NFS? Предположим, что один клиент обновляет / перезаписывает файл на сервере NFS, и процесс на сервере одновременно читает этот файл непосредственно из файловой системы. Есть ли какая-то атомарная обработка чтения / записи файлов в NFS / Linux или мне нужно работать с файлами tmp, чтобы обеспечить согласованность данных?

Я беспокоюсь, что процесс чтения файла приведет к повреждению данных.

Ответы:


3

NFS обычно поставляется с одноуровневым протоколом NLM (Network Lock Monitor), но он работает только с консультативными (т.е. не предусмотренными) блокировками.

По этому и другим вопросам, связанным с вашим вопросом, вы, главным образом, хотите прочитать NFS считается вредным "


3

Эти конфликты обычно разрешаются с помощью блокировок. При применении необходимо обеспечить надлежащую блокировку. Тем не менее, следует отметить, что большинство приложений имеют тенденцию блокировать файлы, особенно во время записи.


2

Эта проблема одинакова для любой многозадачной файловой системы ОС. Что останавливает один процесс для изменения файла, который использует другой? Замки. Ничто по умолчанию не останавливает это.

Вы можете доверять NLM или другим системам, если хотите, но они могут содержать ошибки. Мы склонны создавать мягкие ссылки. Если создать не удалось, у кого-то еще есть файл. Не забудьте удалить ссылку, когда вы закончите с файлом.

Всегда есть проблемы с удалением мертвых блокировок, когда машина в сети или приложение умирают, поскольку есть больше состояний ошибки, я считаю, что нужно было верить, что любая система, подобная NLM, также получает 100% -ную корректность.

Если вы хотите гарантировать доступ, то вам нужен специальный сервер-сторожевой сервер, который разрешает только атомарное чтение и запись всего файла.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.