点击上方“朱小厮的博客”,选择“设为星标”

后台回复"书",获取

后台回复“k8s”,可领取k8s资料

背景

本文主要对杨传辉(日照)《大规模分布式存储系统原理解析与架构实战》、大话存储、网络资源(具体参考文末链接)及个人理解进行整理,意在构建出存储发展基本轨迹和一些基本常识,让更多像我一样的初入者有个宏观上的认知。

存储发展史

从单机到互联网,存储作为的基础设施,主要发展都是围绕构建 低成本、高性能、可扩展、易用的目标进行演进,时至今日,在形态上存储分为单机存储、集中存储、分布式存储、云存储、云原生存储

各阶段存储的基本形态如下

各阶段基本形态

存储数据分类 & 模型

无论单机存储、分布式存储、云存储都是基于特定应用场景下,对指定数据类型构建对应的存储数据模型

数据分类

数据模型

存储类型

常见三种存储类型:块存储、文件存储、对象存储

块存储

基于Block块的存储模式,两种常见存储方式:

  • DAS(Direct Attch Storage), 直连主机存储方式

  • SAN (Storage Area Netowrk),高速网络链接主机存储方式

文件存储

依附网络提供文件存储服务

对象存储

构建于键值存储,核心是将数据通路(data)和控制通路(meta)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,对外以RSETful API形式服务

单机存储

基本概念

单机存储系统是单机存储引擎(数据结构在机械磁盘、SSD等持久化介质上的实现)的一种封装,对外提供文件、键值、表格或者关系模型的存储服务。

存储引擎

存储引擎是存储系统的发动机,决定了存储系统能够提供的功能和性能, 提供功能包含:

  • 增加(Create)

  • 读取(Retrieve),随机读取和顺序扫描

  • 更新(Update)

  • 删除(Delete)

引擎间差异如下:

集中式存储

基本概念

集中式存储相对与单机存储而言,存储系统中包含了更多组件,除了机头(控制器)、磁盘阵列(JBOD)和交换机等设备外,还有管理设备等辅助设备。

参考:集中式存储的基本逻辑示意图

系统构成

  • 机头,整个存储系统的核心部件,通常由控制器、前后端口组成,

  • 控制器,通常有二,实现互备高可用,控制器中的软件实现对磁盘的管理,将磁盘抽象化为存储资源池,然后划分为LUN提供给服务器使用。

  • 前后端口,前端端口用户为服务器提供存储服务,后端端口用于扩充存储系统的容量(连接更多的存储设备)

  • 磁盘柜(Just a Bound Of Disk , JBOD),磁盘挂在服务器外的专用柜里,有独立电源、散热、接口等,内部线缆相连(SCSI),对机头后端端口统一挂载

分布式存储

基本概念

分布式存储系统,是将分散独立的存储设备通过网络互联,系统关联,对外作为一个整体提供存储服务。

系统分类

  • 分布式文件系统

  • 分布式键值系统

  • 分布式表格系统

  • 分布式数据库

设计原则

  • 参考CAP

云存储

基本概念

云存储,是一种云计算领域存储服务方式,底层构建在分布式存储基础之上,上层通过Internet形式提供存储服务,除具备分布式存储基础特性外,更兼具灵活性,通常由云厂商提供

参考产品

云原生存储

基本概念

云原生存储脱胎于云存储,除具备云存储的特性外、须满足具备云原生生态系统中其他所有组件具备相同的动态(公共云/专有云/混合云等场景)构建可扩展应用、S3 API 驱动、K8S友好等

参考示例

Rook

CNCF首个云原生存储项目Rook,是将文件、数据块和对象存储系统引入到Kubernetes集群,与其他正在使用存储的应用程序和服务一起无缝运行。通过这种方式,云原生集群可以在公有云和本地部署中自给自足并且具备可移植性。该项目的开发目的是使企业能够通过动态应用编排,为在本地和公有云环境中运行的分布式存储系统实现数据中心现代化。

Rook Architecure

Ceph Rook integrates with Kubernetes

MinIO

MinIO是一款高性能、软件定义的,对象存储套件,帮助客户构建云原生数据基础设施。可与 Kubernetes 集成,允许操作员使用 Kubernetes 界面管理存储,而 Kubernetes 可以处理从存储提供到卷放置的所有事务。

想知道更多?描下面的二维码关注我

后台回复"技术",加入技术群

后台回复“k8s”,可领取k8s资料

【精彩推荐】

  • 原创|OpenAPI标准规范

  • 中台不是万能药,关于中台的思考和尝试

  • ClickHouse到底是什么?为什么如此牛逼!

  • 原来ElasticSearch还可以这么理解

  • 面试官:InnoDB中一棵B+树可以存放多少行数据?

  • 微服务下如何解耦?对于已经紧耦合下如何重构?

  • 如何构建一套高性能、高可用、低成本的视频处理系统?

  • 架构之道:分离业务逻辑和技术细节

  • 星巴克不使用两阶段提交

