Могут ли открытые файлы быть отсоединены на смонтированных томах NFS, в то время как приложения, которые все еще открывают их для чтения /записи?

Позволяет ли NFS отключать /удалять открытые файлы, как я могу делать с локальными файловыми системами?

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

Это приятная особенность файловых систем linux (unix?), которые можно отделить от открытого файла. Он просто удаляет запись в каталоге. Файл по-прежнему доступен для процесса, который держит его открытым, пока он открыт. После закрытия индекс уничтожается.

Поддерживает ли та же самая функция для файлов, открытых на монтировании NFS?

nfs
7 голосов | спросил Matt 9 Mayam11 2011, 09:12:51

1 ответ


8

Короткий ответ да с оговорками.

Поскольку NFSv3 не имеет состояния, драйвер клиента NFS выполняет это с помощью так называемого «глупого переименования», где удаленный файл переименовывается в нечто вроде .nfsXXXXXXXXXX. Обычно это работает, но есть несколько предостережений по сравнению с локальной файловой системой. Например, если клиент выйдет из строя, эти файлы .nfsXXXX не будут удалены, и вам придется их вручную очистить.

Я думаю, что с NFSv4.1 в протоколе есть необходимые функции для реализации delete-on-last-close без глупого переименования, но я не знаю, реализуют ли это все клиенты /сервер.

ответил janneb 9 Mayam11 2011, 09:39:24

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132