文章目录
一、前言:文件系统的概述
① API
- 应用程序编程接口,是一些预先定义的接口,或指软件系统或指软件系统不同组成部分衔接的约定
- 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节
- 只要调用 API ,就能使用,例如 cd、ls 等命令。
**FS:**文件系统
② 文件系统的组成
- 文件系统接口(API)
- 管理对象的软件集合(可以对一些文件、目录等,对这些资源进行管理)
- 对象及属性(管理的数据及属性,每个文件都有对应的 inode 号)
③ 文件系统的作用
- 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统
- 简单点说的说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取等这些工作。对文件的具体管理,文件可以是文件、目录或符号文件(软硬链接),对这样的对象和数据进行存、读、改等具体操作
④ 文件系统的挂载使用
- 除跟文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问
- 挂载点即分区设备文件关联的某个目录文件
- 类比 NFS(外部的文件系统),使用挂载的方式才可以让本地系统来使用外部的文件系统的功能
- 例如:配置永久挂载时,我们会写入挂载点与挂载目录,还有文件系统的名称(xfs),文件类型格式等。我们在远程跨服务器使用 GFS 分布式文件系统,挂载时也需要指定其文件格式(GlusterFS)
二、详解:GlusterFS/GFS 分布式文件系统
① GFS 的概述
- GFS(Gluster File System) 是一个可扩展、开源的分布式文件系统(可以很好的体现出弹性伸缩的特点),用于大型的、分布式的、对大量数据进行访问的应用
- 在传统的解决方案中,GFS 能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储
- GFS 由三个组件组成:
- 存储服务器(Brick Server)
- 客户端(不在本地)(且,有客户端,也会有服务端,这点类似于 NFS,但是更为复杂)
- 存储网关(NFS/Samaba)
- 无元数据服务器
- 元数据是核心,描述对象的信息,影响其属性
- 例如NFS,存放数据本身,是一个典型的元数据服务器可能存在单点故障,故要求服务器性能较高,服务器一旦出现故障就会导致数据丢失
- 反过来看,所以无元数据服务不会有单点故障
- 那么数据存放在哪里呢?会借用分布式的原则,分散存储,不会有一个统一的数据服务器