分布式存储基础 一、集群文件系统 1、特点 多台计算机 对所有存储空间进行资源整合,并对外提供文件系统 通过某种协议通信 2、集群文件系统分类 按照存储空间访问方式: 共享存储型集群文件系统:识别同样的存储空间,共同管理文件系统 解决方案:Veritas的VxFS/VCS,昆腾Stornext,中科蓝鲸BWFS,EMC的MPFS 分布式存储型集群文件系统:各自提供存储空间,协调管理所有的存储空间 解决方案:HDFS、Gluster、Ceph、Swift 按照管理元数据的方式: 对称式集群文件系统:分布式元数据管理架构则将元数据分散在多个结点上 非对称式集群文件系统:元数据管理架构采用单一的元数据服务器,存在单点故障。单个或者多个节点管理元数据 注:对于集群文件系统:其可以是分布式+对称式、分布式+非对称式、共享式+对称式、共享式+非对称式,两两任意组合 CAP理论导致分布式文件系统实现成本变的很复杂 网络存储系统将数据存放在单一的服务器上,因为单台服务器称为性能瓶颈。分布式存储系统将数据放在多台服务器, 增强了数据的可靠性、可用性、安全性,而且易于扩展。 二、分布式文件存储解决方案 MooseFS[MFS] HDFS *GlusterFS *Ceph *Sheepdog Swift TFS FastDFS astDFS是阿里巴巴开源的一套轻量级,天生就是分布式设计的文件系统,FastDFS的源代码由C语言开发,目前可运行在Linux, FreeBSD,Unix等类操作系统上,FastDFS解决了大数据量文件存储(这里经常有人说成大数据,我本人是不赞同的)和读写分离, 备份容错,负载均衡,动态扩容等问题,这也就是原作者所描述的高性能和高扩展性的文件系统。适合存储4KB~500MB之间的小 文件,如图片网站、短视频网站、文档、app下载站等。 MooseFS mofilefs fastdfs hadoop Hadoop 实现了一个分布式文件系统,主要用于大数据计算存储,简称HDFS。 Hadoop是Apache Lucene创始人Doug Cutting开发 的使用广泛的文本搜索库。它起源于Apache Nutch,后者是一个开源的网络搜索引擎,本身也是Luene项目的一部分。Aapche Hadoop架构是MapReduce算法的一种开源应用,是Google开创其帝国的重要基石。 GFS(Google File System) 三、专业名词 分布式存储系统(Distributed Storage System) 四、考虑因素 一致性、可用性、分区容错性 对于分布式系统,不能同时满足一致性、可用性、分区容错性,CAP理论。 =================================================================================================================== 分布式存储和分布式文件系统 1、数据和元数据存储问题? 文件在存储级别表现为数据流,不提供文件系统功能 分布式存储系统提供文件功能 2、分布式存储 对象存储:也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他扩展 块存储:这种接口通常以QEMU Driver或者KernelModule的方式存在,这种接口需要实现Linux的Block Device的接口或者 QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青云的云硬盘和阿里云的盘古系统,还有Ceph的RBD (RBD是Ceph面向块存储的接口)。 分布式文件系统:通常意义是支持POSIX接口,它跟传统的文件系统如Ext4是一个类型的,但区别在于分布式存储提供了并 行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存储的接口),但是有时候又会把GFS,HDFS这种非 POSIX接口的类文件存储接口归入此类。 ===================================================================================================================