目录
NFS服务器的介绍
nfs(Network File System)即网络文件系统,其基于UDP/IP 使用nfs能够在不同计算机之间通过网络进行文件共享,能使使用 者访问网络上其它计算机中的文件就像在访问自己的计算机一样。
NFS服务器的特点
提供透明文件访问以及文件传输;
容易扩充新的资源或软件,不需要改变现有的工作环境;
高性能,可灵活配置。
NFS服务器使用场景
通过电脑操作开发版
不用再通过U盘复制文件
配置介绍
/nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash) /nfs/rootfs:共享的目录;
*:不限定客户端;
rw:共享目录可读可写;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性; no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
no_root_squash:来访的root用户保持root帐号权限;
常见错误
错误现象: RPC: Program not registered & retrying
原因:nfs服务没有启动
解决方法:启动服务
NFS环境搭建
1.
运行下面的命令安装
NFS
服务器(需要保持网络通畅)。
linux@ubuntu:~ $ sudo apt-get install nfs-kernel-server
2.
运行下面的命令,创建一个目录,并在该文件下创建一个文件,用于测试
nfs
。
linux@ubuntu:~ $ sudo mkdir /nfs
linux@ubuntu:~ $ mkdir /nfs/rootfs
linux@ubuntu:~ $ echo "nfs test" > /nfs/rootfs/test.txt
3.
编辑
/etc/exports
配置文件。
linux@ubuntu:~ $ sudo vim /etc/exports
添加如下内容:
/nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash)
其中:
/nfs/rootfs
:共享的目录;
*
:不限定客户端;
rw
:共享目录可读可写;
sync
:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
no_subtree_check
:即使输出目录是一个子目录,
nfs
服务器也不检查其父目录的权限,这样可
以提高效率;
no_root_squash
:来访的
root
用户保持
root
帐号权限;
4. Ubuntu17.10
及以后版本需要增加以下配置,因为新版本
Ubuntu
只支持
nfs 3
和
nfs 4
,而
uboot
默
认使用
nfs 2
linux@ubuntu:~ $sudo vi /etc/default/nfs-kernel-server
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
5.
使用下面的命令,重启
NFS
服务。
linux@ubuntu:~ $ sudo service nfs-kernel-server restart
6.
使用下面的命令,将共享目录挂在到
/mnt
目录下,并修文件。
linux@ubuntu:~ $ sudo mount -t nfs localhost:/nfs/rootfs /mnt
linux@ubuntu:~ $ vim /mnt/test.txt
7.
使用下面的命令,查看原来的文件已经被修改。
linux@ubuntu:~ $ cat /nfs/rootfs/test.txt
8.
使用下面的命令取消挂载。
linux@ubuntu:~ $ sudo umount /mnt