1、NFS 介绍
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
2、安装 NFS 软件包
sudo apt-get install nfs-kernel-server # 安装 NFS服务器端
sudo apt-get install nfs-common # 安装 NFS客户端
3、添加 NFS 共享目录
sudo vim /etc/exports
若需要把 “/nfsboot” 目录设置为 NFS 共享目录,请在该文件末尾添加下面的一行:
/nfsboot *(rw,sync,no_root_squash,no_subtree_check)
# * 表示允许任何网段 IP 的系统访问该 NFS 目录
# rw:读/写权限
# sync:数据同步写入内存和硬盘
# no_root_squash:服务器允许远程系统以root特权存取该目录
# no_subtree_check:关闭子树检查
4. 创建共享目录
#在服务器端创建/nfsboot共享目录,并注意更改访问权限
参数:-p 确保目录名称存在,如果目录不存在的就新创建一个
sudo mkdir -p /tmp
更改访问权限
chmod 777 -R /nfsboot
5、启动 NFS 服务
sudo /etc/init.d/nfs-kernel-server restart
在 NFS 服务已经启动的情况下,如果修改了 “/etc/exports” 文件,需要重启 NFS 服务,以刷新 NFS 的共享目录。
6、测试 NFS 服务器
执行showmount -e [服务器IP地址]可以查看服务器开放了哪些共享目录;例如:
showmount -e 192.168.1.123
执行挂载:
mount -t nfs -o nolock [服务器IP地址]:[共享目录路径] [本机用于挂载的路径]
;例如:mount -t nfs -o nolock 192.168.1.123:/nfsboot /mnt即:挂载成功后,访问本地/mnt目录时即是访问服务端的/nfsboot 的目录。
7. 出现错误
1) 在 service nfs-kernel-server restart 过程中报错 错误为
Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.serviceJob for nfs-server.service failed because the control process exited with error code. See “systemctl status nfs-server.service” and “journalctl -xe” for details.
failed!
解决方法,检测exports里权限配置是否有问题
2) 解决mount.nfs: access denied问题
挂载目录增加权限,chmod 777 -R nfsboot
3) 开发板出现 mount.nfs: an incorrect mount option was specified
mount -t nfs -o nolock,nfsvers=3 192.168.1.25:/rootfs /mnt/nfs
————————————————