码迷,mamicode.com
首页 > 其他好文 > 详细

NFS介绍

时间:2018-02-22 19:35:32      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:网络共享   wan   lib   pos   highlight   nginx   cti   bin   chm   

一、NFS服务介绍

NFS是 Network File system的缩写

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

分为2.3.4三个版本,2和3由sun公司起草开发,4.0开始netapp公司参与并主导开发

NFS数据传输基于RPC协议:

应用场景:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别取挂载A共享的数据目录,从而B和C访问到的数据和A上的一致。

技术分享图片

技术分享图片

NFS原理图:(NFS服务不监听任何端口,但是RPC服务中的模块,rpcbind默认监听111端口,)

技术分享图片

 NFS服务端安装配置

技术分享图片

1.首先需要两台机器,一个为服务端(ip10.21.95.122)一个为客户端(ip10.21.95.58)。

2.服务端安装两个包

[root@bogon ~]# yum install -y nfs-utils rpcbind

3.客户端安装包

[root@sunyujun02 ~]# yum install -y nfs-utils

4.接下来在服务端编辑:

[root@fuwuduan ~]# vim /etc/exports
[root@fuwuduan ~]# 
/home/nfstestdir 10.21.95.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
# 第一段来定义共享目录的绝对路径  第二段指定ip和一些选项
# rw 读写
# ro 只读
# sync 同步模式,内存数据实时写入磁盘
# async 非同步模式
# no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
# root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
# all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
# anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

5.保存配置文件以后,因为共享目录不存在,所以做以下操作。  

[root@fuwuduan ~]# mkdir /home/nfstestdir
[root@fuwuduan ~]# chmod 777 /home/nfstestdir/

6.查看rpcbind所用的111端口已经启动

[root@fuwuduan ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      75879/nginx: worker 
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      4161/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1475/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1477/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2778/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      75879/nginx: worker 
tcp6       0      0 :::3306                 :::*                    LISTEN      3849/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      1475/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1477/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      2778/master         
[root@fuwuduan ~]# 

7.客户端和服务端都启动rpcbind

[root@fuwuduan ~]# systemctl start rpcbind
[root@fuwuduan ~]# ps aux|grep rpc        
root        752  0.0  0.0      0     0 ?        S<   2月19   0:00 [rpciod]
rpc       37786  0.6  0.1  64952  1040 ?        Ss   17:20   0:00 /sbin/rpcbind -w
root      37788  0.0  0.0 112684   976 pts/2    S+   17:20   0:00 grep --color=auto rpc
[root@fuwuduan ~]# 
[root@sunyujun02 ~]# systemctl start rpcbind
[root@sunyujun02 ~]# ps aux|grep rpc
root        818  0.0  0.0      0     0 ?        S<   2月20   0:00 [rpciod]
rpc       47335  0.2  0.1  64936  1052 ?        Ss   17:20   0:00 /sbin/rpcbind -w
root      47337  0.0  0.0 112668   976 pts/1    R+   17:20   0:00 grep --color=auto rpc
[root@sunyujun02 ~]# 

8.服务端启动nfs

[root@fuwuduan ~]# systemctl start nfs
[root@fuwuduan ~]# ps aux|grep nfs
root      37863  0.0  0.0      0     0 ?        S<   17:22   0:00 [nfsd4]
root      37864  0.0  0.0      0     0 ?        S<   17:22   0:00 [nfsd4_callbacks]
root      37872  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37873  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37874  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37875  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37876  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37877  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37878  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37879  0.0  0.0      0     0 ?        S    17:22   0:00 [nfsd]
root      37895  0.0  0.0 112680   972 pts/2    R+   17:22   0:00 grep --color=auto nfs
[root@fuwuduan ~]# 

9.启动nfs后发现rpc.statd也自动启动了

[root@fuwuduan ~]# ps aux|grep rpc    
root        752  0.0  0.0      0     0 ?        S<   2月19   0:00 [rpciod]
rpc       37786  0.0  0.1  64952  1412 ?        Ss   17:20   0:00 /sbin/rpcbind -w
rpcuser   37852  0.0  0.1  44464  1828 ?        Ss   17:22   0:00 /usr/sbin/rpc.statd
root      37853  0.0  0.0  42560   948 ?        Ss   17:22   0:00 /usr/sbin/rpc.mountd
root      37854  0.0  0.0  21384   416 ?        Ss   17:22   0:00 /usr/sbin/rpc.idmapd
root      37939  0.0  0.0 112684   972 pts/2    R+   17:23   0:00 grep --color=auto rpc
[root@fuwuduan ~]# 

10.设置开机启动

[root@fuwuduan ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@fuwuduan ~]# 

技术分享图片

 

  

  

  

NFS介绍

标签:网络共享   wan   lib   pos   highlight   nginx   cti   bin   chm   

原文地址:https://www.cnblogs.com/sunyujun/p/8459300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!