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

Как поделиться USB-накопителем через NFS на FreeBSD

Я пытаюсь поделиться жестким диском USB с msdosfs, подключенным следующим образом:

mount_msdosfs -o large /dev/da1s1 /mnt/usb

Я вижу смонтированный диск: /dev/da1s1 on /mnt/usb (msdosfs, local)

но когда я пытаюсь поделиться диском через NFS, мой файл экспорта:

/mnt/usb -network 192.168.1.0 -mask 255.255.255.0

Я получаю ошибку

freebsd mountd[871]: can't export /mnt/usb MSDOSFS_LARGEFS flag set, cannot export

freebsd mountd[871]: bad exports list line /mnt/usb -network 192.168.1.0 -mask 255.255.255.0

Любая подсказка, как решить эту проблему, кроме замены msdosfs на диске на что-то еще?

Большой MSDOS файловые системы не поддерживаются как экспорт NFS во FreeBSD из-за некоторых ограничений реализации. Вы можете попробовать смонтировать FS без -o large вариант, но если это не удастся, вам не повезет с NFS (но, возможно, вы могли бы попробовать Samba).

О. Файловые системы FAT можно экспортировать, начиная с ранних ядер 2.4, но при широком использовании это может вызвать проблемы. Во-первых, будут учитываться только те операции, которые поддерживаются экспортированной файловой системой. Такие операции, как chown, link и symlink, не поддерживаются этими файловыми системами и завершатся ошибкой. Чтение / запись / создание и т. Д. Должно быть в порядке, пока файлы остаются относительно неизменными.

Самая серьезная проблема заключается в том, что структура файловой системы FAT не содержит достаточно информации для создания устойчивой идентичности, необходимой NFS для создания постоянных дескрипторов файлов. Например, если вы берете файл, переименовываете его в другой каталог, сокращаете его и записываете в него новые данные, в файловой системе нет ничего, что можно было бы использовать, чтобы показать, что полученный файл в любом смысле является " тот же », что и исходный файл, и нет никакого способа найти новый файл, учитывая какие-либо сведения об исходном файле. Следовательно, сервер Linux NFS не может гарантировать, что после того, как вы открыли файл, вы можете продолжать иметь доступ к этому файлу, если файл был изменен указанными выше способами. В этом случае NFS может оказаться не в состоянии правильно найти или идентифицировать файл, и поэтому может возвращать ошибки ESTALE.

Это взято из Linux NFS FAQ, и это также применимо к FreeBSD (за исключением, конечно, материала ядра 2.4). Просто хочу убедиться, что вы знаете об этом.