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

7269
Kristian

Аналогично одновременному доступу по FTP .

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

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

5

3 ответа на вопрос

3
Josip Medved

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

3
flybywire

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

В связи с этим и другими вопросами, связанными с вашим вопросом, вы, как правило, хотите прочитать « NFS считает опасным »

2
David Allan Finch

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

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

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

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

Похожие вопросы