带你读《存储漫谈:Ceph原理与实践》——1.1.1 集中式存储系统

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 带你读《存储漫谈:Ceph原理与实践》——1.1.1 集中式存储系统

第一篇  理  论  篇

第1章 分布式存储概述


1.1 存储系统的架构演进

云计算与大数据技术的发展,推动存储系统架构的持续演进,存储系统从最原始的基于主机的架构逐步向网络化、虚拟化方向发展,存储系统更加关注性能、效率、灵活性、安全性的提升,而这些特性都需要好的存储架构来满足。

粗略分类,存储架构的演进可以划分为以下两个阶段。

第一阶段:从离散化到集中化的演进(从 DAS 到 SAN/NAS)。

互联网发展初期,存储需求相对简单,数据规模较小,存储系统架构以存储介质直连服务器(Direct-Attached Storage,DAS)为主,存储介质直接挂载到服务器的总线上来提供数据访问服务,数据存储设备与服务器是一种“同生共死”的状态。

这种方式可以简洁地解决数据的存储需求,但也存在着较为明显的弊端。

服务器之间的存储系统形成“孤岛”,限制数据的共享访问;

随着 CPU 处理能力逐步增强,SCSI 连接通道会成为 I/O 的瓶颈,制约性能发挥;

随着数据量增长,存储的安全性(备份 / 恢复需求)、扩展性问题日益凸显。

基于以上症结,存储区域网络(Storage Area Network,SAN)架构以及网络附属存储(Network Attached Storage,NAS)架构应运而生。

图 1-1 展示了 DAS、SAN、NAS 使用方式的差异。

image.png

图 1-1 DAS、SAN、NAS 使用方式示意

SAN 是一种专门为存储建立的独立于 TCP/IP 数据网络之外的专用网络,连接服务器和磁盘阵列设备,提供高速的数据传输,存储设备在服务器侧以块存储设备形式展现。目前常见的 SAN 有 IP-SAN 和 FC-SAN(FC 是指 Fibre Channel,光纤通道),其中 IP-SAN通过 TCP 协议转发 SCSI(Small Computer System Interface,小型计算机系统接口)协议,FC-SAN 通过光纤通道协议转发 SCSI 协议(采用光纤接口,可以提供更高的带宽)。SAN的结构允许任何服务器连接到任何存储阵列,不管数据放置在哪里,服务器都可以直接存取所需的数据,这样的方式也便于系统的统一管理以及集中控制。成本与复杂性是 SAN 存储架构较为明显的缺陷。

NAS 是连接在网络上具备数据存储功能的装置,因此也称为“网络存储器”,可提供跨平台文件共享功能。NAS 以数据为中心,将存储设备与服务器彻底分离,集中管理数据,存储设备在服务器侧以文件系统形式展现。NAS 本身能够支持多种协议(如 NFS、CIFS、FTP、HTTP 等),而且能够支持各种操作系统。NAS 数据存储适用于需要通过网络将文件数据传送到多台客户机上进行访问的用户,可以提供高效的文件共享服务。NAS 的缺点也较为明显,扩展性受到设备大小的限制,且只能提供文件级访问,无法满足 block 级应用的使用需求。

第二阶段:从集中化到虚拟化的演进(从 SAN/NAS 到分布式存储系统)。

SAN/NAS 解决方案的出现,实现了存储系统集中化建设及统一化管理的诉求,为规模化的数据中心基础设施建设提供了便捷途径。数据中心建设过程中不可避免地会出现采购规范多元化、设备型号多样化的情况,存储设备的兼容性问题、异构硬件的统一性问题会给企业的数据运维带来棘手的挑战。

存储虚拟化技术应运而生,其核心思想是将资源的逻辑映像与物理存储分开,通过存储系统或存储服务内部功能进行抽象、隐藏和隔离,屏蔽不同物理设备的异构属性,实现数据服务与物理硬件的独立管理,如图 1-2 所示。

image.png

图 1-2 存储虚拟化示意

分布式存储系统是存储虚拟化技术的常见展现形式,分布式存储系统将数据分散存储在多台独立的设备上,并对外提供统一的存储服务。分布式存储系统具有高度的可伸缩性以及可扩展性,具有强大的数据访问性能,且对标准化硬件支持更好,允许大规模存储系统可以通过相对低廉的成本进行建设与运维。

抛开存储系统架构演进的萌芽阶段的方案(DAS 存储方案),可以将存储系统架构分为传统的集中式存储系统以及新兴的分布式存储系统两大类,二者有较大的差异,表现在:

◆ 传统的存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要;

◆ 分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负载,利用索引定位数据存储位置信息,不但提高了存储系统的可靠性、可用性以及数据存取效率,还更易于扩展。

1.1.1  集中式存储系统


传统的存储也称为集中式存储,从概念上可以看出其架构具有集中性,也就是整个存储是集中在一个系统中的。但集中式存储并不一定只是一台单独的设备,也可以是集中在一套系统当中的多个设备,如图 1-3 中的 SAN 存储方案就使用了几个机柜来存放数据。在集中式存储系统中包含很多组件,如机头(控制器)、磁盘阵列(JBOD)、交换机以及管理设备等,如图 1-4 所示。

