Ceph学习 - 2.分布式文件系统DFS

文章目录

  • 1.分布式文件系统DFS
    • 1.1 DFS简介
      • 1.1.1 存储基础
      • 1.1.2 分布式文件系统
      • 1.1.3 DSS简介
      • 1.1.4 常见的文件系统
    • 1.2 原理解读
      • 1.2.1 分布式数据存储
      • 1.2.2 存储角色
      • 1.2.3 数据高可用
    • 1.3 小结

1.分布式文件系统DFS

学习目标:这一节,我们从DFS简介、原理解读、小结三个方面来学习。

1.1 DFS简介

1.1.1 存储基础

存储处理能力不足:传统的IDE的io值是100次/秒,SATA固态磁盘500次/秒,NVMe固态硬盘达到2000-4000次/秒。即时磁盘的io能力再大数十倍,难道能够抗住网站访问高峰期数十万、数百万甚至上亿用户的同时访问吗?这还受到网络io能力的限制。
存储空间能力不足:单块磁盘的容量再大,也无法满足用户的正常访问所需的数量容量限制。需求:可以实现横向扩展的存储系统,这种存储系统在市面中的表现样式很多,不过他们有一个统一的称呼 -- 分布式存储系统。

1.1.2 分布式文件系统

随着传输技术发展,操作系统读写数据的方式,不再局限于本地I/O技术,开始支持远距离的TCP/IP方式获取数据。它相当于新增一种可以远距离传输的I/O技术,使得分散的存储设备和用户操作系统可以通过网络方式接入联合在一起,形成更大容量,更易于拓展伸缩的存储系统,对此人们引入分布式文件系统的概念。
分布式文件系统(Distributed File System, DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。分布式文件系统发展先后经历了三个阶段:- 网络文件系统- 共享SAN文件系统- 面向对象的并行文件系统
从本质上来说,分布式文件系统跟传统的文件系统没有本质的差别,只不过是需要额外考虑多节点网络连接的可靠性、接入的存储设备的复杂性,需要文件系统、网络环境、存储策略共同协作而已。由于文件系统与传统一致,网络环境不受控制,所以,我们平常所说的分布式文件系统,也等同于分布式存储系统。

1.1.3 DSS简介

分布式存储系统,是将数据分散存储在多台独立的设备上,从而解决传统的存储系统的容量和性能限制。所以如果存储服务器的可靠性和安全性无法满足大规模存储应用的需要,那么它就会成为分布式文件系统的性能瓶颈。
其实,分布式存储系统可以理解为多台单机存储系统的各司其职、协同合作,统一的对外提供存储的服务。
分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。按照分布式存储系统的作用场景,我们可以将其划分为:- 存储非结构化数据的分布式文件系统- 存储结构化数据的分布式数据库- 存储半结构化数据的分布式NoSQL数据库等。

1.1.4 常见的文件系统

项目原生客户端元数据服务本地文件系统纠删码NFS服务CIFS/SMB服务协议代理网关在线扩容
CephYESYESYESYESNONONOYES
GlusterYESNOYESYESYESNOYESYES
Ocean StoreYESYESYESUKUKUKYESYES
LustreYESYESYESYESNONOYESYES
QF2YESUKYESYESYESYESYESYES
TF2YESYESYESNONOUKYES
HDFSYESYESYESYESYESNOYESYES
FastDFSYESNONOUKNONONOYES

1.2 原理解读

1.2.1 分布式数据存储

在这里插入图片描述

1.2.2 存储角色

节点角色当我们将数据存储到分布式存储系统上的时候,就需要有一个路由机制,能够将我们的请求转交给对应的存储节点上。所以,根据我们对数据在单节点上的存储原理,我们就需要有一个单独的节点来存储所有数据的元数据信息,然后,分布式存储就作为block的存储区域,专门用于数据存储。存储元数据的节点我们把它称为NameNode,存储具体数据的节点我们称为DataNode。数据拆分当我们要存储的数据非常大,比如说5个G,所以我们在存储的时候,将存储的数据信息发送给元数据控制节点,然后元数据控制节点根据自定义的存储策略,将要存储的数据进行拆分(64M一块)--也就是数据切片,将切片后的数据作为一个独立的文件,然后基于同样的路由逻辑,将其分散存储到不同的存储节点上。元数据控制节点,在进行数据切分的时候,还需要能够组合起来,所以拆分后的数据块大小、组合时候的偏移信息、路由到的节点等信息都应该有针对性的记录。在切片的时候,还可以实现并行的存储逻辑效果。每一个数据块都称为一个shard。

1.2.3 数据高可用

元数据高可用由于NameNode保存了非常重要的数据信息,所以为了避免因为NameNode故障导致的问题,我们一定要对NameNode进行高可用处理。由于元数据非常小(几k),所以NameNode上的数据是非常密集而且io量非常小的。- 为了提高数据的查询和存储效率,我们一般将这些数据保存到内存中。- 为了防止主机断电导致数据丢失,我们需要随时的进行数据同步到磁盘中。- 因为没有办法判断每一次到底是哪种数据被访问或者更改,所以在磁盘数据同步的时候,随机io是非常大的。同时,为了避免单节点的数据文件丢失,我们需要通过共享存储的方式将数据保存在第三方的存储设备上,同时还需要对数据存储主机进行高可用。
数据高可用由于我们对存储的数据进行了数据切片的方式,实现了数据的高效率存取,但是我们知道,一旦这些数据块中,任意丢弃一块,就会导致所有的数据无法正常使用。所以有必要对这些数据进行高可用的操作。对于高可用的方式,我们一般会有两种方式来实现数据的冗余:- 节点级:通过对主机节点进行高可用,从而实现数据的冗余,这种机制,成本太高了,不值得。- 数据级:我们对拆分后的数据块进行副本操作,而且还可以根据节点的数量,自定义冗余的副本数量,这是推荐的。主角色的数据块称为primary shard,副本数据块称为replica shard。在进行数据块数据冗余的时候,这些副本的策略机制是由元数据节点来进行控制的,当一个DataNode故障的时候:- 如果主shard没有了,从所有的副本shard中选择一个主。- 如果副本shard没有了,再创建一个副本shard即可。- 一旦DataNode节点数量多于副本数量,控制副本数据在另一个DataNode节点上复制一个新的副本,从而保证副本的总体是满足预期的。为了防止数据副本节点在同一个物理机架上的时候,因为机架故障,导致所有副本无效,所以我们在考虑冗余的时候,还要考虑地理位置区域的冗余。

1.3 小结


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/597046.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ENSP防火墙配置内网NAT访问外网,内网发表web服务器

内网配置NAT访问外网 搭建拓扑 基础配置 cloud配置 配置防火墙web登录,配置web和设备命令行过期时间 Username:admin Password: // Admin123 The password needs to be changed. Change now? [Y/N]: Y Please enter old password: // Admin123 Please enter …

石油化工控制台定制厂家具备的专业条件一览

石油化工行业,作为国家的支柱产业之一,对设备与控制台的要求尤为严格。石油化工控制台是石油化工行业必不可少的办公设备之一。因此,选择一家专业的石油化工控制台定制厂家,对于提升企业的生产效率与安全水平具有不可估量的价值&a…

雷弗流体创新技术装备与您与您相约2024第13届生物发酵展

参展企业介绍 保定雷弗流体科技有限公司于2010年1月成立。为创新型企业,荣获国家级高新技术企业、国家级专精特新小巨人企业、河北省单项冠军企业、组织部巨人计划创业团队等荣誉称号。 保定雷弗流体科技有限公司现有职工180人,其中工程技术人员53人。现…

开发者关注的数据库技术与创新

开发者关注的数据库技术与创新 最近关注的数据库技术与创新有哪些对于未来数据库的演进有哪些思考开发者心目中最理想的数据库是什么样的 在引起对数据库话题的相关讨论之前,先来定位一下什么是数据库服务。那么什么是数据库服务呢?简单来说数据库服务的…

MFC扩展库BCGControlBar Pro v34.1 - 支持Windows 10/11字体图标

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v34.1已正式发布了,这个版本包含了对Windows 10/11字体图标的支持、功能区和…

微信聊天记录恢复只需简单3招,快速找回聊天内容!

各种社交软件早已深深融入我们的日常生活,无论是与亲朋好友的闲聊,还是与同事伙伴的工作沟通,都离不开它们的陪伴。然而,有时由于误操作、系统更新或手机故障等原因,我们可能会不小心删除了重要的聊天记录,…

【JavaWeb】Day36.MySQL概述——数据库设计-DDL(三)

查询 关于表结构的查询操作,工作中一般都是直接基于图形化界面操作。 1.查询当前数据库所有表 2.查看指定表结构 3.查询指定表的建表语句 注意:23版的点击导航中的转到DDL 修改 关于表结构的修改操作,一般也是直接基于图形化界面操作。 添…

力扣1047. 删除字符串中的所有相邻重复项

思路:消消乐的感觉,就先想到栈;用一个栈存放遍历过的元素,和遍历中的下一个元素相比,相同则出栈,不同则入栈,最终栈内剩余的就是不相同的元素。 class Solution {public String removeDuplicat…

同一局域网内,如何ping通另一台电脑

有两条电脑,一台是我的,一台是我室友的。 使用手机的热点。 两台电脑同时连接我的手机的热点。 通过ipconfig查看信息: 我的电脑: IPv4 地址 . . . . . . . . . . . . : 192.168.92.79 子网掩码 . . . . . . . . . . . . …

WPS二次开发系列:WPS SDK实现文档打印功能

在办公场景或者家教场景中经常碰到需要对文档进行打印的能力,今天给大家带来一篇如何通过WPS SDK调用WPS打印接口实现文档打印能力 最终实现效果图 实现步骤 2.1. 申请集成资料 通过向WPS官方发送邮件申请,审批通过后即可获取集成相关资料,详…

为什么PCA(Principal Component Analysis)中的协方差矩阵只能衡量变量之间的线性相关性,而不能衡量非线性关系?

PCA(Principal Component Analysis,主成分分析)是一种广泛应用于数据分析和机器学习的技术,主要用于数据降维和特征提取。在PCA中,协方差矩阵起着核心作用,它描述了数据集中不同特征(变量&#…

买什么样的护眼落地灯比较好?五款优质护眼大路灯推荐

作为一名电器研究员,我对大路灯这类的照明工具非常熟悉,身边的朋友也经常会向我咨询买什么样的护眼落地灯比较好?使用优质的的大路灯能缓解平时不良光线带来的疲劳和酸痛,但最近很多人说用了入手了一下品质不佳的大路灯,导致出现眼睛干涩、酸痛等现象。所…