NFS 搭建

最近做嵌入式开发的时候,需要NFS加载文件系统,顺便搭建了一个NFS。

NFS:Network File System


功能也就是能把远程网络的文件挂载到NFS Server上,在Server上看来,客户端的挂载的目录就像自己的子目录一样,可以对它操作。所以,对于嵌入式系统的调试是很方便的。

NFS支持的功能很多,所以对应的端口号是不固定的,是随机分配的,但都是小于1024。那么客户机是怎么连接到NFS Server上去的呢?这里有一个RPC的东西来支持。

RPC:(Remote Procedure Call Protocol)


远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
RPC在NFS搭建过程钟的功能就是在Server上分配端口号,可以让客户端能从远程连接上Server。RPC固定采用111端口监听。

所以整个NFS实现的过程就是:

  1. Client向服务器的RPC(port 111)发出请求

  2. 服务器注册好端口,把端口信息传回客户端

  3. 客户端知道正确的端口后,可以连接NFS daemon


NFS 安装:nfs-utils(主要NFS功能) portmap(RPC 端口分配)


可以先rpm -qa | grep xxx 查看下,若不存在则安装!

NFS 配置文件

# vim /etc/exports 在这里可以对客户端各种权限的设置

/tmp *(rw,no_root_squash) # 允许任何IP挂载/tmp目录

NFS 启动


portmap启动

# service portmap start

或者

# /etc/init.d/portmap start

nfs启动

# service nfs start

或者

# /etc/init.d/nfs start

# netstat -tunl | grep "111" #查看portmap有没有启动

# chkconfig --list | grep "nfs" #查看nfs服务是否启动

# showmount -e localhost  #查看本地共享文件系统

NFS文件挂载


先在主机上尝试把/tmp挂载到/mnt下

[ local ]#mount 127.0.0.1:/tmp /mnt   #进入/mnt查看

远程网络挂载

[ client ]#mount ServerIP:/tmp /mnt

标签:Linux, NetWork, Server, FPGA

评论已关闭