Linux下NFS应用介绍

1. NFS服务端安装与配置

a. 下载安装:~$ sudo apt-get install nfs-kernel-server

b. 安装完成后,创建NFS文件夹:~$ sudo mkdir /home/nfsroot

c. 修改NFS服务器配置:~$ sudo gedit /etc/exports

在exports最后一行写入:

/home/nfsroot *(rw,sync,no_root_squash,no_subtree_check)

其中:

/home/nfsroot:NFS文件夹

*:允许所有的网段访问,也可以使用具体的IP

rw:挂载此目录的客户端对该共享目录具有可读可写权限

sync:资料同步写入内存和硬盘

no_root_squash:root用户具有对根目录的完全管理访问权限

no_subtree_check:不检查父目录的权限

d. 重启服务:

重启rpcbind服务:~$ sudo /etc/init.d/rpcbind restart

重启nfs服务:~$ sudo /etc/init.d/nfs-kernel-server restart

NFS服务端配置完成。如果出现nfs重启失败,请检查/etc/exports文件修改是否正确。

 

2. NFS服务端自测

a. 先在/home/nfsroot下创建一个test.txt文件供测试:

~$ sudo touch /home/nfsroot/test.txt

b. 挂载NFS文件夹至/mnt下:~$ sudo mount 127.0.0.1:/home/nfsroot /mnt ,挂载成功

c. 查看挂载文件夹确认挂载情况:~$ ls /mnt ,可在/mnt文件夹下找到test.txt文件

3. NFS客户端安装配置

NFS客户端在Ubuntu上使用~$ sudo apt-get install nfs-common 安装。ARM开发板则需要重新编译更新内核。

安装完成后输入~$ cat /proc/filesystems查看NFS客户端安装成功,有存在nodev nfsd一栏,就表示NFS客户端已经安装成功。

4. NFS客户端挂载

在命令行输入~$ sudo mount -t nfs 192.168.1.106:/home/nfsroot /mnt即可完成挂载

其中:

-t vfstype 指定文件系统的类型,可以不指定,mount会自动旋转正确的类型。

但在ARM开发板上操作失败,

~ # mount -t nfs 192.168.1.106:/home/nfsroot /mnt/nfsroot/

svc: failed to register lockdv1 RPC service (errno 111).

lockd_up: makesock failed, error=-111

mount: mounting 192.168.1.106:/home/nfsroot on /mnt/nfsroot/ failed: Connection refused

但在Ubuntu下可以正常挂载成功,在ARM开发板上却失败。这说明NFS Server应该是正常的,问题是在NFS客户端。

经分析可能的问题是:

Nfs mount默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;

解决方法:

Kill 文件锁或添加-o nolock选项

~ # mount -o nolock -t nfs 192.168.1.106:/home/nfsroot /mnt/nfsroot/ 挂载成功!

5. ARM开发板开机自动挂载

修改/etc/init.d/rcS文件,添加开机自动挂载功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值