使用 nfs4 挂载没有出现此类设备错误

She*_*fer 5 filesystems nfs nfs4

我正在尝试workspace通过 NFS将一个文件夹从服务器挂载到客户端。为此,我/export通过/etc/fstab在服务器上添加以下内容将文件夹绑定到 an :

/home   /export none    bind
Run Code Online (Sandbox Code Playgroud)

然后我/etc/exports在我的服务器上添加以下几行:

/export     *(ro,sync,no_subtree_check,insecure,fsid=0) 
/export/workspace   *(rw,sync,no_subtree_check,insecure,nohide) 
Run Code Online (Sandbox Code Playgroud)

我加载 exportfs 文件,然后重新启动 nfs-kernel-server:

# exportfs -vr
# service nfs-kernel-server restart
Run Code Online (Sandbox Code Playgroud)

我现在去我的客户端并检查可以导出哪些文件夹:

# showmount -e 192.168.145.131
Export list fo 192.168.145.131:
/export/workspace *
/export           *
Run Code Online (Sandbox Code Playgroud)

但是当我尝试挂载文件夹时,出现以下错误:

$ sudo mount -t nfs4 192.168.145.131:/workspace nfs/ -v
mount.nfs4: timeout set for Sat Apr 19 19:16:51 2014
mount.nfs4: trying text-based options 'addr=192.168.145.131,clientaddr=192.168.145.128'
mount.nfs4: mount(2): No such device
mount.nfs4: No such device
Run Code Online (Sandbox Code Playgroud)

我也试过安装/export/workspace/home/workspace但这给了我同样的错误。我尝试modprobe在客户端和服务器上加载 NFS 模块,但该模块同时在客户端和服务器上加载。

She*_*fer 2

3天后问题解决!!

我尝试从具有较新内核版本(3.8)的客户端安装 nfs4 服务器文件夹。我能够做到这一点。因此,我将配置文件复制/boot/configure-3.8-generic到我的/usr/src/.config,并启用该选项Filesystems -> Network File Systems -> NFS3 client load as moduleNFS4 client加载为模块。

再次编译我的内核,创建initrd image,更新grub,现在我也可以从我的 2.6 内核客户端挂载服务器文件夹!