NFS(网络文件系统)+NFS实验

NFS网络文件系统)

 

1.概述:

  • NFS(Network File System,网络文件系统),是一种分布式文件系统,允许网络中不同操作系统的计算机间共享文件,其通信协议基于TCP/IP协议,可以将远程的计算机磁盘挂载到本地,读写文件像本地磁盘一样操作。
  • NFS在文件传送或信息传递过程中依赖于RPC(Remote Procedure Call,远程过程调用)协议。RPC协议可以在不同的系统间使用,此通信协议设计与主机及操作系统无关。
  • 使用NFS时,客户端只需要使用mount命令就可以把远程文件系统挂载到自己的文件系统之下,操作远程文件如使用本地计算机上的文件一样。
  • NFS基于C/S结构,其本身可以认为是RPC的一个程序,只要用到NFS的地方都要启动RPC服务,不论是服务端还是客户端,NFS是一个文件系统,而RPC负责信息的传输。
 

2.工作流程:

(1)NFS工作流程:

       当NFS启动后,会随机的使用一些端口,NFS就会向RPC去注册这些端口,此时RPC就会记录下这些端口,RPC会开启111端口。通过Client端和Sever端端口的连接来进行数据的传输。在启动NFS之前,首先要确保RPC服务启动。
 

(2)NFS协议模型:

 

(3)RPC协议模型:

 

3.NFS服务配置实验:

(1)NFS相关包和工具:

  • nfs-utils:NFS的主要组件,包含有rpc.nfsd以及rpc.mountd这两个核心守护进程组件
  • nfsstat:显示NFS的状态统计信息
  • exportfs:在NFS服务端,维护NFS共享资源的命令
  • showmount:在NFS客户端,查看服务器共享的资源
  • rpcinfo:显示由RPC维护的端口映射,显示已经注册的RPC服务列表
  • rpcbind:提供RPC的端口映射的守护进程及相关文件、执行文件等

(2)NFS相关服务安装:

1.安装NFS服务:
[root@localhost ~]# yum install -y nfs-utils     #包含一些基本的NFS命令与控制脚本
……安装过程省略……     #安装nfs-utils的时候centos7默认安装了rpcbind,这是一个管理RPC的连接程序,负责信息传输

2.查看nfs-utils安装包的相关文件:
[root@localhost ~]# rpm -ql nfs-utils
/etc/exports.d     #主配置文件
/usr/lib/systemd/system/nfs.service     #配置单元
/usr/sbin/rpc.mountd     #RPC守护进程
/usr/sbin/rpc.nfsd     #NFS守护进程

(3)NFS服务端配置:

1)主配置文件:/etc/exports

格式: 共享文件 [主机表1[参数项....]] [主机表2[参数项....]]
参数项:控制共享目录的访问权限,用户映射等等
  • ro:只读
  • rw:读写
  • root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
  • no_root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
  • all_squash:无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
  • sync:同时将数据写入到内存与硬盘中,保证不丢失数据
  • async:优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

2)exportfs命令:管理NFS服务器共享的文件系统,当配置了/etc/exportfs文件后,可以使用exportfs命令直接使其生效

         格式: export [参数] [目录]
         常用参数:  
  • -a:全部挂载或卸载/etc/exportfs文件中的设置
  • -r:重新挂载
  • -u:卸载共享目录
  • -v:显示共享目录
1.在NFS服务器上建立用于NFS文件共享的目录,并设置足够的权限确保其他人也有写入权限:
[root@localhost ~]# mkdir /nfsfile/
[root@localhost ~]# chmod -Rf 777 /nfsfile/
[root@localhost ~]# echo "Hello World" > /nfsfile/readme

2.配置/etc/exports主配置文件:
[root@localhost ~]# vim /etc/exports
/nfsfile 192.168.32.0/24(rw,sync,no_root_squash)     #NFS客户端地址与权限之间没有空格

3.先重启RPC再重启NFS服务,并加入开机自启:
[root@localhost ~]# systemctl restart rpcbind
[root@localhost ~]# systemctl restart nfs-server
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable nfs-server
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@localhost ~]# ss -tanl | grep -E "111|2049|20048"     #检查端口
LISTEN     0      128          *:111                      *:*                  
LISTEN     0      128          *:20048                    *:*                  
LISTEN     0      64           *:2049                     *:*                  
LISTEN     0      128         :::111                     :::*             
LISTEN     0      128         :::20048                   :::*              
LISTEN     0      64          :::2049                    :::*

(4)NFS客户端配置:

1)showmount命令:在NFS客户端,查看服务器共享的资源

       格式: showmount [参数]
       常用参数:
  • -a:显示本地挂载的文件资源的情况
  • -d:仅显示已被NFS客户端挂载的目录
  • -e:显示NFS服务端上所有的共享目录

2)NFS文件系统的挂/卸载:

  • mount -t nfs [-o 参数] NFS服务端地址:/共享目录 /本地挂载点
  • umount /本地挂载点

3)开机启动时自动挂载/etc/fstab文件:

  • NFS服务端地址:/共享目录 /本地挂载点 nfs defaults 0 0
1.安装NFS服务:
[root@localhost ~]# yum install -y nfs-utils     #包含一些基本的NFS命令与控制脚本
……安装过程省略……     #安装nfs-utils的时候centos7默认安装了rpcbind,这是一个管理RPC的连接程序,负责信息传输

2.查询NFS服务器的远程共享信息:
[root@localhost ~]# showmount -e 192.168.32.143     #客户端使用showmount命令前需要先安装nfs-utils包
Export list for 192.168.32.143:
/nfsfile 192.168.32.0/24

3.挂载NFS文件系统:
[root@localhost ~]# mkdir /mnt/nfsfile
[root@localhost ~]# mount ‐t nfs 192.168.32.143:/nfsfile /mnt/nfsfile

注意:卸载NFS文件系统
[root@localhost ~]# umount /mnt/nfsfile
umount.nfs4: /mnt/nfsfile: device is busy
[root@localhost ~]# umount -l /mnt/nfsfile     #在该目录空闲后再umount

4.永久生效NFS文件共享服务:
[root@localhost ~]# vim /etc/fstab
192.168.32.143:/nfsfile /mnt/nfsfile nfs defaults 0 0

 

 
 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值