文件系统(FS)简介
1、文件系统组成
- 文件系统接口
- 对对像管理的软件集合
- 对象及属性
2、文件系统作用 - 系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
- 具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取
3、文件系统的挂戟使用:
除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个日录文件
类比: NFS
4、GlusterFS简介 - 开源的分布式文件系统
- 由存储服务器、客户端以及NFS/Samba存储网关组成
- 无元数据服务器
5、GlusterFS特点 - 扩展性和高性能 : 分布式特点
- 高可用性
- 全局统─命名空间
- 弹性卷管理
- 基于标准协议
GlusterFS分布式文件系统
1、GFS是由三部分组成(组件)
- 存储服务器
- 客户端
- NES/ Samba存储网关组l成
客户端的定位比较重要
因为他是无元数据服务器的
PS:元数据服务器的作用:存储元数据,帮用户定位文件的位置、索引等信息
有元数据服务器文件系统中,如果元数据损坏,会直接导致文件系统不可用(单点故障-服务器定位)
2、GFS的架构
- 存储服务器,存储节点信息
- 分布式如何定位文件定位索引?对此,客户端是一个很关键的组件
GFs提供了一个全局统一命名空间
此命名空间提供了一个API,此API是用户访问GFs服务器中数据的唯一入口
弹性卷管理:AtD (基于容错、读写性能等技术)可以在分布式文件系统之上可以使用RAID卷的集中管理 - 基于标准协议:客户端和存储服务器交互需要借助网络,而相关的网络协议包括rcP/IP协议
3、GFS 专业术语
brick存储服务器:实际存储用户数据的服务器
volune本地文件系统的“分区”
FUSE :用户空间的文件系统(类比EXT4),"这是一个伪文件系统”
以本地文件系统为例,用户想要读写一个文件,会借助于EXT4文件系统,然后把数据写在磁盘上而如果是远端的GFS,客户端的请求则应该交给FUSE(为文件系统),就可以实现跨界点存储在GFS上
FUSE(用户空间的文件系统)伪文件系统用户端的交互模块
VES(虚拟端口):内核态的虚拟文件系统,用户是先提交请求交给VFs 然后VFS交给FUSE再交给GFS客户端,最后由客户端交给远端的存储 - 小结:使用GFS 会使用到以上的虚拟文件系统
glusterd(服务)是运行在存储节点的进程
客户端运行的是gluster client
整个GFS之间的交互是由Gluster client和glusterd完成的(GFS使用过程)
GlusterFS模块化 堆栈式结构
1、模块化
类似linux编译安装
很多功能都可以做定制的,通常都是通过软件开发的方式封装为模块,按需使用/不适用
GlusterFS也是这个思想把功能封装为一个个模块
通过加载/调用/启用的方式就可以对应的功能
堆栈式架构设计:
通过对|模块不同功能的组合来实现复杂功能
2、VFS
虚拟的内核文件系统,通过VFs的API接受请求、处理请求(场景:根据请求,加载以下模块)
I/o cache: I/O缓存
read ahead :内核文件预读
distribute/l stripe:分布式、条带卷
通过加载以上三个模块,然后联和多个client端,组成所需要的例如:分布式卷、条带卷等