一、NFS简介
NFS,全称 Network File System ,网络文件系统。
NFS允许网络中的计算机之间通过网络共享资源。将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样。
特点:
-
采用TCP/IP传输网络文件
-
安全性低
-
简单易操作
-
适合局域网环境
二、NFS原理
NFS本身的服务并没有提供数据传递的协议,而是通过使用RPC(远程过程调用 Remote Procedure Call)来实现。 当NFS启动后,会随机的使用一些端口,NFS就会向RPC去注册这些端口。RPC就会记录下这些端口,RPC会开启111端口。通过client端和sever端端口的连接来进行数据的传输。在启动nfs之前,首先要确保rpc服务启动(这两项服务都是系统自带的)。
三、NFS相关文件及命令
1.相关文件
/etc/exports:这是一个我们需要手写的文件,该文件存在但为空,需要我们进行配置
exports文件内容解析:
/share *(rw)
/share:我们想要分享的文件(绝对路径)
*:允许访问的主机,*为所有,也可以是一个网段或具体IP地址,多个网段或IP用空格隔开
(rw):权限
权限属性:
ro:只读
rw:读写
sync:同步,数据同步写到内存与硬盘中
async:异步,数据先暂存内存
root_squash:将root用户映射为来宾账号
no_root_squash:有root的权限,不建议使用
all_squash:全部映射为来宾账号
2.相关命令
1.exportfs命令(用于服务端):
-a:跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统;
-r: 重新导出
-u: 取消导出
-v: 显示详细信息
2.showmount命令(用于客户端):
showmount -e server_ip: 查看NFS服务端共享的文件系统
showmount -a server_ip: 查看NFS服务端所有被挂载的文件系统及其挂载的客户端对应关系列表
showmount -d server_ip: 显示NFS服务端所有导出的文件系统中被客户端挂载了文件系统列表
3.mount命令(用于客户端):
mount server_ip:分享的目录 客户端挂载点
四、实验
-
服务端创建共享目录t添加文件并修改exports文件
-
开启rpcbind和nfs服务
-
exportfs -v,查看详细信息
-
客户端 showmount -e server_ip
-
将共享目录挂载并查看
-
客户端写入共享目录
-
大功告成
-
永久挂载(客户端)
(注:永久挂载需要注意的问题就是,必须服务端先开机,且nfs服务开机自启后,客户端才能开机;如果服务端没开机,客户端上的fstab文件是开机加载的,它会找不到共享的文件夹,从而导致设备起不来,报 ctrl + d 的错误)