架构师之路 - 存储架构

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 架构师之路 - 存储架构

架构师在做架构设计时一定绕不开存储的设计,本文我们一起来了解一下存储的相关知识。主要内容包括存储使用方式、常见协议、链接方式以及分布式存储架构中的典型架构案例。


存储分类


存储架构

从架构角度分类存储一般可以分为:集中式存储和分布式存储。

「集中式存储」的主要特点是能把所有数据保存在一个地方,各地办公室的远程终端通过电缆同中央计算机(主机)相联,保证了每个终端使用的都是同一信息。

集中式存储一般是商业的且比较昂贵。

「分布式存储」,是将数据分散存储在多台独立的设备上,采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

分布式存储一般结合管理软件自建。


存储使用方式

从使用者的角度对存储进行分类可以分为三类:块存储,文件存储,对象存储。

使用方式分类

「块存储:」 一般体现形式是卷或者硬盘,主要操作对象是磁盘,将裸磁盘空间整个映射给主机使用。在此种方式下操作系统需要对挂载的裸硬盘进行分区、格式化后,才能使用。块存储无法进行文件共享。

「文件存储:」 一般体现形式是目录和文件,数据以文件的方式存储和访问,按照目录结构进行组织。此种方式也需要挂载,挂载后为一个目录,可直接存取其中的文件;不需要格式化。

「对象存储:」 主要操作对象是对象Object,本质上是键值对存储系统,不需要挂载,直接通过应用接口访问。


存储协议

从协议角度分类存储可以分为NFS、CIFS、ISCSI协议。

「NFS (Network File System,网络文件系统)」 是当前主流异构平台共享文件系统之一,主要应用于Unix环境下。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件,使得每个计算机的节点能够像使用本地资源一样方便地使用网上资源。换言之,NFS 可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。「针对共享文件存储。」

「CIFS(Common Internet File System,公共互联网文件系统)」 主要应用在NT/Windows环境下,其工作原理是让CIFS协议运行于TCP/IP通信协议之上,让Unix计算机可以在网络邻居上被Windows计算机看到。「针对共享文件存储。」

「ISCSI (Internet SCSI/SCSI over IP)」 :主要应用在Windows环境下,适用于TCP/IP通讯协议,是通过TCP/IP网络传输文件时的文件组织格式和数据传输方式。「针对数据块存储。」


存储链接方式

从存储链接角度分类存储可以分为DAS、NAS、SAN三类。

「DAS(Direct Attached Storage):」

直接附加存储方式与我们普通的PC存储架构一样,外部存储设备都是直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分,任何客户端想要访问存储设备上的资源就必须要通过服务器。

DAS架构

「NAS(Network Attached Storage):」

在NAS存储结构中,存储系统不再通过I/O总线附属于某个特定的服务期或客户机,而是直接通过网络接口直接与网络相连,用户通过网络访问。NAS实际上是带有一个“瘦服务器”的存储设备,作用类似于一个专用的文件服务器,而不是传统通用服务器,去掉了大多数功能,仅仅提供文件系统功能,用于存储服务。

NAS架构

「SAN(Storage Area Network):」

SAN是一种以网络为中心的存储结构,不同于普通以太网,SAN是位于服务器的后端,为连接服务器、磁盘阵列、带库等存储设备而建立的高性能「专用网络(光纤通道)」

SAN 架构


主流存储厂商及产品

商业存储厂商有:EMC、NetApp、DELL、Huawei、曙光等

开源的存储产品有:

  • FastDFS(对象)
  • Swift(对象)
  • HDFS(对象)
  • Lustre(块)
  • GlusterFS(文件)
  • Ceph(块、文件、对象)

分布式存储架构


集中式存储一般使用商业软件且由厂家负责安装配置,我们这里主要讲一下分布式存储架构。

按照元数据的管理方式,存储架构可分为对称式和非对称式两种架构模式。

在对称式架构中每个节点的角色均等,共同管理和维护元数据,节点间通过高速网络进行信息同步和互斥锁等操作。(每台节点安装的组件一样)

