NFS安装配置总结
工作中需要使用开发板挂着NFS来调试,但是NFS配置一直半懂不懂,这次借鉴网上的资料,把开发板挂NFS的详细流程总结一下。
1.NFS安装
1.1 执行以下命令安装NFS服务器;
sudo apt install nfs-kernel-server
1.2 编写配置文件;
sudo vi /etc/exports
/etc/exports文件的内容如下:
/mnt/nfs *(rw,sync,no_subtree_check,no_root_squash)
此命令的参数详解:
- rw:共享目录的权限可读可写
- sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
- no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
- no_root_squash:来访的root用户保持root帐号权限;
/etc/experts文件中其他参数解释(搬砖搬来的,嘿嘿):
- ro:共享目录只读;
- all_squash:所有访问用户都映射为匿名用户或用户组;
- no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
- anonuid=:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
- anongid=:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
- secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
- insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
- async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
- wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
- no_wdelay:若有写操作则立即执行,应与sync配合使用;
其中/mnt/nfs是需要挂载的目录,不再exports文件中配置的目录是无法挂载的。之前就在这吃过亏。
1.3 创建共享目录
sudo mkdir /mnt/nfs
1.4 导出配置文件
sudo exportfs -rv
1.5 重启NFS
sudo service nfs-kernel-server restart
2.开发板挂载NFS步骤
2.1 设置上位机IP
Ubuntu图形化设置方法是System Setting——Network——点左侧Wired图标
——右下角Option——IPV4 Settings中,将Method由默认的Automatic改成Manual。
2.2 设置开发板IP
开发板可以采用命令行的方式配置
ifconfig eth0 192.168.1.2
2.3 mount命令
mount前,可以查看一下开发板和上位机是否能ping通。
使用的mount命令如下
mount -t nfs -o nolock 192.168.1.2:/opt/nfs /mnt/nfs
其中192.168.1.2是上位机(服务器)目录,/mnt/nfs是开发板中的目录。
3.NFS常用命令
1、exportfs
不重启nfs服务应用更新,相关选项如下(一般选-rv):
- -a 全部挂载或卸载 /etc/exports中的内容
- -r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
- -u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
- -v 在export的时候,将详细的信息输出到屏幕上。
2、nfsstat
- 查看NFS的运行状态。
3、showmount
查询nfs共享目录信息,相关选项如下:
- -a 显示已经于客户端连接上的目录信息
- -e IP或者hostname 显示此IP地址分享出来的目录
示例:
- showmount -e localhost #查询本机nfs共享目录情况
- showmount -a localhost #查询本机共享目录连接情况
考博客
【1】https://blog.csdn.net/csdn_duomaomao/article/details/77822883
【2】http://www.cnblogs.com/lykyl/archive/2013/06/14/3136921.html