我正在尝试在两台 Linux 机器(嵌入式)之间设置 NFS。
Foo(server) -> Bar(client)
Run Code Online (Sandbox Code Playgroud)
我在两台机器上都安装了 nfs-utils (1.3.3) 和依赖项。这是Foo 上的/etc/exports文件。
/public 10.0.1.0/24(rw,insecure,async,no_subtree_check,no_root_squash,nohide)
Run Code Online (Sandbox Code Playgroud)
/public位于本地文件系统上且未加密。
FOO# findmnt -T /public
TARGET SOURCE FSTYPE OPTIONS
/ ubi0:rootfs ubifs rw,relatime
Run Code Online (Sandbox Code Playgroud)
并启动守护进程:
FOO# /etc/init.d/S21-nfsd start
Mounting proc/fs/nfsd: [OK]
exportfs: /public does not support NFS export
Starting /sbin/portmap: [OK]
Starting /usr/sbin/rpc.statd: [OK]
Starting /usr/sbin/rpc.mountd: [OK]
Starting /usr/sbin/rpc.nfsd: [OK]
FOO# exportfs
/public 10.0.1.0/24
FOO# cat /proc/fs/nfs/exports
# Version 1.1
# Path Client(Flags) # IPs
Run Code Online (Sandbox Code Playgroud)
有了上面的内容,我不确定/public是否真的被导出了。
该目录具有完全权限:
FOO# ls -ld /public
drwxrwxrwx 2 root root 160 Jan 13 1990 /public
Run Code Online (Sandbox Code Playgroud)
在客户端上,我尝试挂载 NFS 共享:
BAR# mount -t nfs -vvvv FOO:/public /public
mount: FOO:/public failed, reason given by server: Permission denied
mount: mounting FOO:/public on /public failed: Bad file descriptor
Run Code Online (Sandbox Code Playgroud)
我在两台机器上都使用 root 帐户,并且 uids 匹配:
FOO# id
uid=0(root) gid=0(root) groups=0(root)
BAR# id
uid=0(root) gid=0(root) groups=0(root)
Run Code Online (Sandbox Code Playgroud)
两台机器都支持内核,FOO->kernel 2.6.35,BAR->kernel 4.1.18:
FOO# zcat /proc/config.gz|grep "NFS"
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
CONFIG_ROOT_NFS=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
BAR# zcat /proc/config.gz | grep "NFS"
CONFIG_KERNFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_SWAP is not set
# CONFIG_NFS_V4_1 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFSD is not set
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
Run Code Online (Sandbox Code Playgroud)
我的问题在哪里?客户端?服务器端?
Linux 内核FOO版本为 2.6.35(从 2011 年末开始)。它支持 UBIFS(根分区上的文件系统,自 2008 年的内核版本 2.6.27 以来),但在 2016/2017 期间的某个时候添加了内核支持从 UBIFS 导出 NFS 挂载。
这意味着您的FOO系统将无法导出,/public直到它的内核升级到更新的内核,或者直到您将目录移动到其他文件系统。
| 归档时间: |
|
| 查看次数: |
5180 次 |
| 最近记录: |