NFS简介
NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。
NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS,ceph
NFS应用
1.用户访问NFS客户端,将请求转化为函数
2.NFS通过TCP/IP连接服务端
3.NFS服务端接收请求,会先调用portmap进程进行端口映射
4.Rpc.nfsd进程用于判断NFS客户端能否连接服务端
5.Rpc.mount进程用于判断客户端对服务端的操作权限
6.如果通过权限验证,可以对服务端进行操作,修改或读取
NFS配置参数
1.控制读写的参数
rw:读写权限(常用)
ro:只读权限(不常用)
2.控制文件权限的参数
root_squash:当NFS客户端以root管理员身份访问是,映射为NSF服务器的匿名用户(不常用)。
no_root_squash:当NFS客户端以root管理员身份访问是,映射为NSF服务器的root管理员(不常用)。
all_squash:无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 (常用)。
no_all_squash:无论NFS客户端使用什么账户访问,都无需映射 (不常用)。
3.控制写模式
sync:同时将数据写入到内存与硬盘中,保证不丢失数据 (常用)。
async:优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 (不常用)。
4.控制用户
anonuid:配置all_squash使用,指定NFS的用户UID,必须存在系统 (常用)。
anongid:配置all_squash使用,指定NFS的用户GID,必须存在系统 (常用)。
配置NFS
服务端
1.安装NFS和rpcbind
首先需要现在服务端安装nfs和rpcbind服务。
2.创建挂载点
使用nfs需要服务端能有挂载点挂载到客户端去,因此需要创建。
3.配置挂载点
为挂载点配置参数
格式:
[挂载点] [可以访问的ip]([权限])
4.关闭selinux和防火墙
5.启动NFS和rpcbind服务
6.检查服务端是否正常
在启动后检测一下配置文件是否有问题。
7.给挂载点授权
配置文件会将用户改为匿名用户nfsnobody,因此需要给挂载点授权。
客户端
1.安装NFS
想要使用NFS服务客户端也需要安装NFS服务。
2.创建挂载目录
创建一个将挂载点挂载上去的目录
3.挂载NFS
将NFS挂载点挂载到文件夹
4.测试
在客户端中创建一个文件会自动同步到服务端去
统一用户
为了防止非root用户无法操作nfs文件的情况,需要在客户端和服务端都创建一个专门的用户。
1.创建用户
2.修改挂载点权限
修改服务端的挂载点权限
3.修改配置文件
修改服务端的配置文件,指定用户的uid和gid
实现文件共享
搭建web服务
1.安装web软件
首先先安装web软件
2.将代码放置在网站的根目录并解压
3.为文件目录授权
4.关闭防火墙和selinux
5.修改web软件的用户
6.启动web软件
7.测试
上传
访问
配合NFS实现文件共享
1.修改NFS配置文件
2.创建挂载点并给予权限
根据配置文件的内容创建挂载点并给予权限
3.重启NFS
重启NFS使配置文件生效
4.在客户端挂载
5.用其他的客户端尝试访问