NFS(网络文件系统)
功能:
- 通过案例说明
- 如下图,将某图片上传至电脑web01,通过搭建NFS,最终可以实现--->
- 在web01 web02 web03 NFS服务器 任意一台电脑对该图片的查看,修改,删除
- NFS是Network File System的缩写及网络文件系统。
- 主要功能
- 是通过局域网络让不同的主机系统之间可以共享文件或目录。
- NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网,
- 应用场景
- NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS,ceph
- 用户从本机查找某资料,本地磁盘无
- 转访问到NFS客户端,将请求转化为函数
- 客户端NFS通过TCP/IP连接服务端NFS
- NFS服务端接收请求,会先调用portmap进程进行端口映射
- 然后通过Rpc.nfsd进程: 验证客户端身份,即能否连接服务端
- 然后通过Rpc.mount进程: 判断客户端对服务端的有哪些操作权限
- 通过权限验证,对服务端文件进行对应权限的操作(增,删,改,查);无权限,给出提醒或报错
- vim /etc/exports
- 格式
- [磁盘路径] [可以访问的IP]([权限])
- 下图内容详解
- 磁盘路径
- /web/nfs1
- 可以访问的IP(来源见下面)
- 172.16.1.0/20
- 权限
- (rw,sync,all_squash,anonuid=666,anongid=666)
- 包含所有,复制即可
- 将NFS服务器的内网ip改为网段
- rw
- 读写权限
- sync
- 同时将数据写入内存和硬盘中,保证数据不丢失(常用)
- all_squash
- 当NFS客户端以任何账户访问时,均映射为NFS服务器的匿名用户(常用)
- anonuid
- 配合all_squash使用,指定NFS的用户UID(常用)
- anongid
- 配合all_squash使用,指定NFS的用户组GID(常用)
- ro
- 只读权限
- root_squash
- 当NFS客户端以ROOT管理员访问时,映射为NFS服务器的ROOT管理员(不常用)
- no_root_squash
- 当NFS客户端以普通用户访问时,映射为NFS服务器的匿名用户(不常用)
- no_all_squash
- 当NFS客户端以任何账户访问时,都不进行压缩(不常用)
- async
- 先将数据写入内存,然后再写入硬盘中,效率高,但是数据可能丢失(不常用)
- 在某客户端创建一个文件,如web01服务器
- 如 mkdir /web/nfs2
- vim /etc/exports
- 参照: 3 部署--->1-3 修改NFS服务端配置文件
- 实现从不同服务器网页上传图片后互相可以查看
- yum install -y lrzsz
- 将文件拖至客户端服务器(如web01)即可
- 解压文件
- unzip 文件名
- 用上边学的"部署NFS"实现
- tail -f /var/log/httpd/error_log
- 实时监控路径下最后十行日志
- ps 查看进程
- -e 显示所有进程
- -f 全格式显示