NFS服务

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

NFS服务器的挂载结构图:

rpc服务:
RPC(Remote Procedure Call)即远程过程调用。RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的port上去

通讯原理:

优缺点:
1)优点
a.节省本地存储空间将常用的数据存放在一台服务器可以通过网络访问
b.简单容易上手
c.方便部署非常快速,维护十分简单
2)缺点
a.局限性容易发生单点故障,及server机宕机了所有客户端都不能访问
b.在高并发下NFS效率/性能有限
c.客户端没用用户认证机制,且数据是通过明文传送,安全性一般(一般建议在局域网内使用)
d.NFS的数据是明文的,对数据完整性不做验证
e.多台机器挂载NFS服务器时,连接管理维护麻烦

部署配置:

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# yum install nfs-utils

[root@localhost ~]# rpm -qa | egrep "nfs|rpcbind"
libnfsidmap-0.25-12.el7.x86_64
rpcbind-0.2.0-32.el7.x86_64
nfs-utils-1.3.0-0.21.el7.x86_64

[root@localhost ~]# systemctl restart nfs
[root@localhost ~]# rpcinfo -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  49392  status
    100024    1   tcp  46675  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  37873  nlockmgr
    100021    3   udp  37873  nlockmgr
    100021    4   udp  37873  nlockmgr
    100021    1   tcp  55802  nlockmgr
    100021    3   tcp  55802  nlockmgr
    100021    4   tcp  55802  nlockmgr

5.查看rpcbind监听状态(主端口为111)

[root@localhost ~]# lsof -i:111
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 7745  rpc    6u  IPv4  81368      0t0  UDP *:sunrpc 
rpcbind 7745  rpc    8u  IPv4  81370      0t0  TCP *:sunrpc (LISTEN)
rpcbind 7745  rpc    9u  IPv6  81371      0t0  UDP *:sunrpc 
rpcbind 7745  rpc   11u  IPv6  81373      0t0  TCP *:sunrpc 
[root@localhost ~]# netstat -tlunp | grep rpcbind
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      7745/rpcbind        
tcp6       0      0 :::111                  :::*                    LISTEN      7745/rpcbind        
udp        0      0 0.0.0.0:704             0.0.0.0:*                           7745/rpcbind        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           7745/rpcbind        
udp6       0      0 :::703                  :::*                                7745/rpcbind        
udp6       0      0 :::111                  :::*                                7745/rpcbind  

nfs服务所开启的端口号

[root@localhost ~]# netstat -tlunp | grep -E 'nfs|rpc'
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      7745/rpcbind        
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      7752/rpc.mountd     
tcp        0      0 0.0.0.0:46675           0.0.0.0:*               LISTEN      7733/rpc.statd      
tcp6       0      0 :::111                  :::*                    LISTEN      7745/rpcbind        
tcp6       0      0 :::20048                :::*                    LISTEN      7752/rpc.mountd     
tcp6       0      0 :::48377                :::*                    LISTEN      7733/rpc.statd      
udp        0      0 127.0.0.1:703           0.0.0.0:*                           7733/rpc.statd      
udp        0      0 0.0.0.0:704             0.0.0.0:*                           7745/rpcbind        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           7745/rpcbind        
udp        0      0 0.0.0.0:49392           0.0.0.0:*                           7733/rpc.statd      
udp        0      0 0.0.0.0:20048           0.0.0.0:*                           7752/rpc.mountd     
udp6       0      0 :::39599                :::*                                7733/rpc.statd      
udp6       0      0 :::703                  :::*                                7745/rpcbind        
udp6       0      0 :::111                  :::*                                7745/rpcbind        
udp6       0      0 :::20048                :::*                                7752/rpc.mountd   

NFS常见进程详解

[root@localhost ~]# ps -ef | grep -E 'nfs|rpc'
root        732      2  0 14:02 ?        00:00:00 [rpciod]
rpcuser    7733      1  0 14:34 ?        00:00:00 /usr/sbin/rpc.statd --no-notify
rpc        7745      1  0 14:34 ?        00:00:00 /sbin/rpcbind -w
root       7748      1  0 14:34 ?        00:00:00 /usr/sbin/rpc.idmapd
root       7752      1  0 14:34 ?        00:00:00 /usr/sbin/rpc.mountd
root       7762      2  0 14:34 ?        00:00:00 [nfsd4]
root       7764      2  0 14:34 ?        00:00:00 [nfsd4_callbacks]
root       7772      2  0 14:34 ?        00:00:00 [nfsd]
root       7774      2  0 14:34 ?        00:00:00 [nfsd]
root       7775      2  0 14:34 ?        00:00:00 [nfsd]
root       7779      2  0 14:34 ?        00:00:00 [nfsd]
root       7781      2  0 14:34 ?        00:00:00 [nfsd]
root       7782      2  0 14:34 ?        00:00:00 [nfsd]
root       7785      2  0 14:34 ?        00:00:00 [nfsd]
root       7786      2  0 14:34 ?        00:00:00 [nfsd]
root       8572   4503  0 14:41 pts/0    00:00:00 grep --color=auto -E nfs|rpc

架设一台NFS服务器,并按照以下要求配置
1)开放/nfs/shared目录,供所有用户查询资料
2)开放/nfs/upload目录作为192.168.171.0/24网段的数据上传目录,并将所有用户及所属的用户组映射为nfs-upload,其UID和GID均为210
3)将/home/tom目录仅共享给192.168.171.144这台主机,并只有用户tom可以完全访问该目录

[root@localhost ~]# groupadd -g 210 nfs-upload
[root@localhost ~]# useradd -u 210 -g 210 nfs-upload
[root@localhost ~]# cat /etc/exports
/nfs /shared *(ro)
/nfs/upload 192.168.171.0/24(rw,all_squash,anonuid=210,anongid=210)
/home/tom 192.168.171.144(rw)
[root@localhost ~]# exportfs -r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值