带你读《存储漫谈Ceph原理与实践》第一章分布式存储概述1.1存储系统的架构演进(一)

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 《存储漫谈Ceph原理与实践》第一章分布式存储概述1.1存储系统的架构演进…

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

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

第一阶段:从离散化到集中化的演进(从DASSAN/NAS

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

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

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

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

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

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

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

 image.png

 

1-1OAS、SAN、NAS使用方式示意

 

 

SAN是一种专门为存储建立的独立于 TCP/IP 数据网络之外的专用网络,连接服务器和磁盘阵列设备,提供高速的数据传输,存储设备在服务器侧以块存储设备形式展现。目前常见的SANIP-SANFC-SANFC是指FibreChannel,光纤通道,其中IP-SAN

通过TCP协议转发SCSI  SmallComputerSystemInterface,小型计算机系统接口协议,

FC-SAN通过光纤通道协议转发SCSI协议(采用光纤接口,可以提供更高的带宽SAN的结构允许任何服务器连接到任何存储阵列,不管数据放置在哪里,服务器都可以直接存取所需的数据,这样的方式也便于系统的统一管理以及集中控制。成本与复杂性是SAN储架构较为明显的缺陷。

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

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

SAN/NAS    解决方案的出现,实现了存储系统集中化建设及统一化管理的诉求,为规模化的数据中心基础设施建设提供了便捷途径。数据中心建设过程中不可避免地会出现采购规范多元化、设备型号多样化的情况,存储设备的兼容性问题、异构硬件的统一性问题会给企业的数据运维带来棘手的挑战。存储虚拟化技术应运而生,其核心思想是将资源的逻辑映像与物理存储分开,通过存储系统或存储服务内部功能进行抽象、隐藏和隔离,屏蔽不同物理设备的异构属性,实现数据服务与物理硬件的独立管理,如图1-2所示。

image.png

1-2 存储虚拟化示意

 

 

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

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

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

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


1.1.1   集中式存储系统

传统的存储也称为集中式存储,从概念上可以看出其架构具有集中性,也就是整个存储是集中在一个系统中的。但集中式存储并不一定只是一台单独的设备,也可以是集中在一套系统当中的多个设备,如图1-3中的 SAN 存储方案就使用了几个机柜来存放数据。

在集中式存储系统中包含很多组件,如机头(控制器、磁盘阵列(JBOD、交换机以及管理设备等,如图 1-4所示。

集中式存储系统中最为核心的部件是机头,机头中的控制器实现了集中式存储系统中绝大多数的高级功能,如对磁盘的管理、将磁盘抽象化为存储资源池、划分逻辑单元号

LogicalUnitNumberLUN)给客户端使用等,通常机头中包含两个控制器,互为主备,避免硬件故障导致整个存储系统的不可用。机头中包含前端端口以及后端端口,前端端口   对外连接,提供存储服务,后端端口为机头连接更多的存储设备,形成更大的存储资源池,扩充存储系统的容量。

机头作为集中式存储系统的统一入口,其处理能力及扩展能力决定了系统整体的定位,通常集中式存储系统只能提供有限的存储系统纵向扩展(scaleup1能力,很难满足存储系统横向扩展(scaleout2的需求。通常情况下,可以通过scaleup 方式来扩展单台服务器的性能,满足业务的需求;一旦遇到服务器性能的瓶颈上限后,就需要转而求助于scaleout方式来进一步满足要求。

 

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

2scaleout(横向扩展)指企业可以根据需求增加不同的服务器应用,依靠多台服务器协同运算,并通过负载平衡以及容错等功能来提高运算能力及可靠度。

 

image.png

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

image.png                        

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

 

相关实践学习
使用DAS实现数据库自动扩容和回缩
暂无
相关文章
|
1天前
|
消息中间件 安全 NoSQL
布谷直播系统源码开发实战:从架构设计到性能优化
作为山东布谷科技的一名技术研发人员,我参与了多个直播系统平台从0到1的开发和搭建,也见证了直播行业从萌芽到爆发的全过程。今天,我想从研发角度,分享一些直播系统软件开发的经验和心得,希望能对大家有所帮助。
|
1天前
|
存储 消息中间件 缓存
支持百万人超大群聊的Web端IM架构设计与实践
本文将回顾实现一个支持百万人超大群聊的Web端IM架构时遇到的技术挑战和解决思路,内容包括:通信方案选型、消息存储、消息有序性、消息可靠性、未读数统计。希望能带给你启发。
12 0
支持百万人超大群聊的Web端IM架构设计与实践
|
2天前
|
人工智能 运维 Cloud Native
2025年国内工单系统推荐:技术架构、场景适配与行业实践
分析了智能化升级、大数据驱动、云原生架构及全渠道融合四大技术趋势,从功能适配性、易用性、集成能力、安全性和性价比五个维度指导企业选型,并推荐合力亿捷等三家系统的优劣对比,结合电商和制造行业的实际案例,帮助企业提升客户服务水平与竞争力。
29 11
2025年国内工单系统推荐:技术架构、场景适配与行业实践
|
3天前
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。
|
12天前
|
消息中间件 人工智能 自然语言处理
基于 RocketMQ 事件驱动架构的 AI 应用实践
基于 RocketMQ 事件驱动架构的 AI 应用实践
|
14天前
|
监控 Cloud Native Java
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
|
15天前
【YashanDB 知识库】如何排查 YMP 报错:”OCI 版本为空或 OCI 的架构和本地系统的架构不符“
**问题现象**:迁移预检查时,因OCI版本为空或架构不符报错。通过查看yasdts日志发现缺少libnsl.so.1依赖库。 **排查步骤**: 1. 查看日志确认缺少的依赖库。 2. 检查OCI客户端路径是否已加入LD_LIBRARY_PATH环境变量。 3. 使用`ldd`命令检查其他缺失的依赖库。 **解决方法**: 1. 下载并安装所需的动态库版本。 2. 若无法联网,查找本地是否有相应库。 3. 如本地有高版本库,创建软链接指向所需版本(如`ln -s /lib64/libnsl.so.2 libnsl.so.1`)。
|
16天前
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
|
16天前
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
16天前
【YashanDB 知识库】如何排查 YMP 报错:”OCI 版本为空或 OCI 的架构和本地系统的架构不符“
在迁移预检查的版本检查阶段报错“OCI 版本为空”,原因是 OCI 架构与本地系统不符或依赖库缺失。排查发现 `libdrv_oracle.so` 缺少 `libnsl.so.1` 库,尽管 OCI 客户端路径已正确加入 `LD_LIBRARY_PATH`。解决方法包括下载安装相应动态库版本,或通过软链接指向更高版本库(如 `libnsl.so.2`)。总结:确保动态库路径正确配置,并使用 `ldd` 查看依赖库,必要时创建软链接以解决问题。

热门文章

最新文章