点个赞+在看,少个 bug ????

聊一聊单机、集中式、分布式和云原生存储相关推荐

  1. 分布式,集中式,云原生存储技术

    分布式,集中式,云原生存储技术 分布式存储软件是真正的统一存储,实现同一套存储系统为上层应用提供块.文件和对象三种数据服务,满足业务对结构化和非结构化数据的存放需求,内置数据保护功能,例如:备份.容灾 ...

  2. 图文存储常识:单机、集中、分布式、云、云原生存储

    背景 本文主要对杨传辉(日照)<大规模分布式存储系统原理解析与架构实战>.大话存储.网络资源(具体参考文末链接)及个人理解进行整理,意在构建出存储发展基本轨迹和一些基本常识,让更多像我一样 ...

  3. 实际场景中,云原生存储面临的 7 个挑战

    作者 | Eric Li (壮怀) 阿里巴巴云原生存储负责人 引言 随着云原生应用对可迁移性.扩展性和动态特性的需求,对云原生存储也带来了相应的密度.速度.混合度的要求,所以对云存储基本能力之上又提出 ...

  4. 云原生存储系列文章(一):云原生应用的基石

    作者| 郡宝 阿里云技术专家 参与文末留言互动,即有机会获得赠书福利! 导读:存储服务支撑了应用的状态.数据的持久化,是计算机系统中的重要组成部分,也是所有应用得以运行的基础,其重要性不言而喻.在存储 ...

  5. 全网最全的云原生存储 OpenEBS 使用指南

    ❝ 本文转自 weiliang 的工作笔记,原文:https://weiliang-ms.github.io/wl-awesome/2.%E5%AE%B9%E5%99%A8/k8s/storage/O ...

  6. 云原生存储详解:容器存储与 K8s 存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

  7. k8s挂载目录_云原生存储详解:容器存储与 K8s 存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

  8. 云原生存储项目ROOK

    本周一,原生云计算基金会(CNCF)技术监管委员会(TOC)投票接受了新的托管项目Rook,这是CNCF的第15个项目也是目前为止唯一一个存储类的项目,其他项目分别是Kubernetes,Promet ...

  9. docker修改镜像的存储位置_云原生存储详解:容器存储与 K8s 存储卷(内含赠书福利)...

    作者 | 阚俊宝  阿里巴巴技术专家 参与文末留言互动,即有机会获得赠书福利! 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新 ...

最新文章

  1. java streams_使用JShell的Java 9 Streams API
  2. 1015 德才论 (25分)
  3. 从入门到入土:基于C语言采用UDP协议实现远程控制|详细说明|利用流套接字实现一个简单的远程控制系统|代码展示
  4. 水题 Codeforces Beta Round #70 (Div. 2) A. Haiku
  5. Spark SQL概念学习系列之Spark SQL入门(八)
  6. 微信小程序微商城(二):电商首页轮播、分类导航和新品特卖实现
  7. Rhino for Mac Essential Training Mac平台的Rhino基础教程 Lynda课程中文字幕
  8. Xilinx - WP509阅读笔记 - 了解射频采样数据转换器的关键参数
  9. 游戏策划:为什么我的儿子不沉迷游戏?
  10. Excel合并单元格快捷键
  11. python打字测速_【pygame游戏编程】第四篇-----打字测速游戏
  12. java gef_GEF最简单的入门-helloword(1)
  13. 美国股市何时使用计算机,2020年股票交易何时开始?香港股市交易时间(图形)...
  14. java如何将中文转换成byte数组
  15. Python批量修改文件夹及其子文件夹下的文件内容
  16. 林大OJ--2031 凯撒密码
  17. 各种手机刷机包 救砖包 root工具
  18. 开发年终奖38个月薪资?888888奖金?普通软件测试工程师又能拿多少?
  19. phpStorm编辑器主题修改,自定义颜色
  20. Proteus使用指南

热门文章

  1. Sentinel 源码分析(一)
  2. python加密反编译_对Python源码进行加密及反编译前后对比
  3. 一个完整网站的代码_网站优化三步走,怎样给自己的网站做优化?
  4. 如何在 Windows 上安装多个 MySQL,实现 MySQL 跨电脑移植使用
  5. CSS魔法堂:那个被我们忽略的outline
  6. 光伏发电项目将全面摸底复核
  7. 为CentOS 6 配置本地YUM源
  8. mysql 导入导出.sql文件
  9. org.hibernate.MappingException: entity class not found hbm可以解析,但是实体类不能解析...
  10. 网络故障排除连载之七:设备兼容性故障排除