分布式文件存储
1 常见专业术语
1.1 备份技术
出于数据恢复的目的而创建的一份额外的数据副本
分类:直接连接备份,网络连接备份, 脱局域网备份,脱服务器备份
在线备份,离线备份,近线备份
①冷备份
冷备份在执行操作时,服务器不再接受来自用户或应用对数据的更新,解决了在备份复制进行时,并发更新的问题。冷备份时间过长,服务器不再接受任何更新操作
②热备份
用户和应用正在更新数据时,系统也可以进行备份,存在完整性问题;每一个文件或数据库实体都需要作为一个完整的,一致的版本进行备份
③文件级备份
文件级备份: 使用服务器操作系统和文件系统来备份文件 优点是很容易恢复某个或某些特定的文件,在进行备份时,操作系统和应用程序可以继续访问文件,但是所需时间较长,比如备份大量的小文推荐,操作系统和文件及目录元数据的访问开销很高,"打开文件"的备份无法解决
④块级备份
映像级备份,完全绕过文件和文件系统,将数据作为裸磁盘块,从磁盘上直接读取数据,不关心有多少文件,也不深入道文件内部,按块在磁盘上的次序读取,而不是在文件中的次序,所以不会因为读取有大量分片的文件数据时因寻道而导致的性能下降。块级备份通常有内建的即时快照支持,可以从根本上解决 "打开文件"问题, 通过执行特殊的操作将运行着的应用程序和它们在服务器内存中的数据进入一致状态,冲刷到磁盘,然后做一个快照,备份过程从快照而不是实际卷上读取改变的数据块,备份完成后删除快照
⑤双活
主备数据中心之间一般有热备、冷备、双活三种备份方式。
热备的情况下,只有主数据中心承担用户的业务,在不停机情况下对主数据中心进行备份。
冷备的情况下,也是只有主数据中心承担业务,在停机情况下对主数据中心进行备份。
双活是觉得备用数据中心只做备份太浪费了,所以让主备两个数据中心都同时承担用户的业务,此时,主备两个数据中心互为备份,并且进行实时备份。一般来说,主数据中心的负载可能会多一些,比如分担60~70%的业务,备数据中心只分担40%~30%的业务 。
⑥两地三中心
两地 = 本地 + 异地
三中心 = 本地中心 + 本地容灾中心 +异地备份中心
1.2 快照技术
快照技术是一种在存储系统中创建数据备份的方法。它可以记录存储设备上特定时间点的数据状态,并且能够在需要时恢复到该时间点的状态。快照技术通过记录数据的变化,而不是复制整个数据集,来实现高效的备份和恢复操作。快照技术可以帮助用户在发生数据丢失、数据损坏或其他故障时,快速恢复到之前的数据状态。
1.3 连续数据保护技术
连续数据保护技术是一种数据备份和恢复的方法,它通过实时记录数据的变化来提供更加精确和及时的数据保护。与传统的周期性备份不同,连续数据保护技术可以在
每次数据变化时立即备份数据
,从而减少数据丢失的风险。连续数据保护技术通常使用增量备份的方式来记录数据的变化,并且可以提供灵活的恢复点选择,使用户可以选择任意时间点进行数据恢复。
1.4 RAID技术
RAID(Redundant Array of Independent Disks 磁盘阵列)技术是一种通过将多个独立的硬盘组合起来,以提供更高的数据可靠性和性能的存储技术。RAID技术通过将数据分布在多个硬盘上,并使用冗余校验信息来保护数据的完整性。不同的RAID级别提供不同的数据保护和性能特性,例如RAID 0提供了高性能但没有冗余保护,RAID 1提供了数据冗余但没有性
1.5 多路径技术
多路径技术是一种在存储系统中使用多个独立的路径来提供更高的可靠性和性能的方法。多路径技术可以通过使用多个网络连接、多个存储控制器或多个存储设备来实现。
当一个路径发生故障时,多路径技术可以自动切换到另一个可用的路径,从而保证存储系统的连续性和可用性
。多路径技术还可以通过同时使用多个路径来提高存储系统的性能,例如通过并行传输数据或负载均衡来提供更高的吞吐量和响应性能。
1.6 虚拟化技术
虚拟化技术是一种将物理资源抽象为虚拟资源的方法,以提供更高的资源利用率和灵活性。在存储领域,
虚拟化技术可以将多个物理存储设备组合成一个逻辑存储池,并为用户提供统一的存储接口
。虚拟化技术可以隐藏底层存储设备的细节,使用户可以更方便地管理和使用存储资源。虚拟化技术还可以提供诸如快照、克隆、压缩、去重等高级功能,以提高存储效率和数据管理的灵活性。
1.7 数据复制与容灾
1.7.1 恢复时间目标(RTO,最大容忍服务停滞时间)
恢复时间目标(RTO: Recovery Time Objective),其以应用为出发点,即应用的恢复时间目标,主要指的是所能容忍的应用停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。RTO是反映业务恢复及时性的指标,表示业务从中断到恢复正常所需的时间。RTO的值越小,代表容灾系统的数据恢复能力越强;
1.7.2 恢复点目标(RPO,最大容忍数据丢失量)
恢复点目标(RPO: Recovery Point Objective),RPO是反映恢复数据完整性的指标,其以数据为出发点,主要指的是业务系统所能容忍的数据丢失量
1.7.3 主动/被动与双活
①主动/被动:
- 数据备份的一种方式,数据主要存储在主数据中心中,备用数据中心只是在主数据中心出现故障或停机的时候起到备份的作用。而在主数据中心出现故障的期间,备用数据中心并不会被用于实时的数据访问或应用使用。
②双活:两个数据中心承担业务。
- 双活是觉得备用数据中心只做备份太浪费了,所以让主备两个数据中心都同时承担用户的业务,此时,主备两个数据中心互为备份,并且进行实时备份。一般来说,主数据中心的负载可能会多一些,比如分担6070%的业务,备数据中心只分担40%30%的业务 。
【转】一张秒懂的单机、集群、热备、硬盘阵列
2 常见的分布式文件系统
2.1 GFS(Google File System)
Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。GFS是一个为Google内部设计的大数据分布式存储框架,由2003年Google发表的论文提出,遗憾的是Google并没有将其开源,但是基于GFS的设计理念,诞生了很多优秀的开源类GFS文件系统。
2.2 HDFS(Hadoop Distributed File System)
HDFS是Hadoop(Apache开源项目)的专用文件系统, Hadoop是一个大数据计算框架,它允许使用简单的编程模型跨计算机集群分布式处理大型数据集,是Google发表的MapReduce算法的实现,HDFS是GFS的开源实现。
2.3 Ceph
Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统,并使用Ceph完成了他的论文。Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。与其它分布式文件系统相比,ceph 性能最高,因为其使用C++编写而成。 由于 ceph 使用 btrfs 文件系统, 而btrfs 文件系统需要 Linux 2.6.34 以上的内核才支持。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生产环境,经过十几年的发展,Ceph已经趋向于成熟。
2.4 Lustre
Lustre是一个开源、分布式并行文件系统软件平台,具有高可扩展、高性能、高可用等特点。Lustre的构造目标是为大规模计算系统提供一个全局一致的POSIX兼容的命名空间,这些计算系统包括了世界上包含最强大的高性能计算系统。它支持数百PB数据存储空间,支持数百GB/s乃至数TB/s并发聚合带宽。
2.5 GridFS
GridFS 是MongDB的分布式存储系统,用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片、音频、视频等)。GridFS 也是文件存储的一种方式,但是它是存储在MonoDB的集合中。GridFS 可以更好的存储大于16M的文件。GridFS 会将大文件对象分割成多个小的chunk(文件片段),一般为256k/个,每个chunk将作为MongoDB的一个文档(document)被存储在chunks集合中。GridFS 用两个集合来存储一个文件:fs.files与fs.chunks。每个文件的实际内容被存在chunks(二进制数据)中,和文件有关的meta数据(filename,content_type,还有用户自定义的属性)将会被存在files集合中。
2.6 MogileFS
MogileFS是一个开源的分布式文件存储系统,是由LiveJournal旗下的Danga Interactive公司开发。目前使用MogileFS的公司非常多,如日本排名先前的几个互联公司以及国内的Yupoo(又拍)、digg、豆瓣、大众点评、搜狗等,分别为所在的组织或公司管理着海量的图片。以大众点评为例,用户全部图片均有MogileFS存储,数据量已经达到500TB以上
2.7 FastDFS(Fast Distributed File System)
FastDFS是一个开源的分布式文件系统,由纯C编写,性能很高。她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
2.8 TFS(Taobao File System)
TFS是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。
参考文章:https://blog.csdn.net/qq_37862148/article/details/113999206