NFS网络共享文件共享

Posted on 2020-09-09 17:53  四月春雨  阅读(238)  评论(0)    收藏  举报

1.安装软件

 服务端:yum install  -y   nfs-utils  rpcbind

记住要先启动rpcbind systemctl  start   rpcbind   在启动nfs-utils  systemctl  start  nfs-utils   

客户端:安装一般只需要安装rpcbind服务就可以,但是为了后面用到的showmount命令查看挂在情况最好也安装一下nfs-utils

2.配置

此时可以用rpcinfo  -p localhost 查看到注册的端口信息

创建挂在目录 /data  修改属主和属组为指定用户    

打开server端的配置文件   vim /etc/exports    

/data 192.168.108.0/24 (rw,sync,all_squash,anongid=nfsnobody.anonuid=nfsnobody)

含义:就是客户端要挂载过来就会被转换为nfsnobody的指定uid和gid来并且拥有读写的权限。sync表示I/O方式为同步处理,即把数据同步写入磁盘。

客户端进行挂载

mount -t  nfs  192.168.108.31:/data   /mnt    -t 挂在文件系统为nfs

可以用showmount -e  192.168.108.31  可以查看nfs-server的输出目录

实现开机挂在的两种方式 

  1.将挂在命令写入 /etc/rc.local  实现开机自动挂在

  2.在 /etc/fstab  里面 写入 172.16.1.31:/data /mnt nfs defaults 0 0      defaults是指定 -o 后面的参数  默认即可  第一个0是dump备份设置当其设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作 第二个0表示fsck磁盘检查设置当其为0时,永远不检查;而/根目录分区永远都为1,其他分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。

注:利用 /etc/fatab实现开机自动挂载需要设置remote-fs.target 服务开机自启。

 

要实现多个客户端挂在一台服务端时,应该将他们需要挂载的目录属主修改为server端相同的属主。

mount  -o常用参数

挂载的性能优化参数

mount  -o  noatime,nodiratime  折两个参数是所在读写磁盘的时候不更新文件和目录是的时间戳,即不更新文件系统中对应的inode信息,这样可以提升读取和写入磁盘的效率。

mount  -o wsize=131072,rsize=131072  设定了sever和client之间往来的数据块的大小 ,wsize和rsize的大小最好是1024的倍数  通过提升这两个参数的值可以提升访问挂载文件的性能和效率

安全挂载参数

mount -o  noexec  在挂载文件系统中不允许直接执行任何二进制的程序

mount -0 nosuid 不允许 set-user-identifier or set-group-identifier 为生效   

设置了这两个参数后无法执行程序,只可以作为数据的存取只用,大大加强了客户端的安全性。例如:很多木马篡改站点文件都是由上传入口上传的程序到存储目录,然后执行。

最后别忘了rpc的原理面试可能会问到:NFS本身并没有提供数据传递的协议,但是NFS却能让我们访问提供文件,这其中的原因就是NFS使用了到了一些其他的传输协议,而这传输协议就是rpc功能,在进行远程联机时服务的端口需要管理与之对应,rpc功能通转发NFS的端口信息到客户端实现数据的传递。

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3