集中式存储系统中最为核心的部件是机头,机头中的控制器实现了集中式存储系统中绝大多数的高级功能,如对磁盘的管理、将磁盘抽象化为存储资源池、划分逻辑单元号(Logical Unit Number,LUN)给客户端使用等,通常机头中包含两个控制器,互为主备,避免硬件故障导致整个存储系统的不可用。机头中包含前端端口以及后端端口,前端端口对外连接,提供存储服务,后端端口为机头连接更多的存储设备,形成更大的存储资源池,扩充存储系统的容量。

机头作为集中式存储系统的统一入口,其处理能力及扩展能力决定了系统整体的定位,通常集中式存储系统只能提供有限的存储系统纵向扩展(scale up)1 能力,很难满足存储系统横向扩展(scale out)2 的需求。通常情况下,可以通过 scale up 方式来扩展单台服务协同运算,并通过负载平衡以及容错等功能来提高运算能力及可靠度。器的性能,满足业务的需求;一旦遇到服务器性能的瓶颈上限后,就需要转而求助于 scale out 方式来进一步满足要求。

1 scale up(纵向扩展)指企业大型服务器通过增加处理器等运算资源进行升级以获得对应用性能的要求。

2 scale out(横向扩展)指企业可以根据需求增加不同的服务器应用,依靠多台服务器

image.png

图 1-3 集中式存储系统示例

image.png

图 1-4 集中式存储系统组件示意

相关实践学习
使用DAS实现数据库自动扩容和回缩
暂无
相关文章
|
3月前
|
存储 缓存 前端开发
Django 后端架构开发:存储层调优策略解析
Django 后端架构开发:存储层调优策略解析
53 2
|
4天前
|
SQL Java 数据库连接
Mybatis架构原理和机制,图文详解版,超详细!
MyBatis 是 Java 生态中非常著名的一款 ORM 框架,在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架。本文详细解析了MyBatis的架构原理与机制,帮助读者全面提升对MyBatis的理解和应用能力。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Mybatis架构原理和机制,图文详解版,超详细!
|
18天前
|
开发者 容器
Flutter&鸿蒙next 布局架构原理详解
本文详细介绍了 Flutter 中的主要布局方式,包括 Row、Column、Stack、Container、ListView 和 GridView 等布局组件的架构原理及使用场景。通过了解这些布局 Widget 的基本概念、关键属性和布局原理,开发者可以更高效地构建复杂的用户界面。此外,文章还提供了布局优化技巧,帮助提升应用性能。
78 4
|
18天前
|
存储 Dart 前端开发
flutter鸿蒙版本mvvm架构思想原理
在Flutter中实现MVVM架构,旨在将UI与业务逻辑分离,提升代码可维护性和可读性。本文介绍了MVVM的整体架构,包括Model、View和ViewModel的职责,以及各文件的详细实现。通过`main.dart`、`CounterViewModel.dart`、`MyHomePage.dart`和`Model.dart`的具体代码,展示了如何使用Provider进行状态管理,实现数据绑定和响应式设计。MVVM架构的分离关注点、数据绑定和可维护性特点,使得开发更加高效和整洁。
146 3
|
30天前
|
容器
Flutter&鸿蒙next 布局架构原理详解
Flutter&鸿蒙next 布局架构原理详解
|
1月前
|
存储 监控 分布式数据库
百亿级存储架构: ElasticSearch+HBase 海量存储架构与实现
本文介绍了百亿级数据存储架构的设计与实现,重点探讨了ElasticSearch和HBase的结合使用。通过ElasticSearch实现快速检索,HBase实现海量数据存储,解决了大规模数据的高效存储与查询问题。文章详细讲解了数据统一接入、元数据管理、数据一致性及平台监控等关键模块的设计思路和技术细节,帮助读者理解和掌握构建高性能数据存储系统的方法。
百亿级存储架构: ElasticSearch+HBase 海量存储架构与实现
|
1月前
|
前端开发 Java 应用服务中间件
21张图解析Tomcat运行原理与架构全貌
【10月更文挑战第2天】本文通过21张图详细解析了Tomcat的运行原理与架构。Tomcat作为Java Web开发中最流行的Web服务器之一,其架构设计精妙。文章首先介绍了Tomcat的基本组件:Connector(连接器)负责网络通信,Container(容器)处理业务逻辑。连接器内部包括EndPoint、Processor和Adapter等组件,分别处理通信、协议解析和请求封装。容器采用多级结构(Engine、Host、Context、Wrapper),并通过Mapper组件进行请求路由。文章还探讨了Tomcat的生命周期管理、启动与停止机制,并通过源码分析展示了请求处理流程。
|
1月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
53 3
|
1月前
|
消息中间件 分布式计算 druid
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
38 2
|
1月前
|
消息中间件 监控 Java
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
65 1