NFS网络文件共享服务


相关内容:

NFS:即为网络文件系统。

主要功能:通过网络(局域网)让不同的主机系统之间可以共享文件或目录。

主要用途:NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件。

关于端口使用说明:

1.通过网络来进行数据传输,因此会使用一些端口来传输数据。

2.NFS在传输数据的时候使用的端口会随机选择。

问:nfs客户端如何知道nfs服务器端使用哪个端口?

答:通过RPC(远程过程调用)协议/服务来实现。

rpc工作原理:1.启动RPC服务

       2.nfs启动时随机取用若干端口,并主动向rpc服务注册取用相关信息

       3.客户端请求nfs服务向rpc

       4.rpc返回端口给客户端

                  5.拿着地址与端口向nfs服务器请求传输数据

所以综上所述:nfs服务必须在rpc服务启动之后启动,客户端无需启动nfs服务,但需要启动rpc服务。

nfs部署:

需要安装的软件包:

nfs-utils:nfs服务主程序

rpcbind:rpc主程序

yum install -y  nfs-utils rpcbind 

启动nfs相关服务:

1.启动rpcbind

systemctl status rpcbind

systemctl start rpcbind

systemctl enable rpcbind

rpcinfo -p localhost             //查看nfs服务向rpc服务注册的端口信息。此时nfs服务还没有启动因此没有太多注册的端口映射信息。

lsof -i : 111

netstat -lntup | grep rpcbind

2.启动nfs服务:

systemctl start nfs

systemctl enable nfs

systemctl status nfs

rpcinfo -p localhost        //查看注册信息

[root@localhost ~]# ps -ef | egrep "rpc|nfs"
root        378      2  0 02:39 ?        00:00:00 [rpciod]
rpc        4873      1  0 04:08 ?        00:00:00 /sbin/rpcbind -w                      
rpcuser    5055      1  0 04:18 ?        00:00:00 /usr/sbin/rpc.statd --no-notify         //检查文件一致性
root       5056      1  0 04:18 ?        00:00:00 /usr/sbin/rpc.idmapd                    
root       5057      1  0 04:18 ?        00:00:00 /usr/sbin/rpc.mountd                    //权限管理验证
root       5062      2  0 04:18 ?        00:00:00 [nfsd4_callbacks]
root       5068      2  0 04:18 ?        00:00:00 [nfsd]
root       5069      2  0 04:18 ?        00:00:00 [nfsd]
root       5070      2  0 04:18 ?        00:00:00 [nfsd]
root       5071      2  0 04:18 ?        00:00:00 [nfsd]
root       5072      2  0 04:18 ?        00:00:00 [nfsd]
root       5073      2  0 04:18 ?        00:00:00 [nfsd]
root       5074      2  0 04:18 ?        00:00:00 [nfsd]
root       5075      2  0 04:18 ?        00:00:00 [nfsd]
root       5189   3406  0 04:27 pts/0    00:00:00 grep -E --color=auto rpc|nfs

  

NFS服务器启动的时候至少需要两个不同的进程,一个是管理nfs客户端是否可以登陆rpc。nfsd主进程,一个是管理nfs客户端是否能够登入的rpc.mountd进程。

如果需要管理磁盘配额,则还需要加载rpc.rquotad进程

nfs服务端说明:

配置nfs启动文件:

默认存放地点:/etc/exports          //存在但是没有内容,默认为空

exports配置文件格式:

nfs共享目录  nfs客户端地址1(参1,参2.....) 客户端地址2(参1,参2...)

说明:

nfs共享目录:为nfs服务器要共享的实际目录,绝对目录。注意权限问题。

nfs客户端地址:为nfs服务器授权可以访问的客户端的地址,可以是单独的ip地址或主机名,域名。也可以是整个网段。

授权整个网段:eg:10.0.0.0/24

文件配置实例说明:

1. /data 10.10.10.0/24(rw,sync)   //允许客户端读写,并且数据同步写到服务器端磁盘  注意:24与(之间不能有空格

2./data 10.10.10.0/24(rw,sync,all_squash,anonuid=2000,anongid=2000)//允许读写,并且数据同步到客户端磁盘,并且指定客户端的用户uid和pid

3./data 10.10.10.0/24(ro) //只读共享

rw读写权限

sync请求或写入数据时,数据同步写入到nfs server 的硬盘后才返回。

ro 只读权限

all_squash 不管是什么身份访问共享目录,权限都将被压缩成匿名用户。

                 1)确保所有客户端服务器对nfs共享目录具备相同的用户访问权限。

      2)就是anonuid,anongid指定的uid和gid的用户。

 nfs 服务端配置:

 mkdir -p /data                              //创建数据目录
touch /data/ffy.txt //创建测试文档
chown -R nfsnobody.nfsnobody /data
         //更改属组,nfsnobody.nfsnobody
ls -ld /data vim /etc/exports //编辑配置文件。
/data 192.168.232.0/24(rw,sync)

exportfs
-rv //加载配置文件
showmount
-e localhost //nfs服务器本地查看挂载情况。 mount -t nfs 192.168.232.140:/data /mnt //本地挂载配置
df -h

 

 

 nfs 客户端 配置:

    
 yum install rpcbind nfs-utils -y   //安装rpcbind与nfs 
 systemctl start rpcbind            //启动rpcbind,不启动nfs 为了使用showmount等功能。但客户端不用nfs功能
 showmount -e 192.168.232.140       //查看本地

 
mount -t nfs 192.168.232.140:/data /mnt  //执行挂载命令挂载到本机的/mnt目录下。 前面的ip地址是客户端的ip地址
df -h                                    //查看挂载,如果有,则挂载成功。

至此所有的安装成功。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM