nfs原理

转载:

原理说明

https://www.cnblogs.com/me80/p/7464125.html

http://www.cnblogs.com/whych/p/9196537.html

NFS(Network File System)即网络文件系统。
对于Linux而言,文件系统是在内核空间实现的,即文件系统比如ext3、ext4等是在Kernel启动时,以内核模块的身份加载运行的。

一、启用linux内核中的nfs服务
进入内核源码文件目录
1、配置内核,使用如下命令配置内核

     make menuconfig

2、开启nfs配置,找到如下配置并将其编译进内核:
        Networking support
        File systems
                ---->[*]Network file system

 

二、原理

  1. 本地用户要访问nfs服务器中文件,先向内核发起请求,内核处理调用nfs模块及rpc client

  2. rpc client向rpc server发起连接

  3. 在连接之前,NFS服务除了启动nfsd本身监听的端口2049/tcp和2049/udp,还会启动其它进程(如mountd,statd,rquotad等)以完成文件共享,这些进程的端口是不固定的;是每次NFS服务启动时向RPC服务注册的,RPC服务会随机分配未使用的端口

  4. 完成连接,接受访问请求

  5. nfs应用程序向内核发起请求

  6. 内核调用文件系统

       然后client端通过获取的NFS端口来建立和server端的NFS连接并进行数据的传输。

三、服务配置


虚拟机,终端上操作如下命令

安装NFS服务器
apt-get install nfs-kernel-server

建立一个nfs服务的专有的文件夹
比如/opt/freescale/nfs_share
gedit /etc/exports
添加:
/opt/freescale/nfs_share *(rw,sync,no_root_squash,no_subtree_check)
/opt/freescale/nfs_share:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致!

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

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

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

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

no_subtree_check:不检查父目录的权限。

启动服务
/etc/init.d/portmap restart 重启portmap服务。nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定。
/etc/init.d/nfs-kernel-server restart  启nfs服务。


目标机挂载
mount -t nfs -o nolock 192.168.3.177:/opt/freescale/nfs_share /mnt/nfs

(虚拟机配置桥接,也可设置静态IP,目的和目标机同个网段)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值