当前位置:
文档之家› 1+X证书 智能计算平台应用开发【高级】第4章 数据存储(4.3 分布式文件系统)V1.0
1+X证书 智能计算平台应用开发【高级】第4章 数据存储(4.3 分布式文件系统)V1.0
第7页
常用的分布式文件系统工具——易用性
Lustre文件系统组成部分
元数据服务器MDS(MetadataServer); 对象存储服务器OSS(Object Storage Server); 客户端(Lustre Client)。
第8页
常用的分布式文件系统工具——易用性
CephFS
Ceph文件系统(CephFS)是一个兼容POSIX的文件系统,利用Ceph存储集群保存用户数据。 Linux内核驱动程序支持CephFS,使得CephFS高度适用于各大Linux操作系统发行版。 CephFS将数据和元数据分开存储,为上层的应用程序提供较高的性能以及可靠性。在
可靠性方面
NameNode只有一个,一旦失效,将导致整个文件系统无法对外提供服务。
DataNode数量众多,即使失效导致所存储数据块无法使用,NameNode仍会通知客户 端访问该数据块所在的其他DataNode,使系统继续正常运行,所以HDFS的可用性是 由NameNode的可用性决定的。
Ceph集群内部,Ceph文件系统库(libcephfs)运行在RADOS库(librados)之上,后者是 Ceph存储集群协议,由文件、块和对象存储共用。
第9页
常用的分布式文件系统工具——易用性
如果使用CephFS,那么集群节点上最少需要配置一个Ceph元数据服务器(MDS)。
需要注意的是,单一的MDS服务将成为Ceph文件系统的单点故障。 在MDS配置后,客户端可以采用多种方式使用CephFS。
第20页
常用的分布式文件系统工具——易用性
分散式架构
GlusterFS采用了分散式管理的方式,其所有元数据和文件数据通过一个分布式哈希表的 机制遍布整个集群,节点之间通过定时的网络通信相互告知运行状态。
采用分散式架构的分布式文件系统通常由客户端确定文件位置,所有客户端共享一个统 一的哈希算法,通过计算哈希值得到目标文件的位置,然后去对应的节点访问具体的文 件数据。
第5页
常用的分布式文件系统工具——易用性
为了优化特定场景下的应用, 不同的分布式文件系统有着 各自的设计侧重点,最终导 致了它们的不同特性。
第6页
目前被广泛使用且具有代表性的分布式文件系统
• GFS • HDFS • FastdFs • Alluxio(原名Tachyon) • CephFS • Lustre • GlusterFS • …….
GlusterFS是Scale-Out(横向扩展)存储解决方案Gluster的核心,具有强大的横向扩展能力, 通过扩展能够支持数PB存储容量和处理数千客户端。
GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,并使用单 一全局命名空间来管理数据。
第2页
常用的分布式文件系统工具——可扩展性
分布式文件系统能够很好地适应大规模的分布式环境。为了实现对海量文件数 据的管理和维护,分布式文件系统通常利用多个存储节点分散文件数据。目前, 一个具有良好可扩展性的分布式文件系统己经能够顺利运行在拥有数百个甚至 上千个节点的集群环境中。
此外,分布式文件系统的可扩展性还包括支持动态地新増或者剔除一个或多个 存储节点,并借此达到动态扩容、缩容和平衡负载的目的。
第23页
常用的分布式文件系统工具——易用性
CephFS、HDFS和FastdFS的容错方式 CephFS、HDFS和FastdFS都使用了多副本的方式进行数据的容错,通常情况下一份文件数据
会被复制存放在2~3个数据存储节点中,以此降低因节点崩溃而导致数据丢失的风险。
GlusterFS的容错方式
GlusterFS将传统的基于磁盘的RAID容错机制扩展到了分布式环境下,在GlusterFS中,每个 节点上存储的数据被视为一个数据卷(Volume),在这些数据卷之间通过网络构造了一个 RAID环境,达到数据容错的效果。
HDFS的所有元数据及系统运行状态由NameNode(元数据节点)管理,由多节点 的DataNode(数据存储节点)存放具体的文件数据。
第19页
常用的分布式文件系统工具——易用性
部分分布式文件系统(如HDFS、CephFS、Lustre、FastdFS)还支持了一种“多点集中式” 的管理方式。
一个CephFS/HDFS集群中能够拥有多个MDS/NameNode,避免大规模并发访问时 的单点瓶颈,同时也提高了整个系统的容错能力。
多副本
多副本
基于网络的 由存储节点上的RAID1或
RAID(磁盘阵 RAID5/6提供容错。假如存 多副本
列)
储节点失效,则数据不可用
第16页
常用的分布式文件系统工具——易用性
整体架构
整体架构即分布式文件系统以何种架构方式管理整个系统。 集中式和分散式是分布式系统中两个常用的架构方式。
第17页
第18页
常用的分布式文件系统工具——易用性
集中式架构
在所列举的分布式文件系统中,Alluxio、CephFS、HDFS、Lustre和FastdFS都采用了集中式 管理的方式,具体表现为主从式的架构。 例如,CephFS使用元数据服务器(MetaData Server,MDS)管理所有元数据及整 个系统的状态,具体的文件数据分散存储在各个节点的对象存储设备(Object Storage Device,OSD)中。
分布式框架往往都是直接从分布式文件系统中读写数据,效率比较低,性能消耗比较大。
第12页
常用的分布式文件系统工具——易用性
Alluxio介于计算框架(如Apache Spark、Apache MapReduce、Apache HBase、Apache Hive、Apache Flink)和现有的存储系统(如Amazon S3、OpenStack Swift、GlusterFS、 HDFS、MaprFS、Ceph、NFS、OSS)之间,以文件的形式在内存中对外提供读写访问服 务,为大数据软件栈带来了显著的性能提升。
连接Alluxio即可访问存储在底层任意存储系统中的数据。 此外,Alluxio的以内存为中心的架构使得数据的访问速度比现有常规方案的访问速度快几
个数量级。
第11页
常用的分布式文件系统工具——易用性
大数据领域
最底层的是分布式文件系统,如Amazon S3、Apache HDFS等。 较高层的应用则是一些分布式计算框架,如Spark、MapReduce、HBase、Flink等,这些
第4章 数据存储
第0页
目录
1. 分布式存储系统 2. 分布式数据库 3. 分布式文件系统
第1页
分布式文件系统
分布式文件系统一般对用户和上层应用提供一个统一的文件操作接口,上层应用能够 通过类似操作单机文件系统的方式,在分布式文件系统中进行文件和目录的増加、删 除、修改、查询等操作。
不同分布式文件系统在设计之初总是面向一个特定的问题,或是更方便用户的使用、 或是为计算框架做特定的优化、或是为了解决之前分布式文件系统中的缺陷等。因此, 不同的分布式文件系统会具有不同的设计方案、系统架构和性能特性。
第14页
常用的分布式文件系统工具——易用性
GlusterFS文件系统组成部分
存储服务器(Brick Server); 客户端; NFS/Samba存储网关。
GlusterFS架构中没有元数据服务器组件,这是其最大的设计特点,对于提升整个系统 的性能、可靠性和稳定性都有着决定性的意义。
第15页
常用的分布式文件系统工具——易用性
第24页
常用的分布式文件系统工具——易用性
Alluxio的容错方式 Alluxio同时使用了世系关系(Linearge)和备份(Checkpoint)的方式保证数据可靠性,首
先通过备份避免因节点故障而导致的数据丢失,然后通过记录文件之间的世系关系,在文 件丢失时进行重计算,恢复丢失的数据。 此外,对于整个系统,Alluxio会自动重启失效的数据存储节点。
几种典型分布式文件系统比较
名称
Alluxio
CephFS
HDFS
GlusterFS
Lustre
FastdFS
整体架构 存储介质
集中式
集中式/多点 集中式/多点
集中式
集中式
分散式
以内存为中 心,多层次
基于硬盘
基于硬盘
基于硬盘
集中式/多点集中式 基于硬盘
集中式/多点 集中式
基于硬盘
容错方式世系关系, 多备份来自第22页常用的分布式文件系统工具——易用性
容错方式
分布式文件系统如何保证数据的可靠性。 故障容忍和错误恢复机制一直是系统研究领域的重点,分布式文件系统也不例外。多副本
和备份机制是分布式文件系统中常见的容错方式,其实现原理简单,不容易产生二次故障 (即在错误恢复的过程中再次出错),能够达到很好的容错效果。
第3页
常用的分布式文件系统工具——可靠性
分布式文件系统提供可靠的文件存储和管理服务,用户无须担心数据的丢失。 一个分布式文件系统的运行规模越大,其发生故障的概率就越高,可能同时面
临多个节点崩溃的情况。 因此,不同的分布式文件系统都具有各自的容错机制,首先需要尽可能地降低
发生故障的概率,其次需要做到自动检测故障的发生,并且能够及时恢复因故 障而丢失的文件数据。
如果需要把Ceph挂载成文件系统,那么客户端可以使用本地Linux内核的功能或者使用 Ceph社区提供的ceph-fuse(用户空间文件系统)驱动。CephFS可以用来替代HDFS。
第10页
常用的分布式文件系统工具——易用性
Alluxio
Alluxio(之前名为Tachyon)是一个以内存为中心的虚拟的分布式存储系统。 Alluxio统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁,应用只需要