而非对称式集群文件系统中,有专门的一个或者多个节点负责管理元数据,其他节点需要频繁与元数据节点通信以获取最新的元数据比如目录列表、文件属性等等。(元数据节点与存储节点分离)

接下来我们看看两种不同架构模式下的代表产品:FastDFS 和 swift。


FastDFS典型架构

FastDFS架构

FastDFS采用的是非对称架构,分为Tracker server和Storage server。

Tracker server作为中心结点,管理集群拓扑结构,其主要作用是负载均衡和调度。

Storage server 以卷为单位组织,一个卷内包含多台storage机器,每个卷中的服务器是镜像关系,数据互为备份,存储空间以卷内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费。


Swift典型架构

swift架构

Swift采用的是完全对称、面向资源的分布式系统架构设计,所有组件都可扩展。

Swift将整个存储分为三个层次:Account、Container 和 Object。


小结


本文给大家介绍了存储的相关知识,存储这一块的内容比较枯燥大家了解即可,重点需要关注分布式存储架构。


如果本文对你有帮助,别忘记给我个三连:点赞,转发,评论咱们下期见!

收藏 等于白嫖点赞 才是真情!

相关实践学习
基于EBS部署高性能的MySQL服务
如果您通常是通过ECS实例部署MySQL来使用数据库服务,您可以参考本实验操作来搭建高性能的MySQL服务。本实验为您演示如何通过EBS ESSD云盘部署一个高性能的MySQL服务。
目录
相关文章
|
2月前
|
敏捷开发 缓存 架构师
Apache 架构师总结的 30 条架构原则
Apache 架构师总结的 30 条架构原则
26 0
|
28天前
|
SQL 存储 分布式计算
Hive【基础 01】核心概念+体系架构+数据类型+内容格式+存储格式+内外部表(部分图片来源于网络)
【4月更文挑战第6天】Hive【基础 01】核心概念+体系架构+数据类型+内容格式+存储格式+内外部表(部分图片来源于网络)
35 1
|
1月前
|
机器学习/深度学习 人工智能 架构师
【架构师】AI时代架构师必备技能
【架构师】AI时代架构师必备技能
|
2月前
|
存储 Kubernetes 固态存储
IEEE HPCA 2024|LightPool:高性能、轻量级的存储池化架构
IEEE HPCA 2024|LightPool:高性能、轻量级的存储池化架构
|
2月前
|
存储 消息中间件 算法
深度思考:架构师必须掌握的五大类架构设计风格
数据流风格注重数据在组件间的流动,适合处理大量数据。调用返回风格则强调函数或方法的调用与返回,过程清晰明了。独立构件风格让每个构件独立运作,通过接口交互,提升灵活性和可重用性。虚拟机风格则模拟完整系统,实现资源的高效利用。
深度思考:架构师必须掌握的五大类架构设计风格
|
2月前
|
存储 监控 容灾
TiDB存储层深入:分布式存储架构与数据一致性保障
【2月更文挑战第26天】本文将深入探讨TiDB的存储层,详细解析其分布式存储架构、数据复制机制以及数据一致性保障措施。通过了解存储层的核心组件和工作原理,我们可以更好地理解TiDB如何确保数据的可靠性、高可用性和可扩展性。本文将从存储层的架构、数据分布、容错机制等方面展开介绍,帮助读者全面掌握TiDB存储层的关键技术和优势。
|
2月前
|
设计模式 架构师 前端开发
架构师进阶篇-什么是架构师
架构师进阶篇-什么是架构师
63 0
|
4天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
19小时前
|
负载均衡 JavaScript Java
构建高效微服务架构:后端开发的新视角
【5月更文挑战第13天】在现代软件开发中,微服务架构已经成为一种流行趋势。它通过将应用程序拆分为一组小型、独立的服务来提高可扩展性、弹性和可维护性。本文将探讨如何构建一个高效的微服务架构,包括选择合适的技术栈、设计良好的服务接口、确保数据一致性以及实现有效的服务发现和负载均衡。