Exportfs не экспортирует каталог для монтирования nfsLinux

Ответить
Anonymous
 Exportfs не экспортирует каталог для монтирования nfs

Сообщение Anonymous »

У меня есть Linux-плата (плата 1), использующая Linux 4.19.0 и rootfs из buildroot. На этой плате есть раздел (ext2), который должен использоваться для другой платы (плата 2) для монтирования nfs для ее rootfs.
Таким образом, проблема возникает еще до того, как у нас появится событие монтирования. Проблема возникает при выполнении команды экспортфс.
Вот результат выполнения команды экспортфс:

Код: Выделить всё

$ ./exportfs -rav
exporting *:/srv/nfs/disc1_1
exportfs: /srv/nfs/disc1_1 does not support NFS export
$
Меня очень раздражал уровень информации, поэтому я запустил ее с помощью strace, и вот соответствующая область вывода, где приложение решает, что экспорт недействителен:

Код: Выделить всё

openat(AT_FDCWD, "/etc/exports.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0
write(1, "exporting *:/srv/nfs/disc1_1\n", 29exporting *:/srv/nfs/disc1_1
) = 29
newfstatat(AT_FDCWD, "/srv/nfs/disc1_1", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0
openat(AT_FDCWD, "/proc/net/rpc/auth.unix.ip/channel", O_WRONLY) = 3
write(3, "nfsd 0.0.0.0 9223372036854775807"..., 47) = 47
close(3)                                = 0
openat(AT_FDCWD, "/proc/net/rpc/nfsd.export/channel", O_WRONLY) = 3
close(3)                                = 0
statfs("/srv/nfs/disc1_1", {f_type=RAMFS_MAGIC, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID}) = 0
openat(AT_FDCWD, "/proc/net/rpc/nfsd.export/channel", O_WRONLY) = 3
write(3, "-test-client- /srv/nfs/disc1_1  "..., 53) = -1 EINVAL (Invalid argument)
close(3)                                = 0
write(2, "exportfs: ", 10exportfs: )              = 10
write(2, "/srv/nfs/disc1_1 does not suppor"..., 44/srv/nfs/disc1_1 does not support NFS export) = 44
write(2, "\n", 1
)                       = 1
Я также попытался покопаться в файле, указанном в трассировке: «/proc/net/rpc/nfsd.export/channel». Я попробовал записать в него команду «echo» из командной строки и передать строку, определенную в Exportfs (на самом деле я покопался в файле Exportfs.c и распечатал это с помощью некоторой отладки, «-test-client- /srv/ nfs/disc1_1 3 8192 65534 65534 0") в этот файл, было указано, что он не существует, поэтому я так понимаю, что это какой-то другой файл, который не допускает этого.
Я был Я могу экспортировать каталог на той же плате, который находился в разделе типа jffs2, но поскольку это RO, я не могу использовать его для rootfs. Я сделал это только для того, чтобы убедиться, что ядро ​​действительно поддерживает экспорт NFS.
Очевидно, мой вопрос заключается в том, почему экспортная файловая система не работает в системе для каталога ext2, когда она работает для каталога ext2. Каталог JFFS2. Кроме того, о каком файле идет речь: «/proc/net/rpc/nfsd.export/channel».
Ура!!

Подробнее здесь: https://stackoverflow.com/questions/784 ... s-mounting
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»