NFS共享存储-day4

一、什么是nfs

是network file system 的缩写,网络文件系统,NFS共享存储

二、nfs的功能

通过 局域网络 ,实现不同主机系统之间的目录共享

三、nfs解决的问题

1.解决了多台web静态资源的共享(所有客户端都挂在服务端,看到的数据都一样)
2.解决了多台web静态资源的一致性(如果客户端A删除NFS服务上的test的文件one.txt,那客户端B也会看不到文件one.txt)
3.解决了多台web磁盘空间的浪费
4.能够快速迭代web服务器的代码

四、nfs注意事项

1.增加nfs会增加资源访问的延时
2.建议使用cdn,来加快对静态资源的访问速度,缓存节点,就近访问

五、nfs服务的实现

  • 实现原理
    1.NFS客户端执行增、删等操作,客户端会使用不同的函数对该操作进行封装。
    2.NFS客户端会通过TCP/IP的方式传递给NFS服务端。
    3.NFS服务端接收到请求后,会先调用portmap进程进行端口映射。
    4.nfsd进程用于判断NFS客户端是否拥有权限连接NFS服务端。
    5.Rpc.mount进程判断客户端是否有对应的权限进行验证。
    6.idmap进程实现用户映射和压缩。
    7.最后NFS服务端会将客户端的函数转换为本地能执行的命令,然后将命令传递至内核,由内核驱动硬件。
NO.1:服务端

1.安装

[root@nfs ~]# yum install rpcbind nfs-utils -y
注意:rpc是一个远程过程调用,那么使用nfs必须有rpc服务

2.对配置文件进行配置

#在配置文件中添加如下内容
[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash)

配置文件中内容的语法格式

服务端共享的目录 允许连接NFS服务端的网段(共享参数)

nfs共享参数 含义
rw 读写权限
ro 只读权限
sync 同时将数据写入到内存和硬盘中,保证数据不丢失
async 优先将数据保存到内存,然后再写入硬盘;效率更高,但数据可能会丢失
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)
no_all_squash 无论NFS客户端是用什么账户访问,都不进行压缩(kvm热迁移)
all_squash 无论客户端是用什么账户访问,均映射为NFS服务器的匿名用户
anonuid=数值 配置all_squash使用,指定NFS的用户UID,必须系统存在
anongid=数值 配置all_squash使用,指定NFS的组GID,必须系统存在

3.根据配置文件创建共享目录

[root@nfs ~]# mkdir /data
#系统默认的匿名用户是 nfsnobody ,更改共享目录属主和属组
[root@nfs ~]# chown -R nfsnoboy.nfsnobody /data

4.启动服务

[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs    #设定为开机自启

小结
①对于共享参数中,指定UID和GID,服务端需要创建对应ID号的用户主和用户组。
②为了避免程序在操作NFS时,权限会出现错误,客户端也需要创建与nfs存储压缩的用户的相同用户

NO.2:客户端

1.安装软件包

[root@web01 ~]# yum install nfs-utils -y

2.检查服务端共享的目录详情

[root@web01 ~]# showmount -e 172.16.1.31

3.挂载共享目录到客户端的本地

[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
临时挂载

4.检查是否已经挂载成功

[root@web01 ~]# df -h |grep mnt

六、NFS存储总结

优点:
1.简单易用、方便部署、数据可靠、服务稳定、满足中小企业需求。
2.NFS的数据都在文件系统上,所有数据都能看得见。

局限性:
1.不支持集群,高可用实现复杂。
2.NFS数据都是明文的,数据不需要校验,也没有密码验证(内网使用good)。

应用建议
1.将静态数据尽可能放置CDN节点,较少后端存储压力。
2.如果没有缓存、架构或代码等,本身历史遗留问题太大,在多存储也没意义。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NFS网络文件共享服务 NFS介绍 NFS是Network File System的缩写,中文意思是网络文件系统....
    childhood_1013阅读 680评论 0 1
  • 第1章 存储与nfs存储概述 1.为什么用共享存储2.存储有哪些工具3.共享存储应用场景有哪些4.部署nfs共享存...
    吃可爱长大鸭阅读 787评论 0 0
  • nfs大纲 1.nfs是干什么1.什么是NFS,NFS是Network File System的缩写及网络文件系统...
    优秀砖阅读 3,320评论 0 0
  • 第1章 存储与nfs存储概述 1.为什么用共享存储2.存储有哪些工具3.共享存储应用场景有哪些4.部署nfs共享存...
    被运维耽误的厨子阅读 2,382评论 0 6
  • 第1章 存储与nfs存储概述 1.为什么用共享存储2.存储有哪些工具3.共享存储应用场景有哪些4.部署nfs共享存...
    吖吖坚阅读 1,768评论 0 0