持久化存储发展目标:

单位体积的存储密度

存储容量

读写速度

存储成本

1.磁带

可提供高容量、高可靠(没有机械部件不易损坏)、可管理性,成本低廉。长期做为唯一数据备份(冷存储)首选。

2.磁盘

1956年第一款硬盘诞生,1吨,容量5M。2016年希捷推出10T机械硬盘,主要面向云存储数据中心。

3.磁盘阵列

磁盘的容量和I/O发展速度(每年7%),远远低于CPU发展速度(每年30%-50%)。为平衡磁盘效能和CPU运算能力,出现了磁盘阵列RAID,主要体现在两个方面:

(1)通过条带化提供I/O性能

(2)通过数据校验提供容错功能

4.DAS(Direct-attached Storage) 直连存储

DAS技术是最早被采用的存储技术,如同PC机的结构,是把外部的数据存储设备都直接挂在服务器内部的总线上,数据存储设备是服务器结构一部分。

无论直连式存储还是服务器主机的扩展,都会造成业务系统的停机。

5.SAN(Storage Area Network) 存储区域网络——是一个网络上的磁盘

通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用存储网络。FC SAN(光纤)和IP SAN(以太网)。

6.NAS(Network Attached Storage) 网络附加存储——是一个网络上的文件系统

存储设备通过标准的网络拓扑结构(以太网)添加到一群计算机上,是一个独立的文件服务器。普通客户机也能充当NAS,需满足如下条件:

(1)NAS必须能访问卷或物理磁盘

(2)NAS必须有接入以太网能力,必须有以太网卡

NAS和SAN存储系统的区别就是NAS有自已的文件管理系统。

磁盘、磁盘阵列、DAS、SAN都属于块级存储设备,即它们是面向服务器提供物理存储块的读写指令。而NAS是面向高级用户提供文件读写服务(写入和读取二进制)。

7.经典网络文件系统NFS

最早的分布式文件系统,定位和目标是小型网络文件系统。NFS允许一个系统通过网络共享目录和文件,用户和程序可以像访问本地文件一样访问远端系统上的文件。

(1)基本架构

VFS(虚拟文件系统):NFS与Linux无缝对接,因为Linux内核层面设计的一套虚拟文件系统VFS(visual file system),所有文件系统必须实现对应的VFS,才能成为操作系统支持的文件系统。

RPC(远程过程调用):接口实现在远端服务器上(如文件内容存储、读取、磁盘空间管理等),服务器通过某种网络协议向用户暴露所实现的接口(可以在另一台机器上)。

RPC执行过程简述如下:用户程序调用某RPC接口,本地RPC运行时库负责解析、打包RPC接口名,参数类型及参数值;并将打包封装好的数据包通过网络传送到远端服务器。服务器端的RPC运行时库接受并解析数据包,调用服务器端的RPC接口实现。调用结果按照相反的方向返回给用户程序。

假设用户针对一个NFS文件发起文件操作如read或write,相应的系统调用会通过VFS层传到NFS底层实现。NFS底层会将该文件操作通过RPC输送至远端NFS文件服务器。NFS文件服务器负责处理这个文件操作,并向用户返回操作结果。

(2)客户端

NFS核心思想:远程server的目录挂载到本地文件系统某个目录上。例如将192.168.1.100的/usr/local/test目录挂载到本机的/usr/local/test目录

mount –f nfs 192.168.1.100: /usr/local/test  /usr/local/test

8.分布式文件系统GPFS

IBM的General Parallel File System(GPFS),是一种专门为群集环境设计的高性能、可扩展的并行分布式文件系统。GPFS可以在群集中的多个节点间实现对共享文件系统中文件的快速存取操作,并提供稳定的故障恢复和容错机制。

GPFS文件系统由三层架构组成:磁盘、网络共享磁盘(NSD)和GPFS文件设备,如下图所示:

(1)磁盘

GPFS文件系统最底层的是物理磁盘设备。原则上可以采用系统上任何块设备,包括磁盘,磁盘分区,逻辑卷。

从物理连接上来看,GPFS支持使用所有方式连接的磁盘。包括本地 IDE 磁盘,本地 SCSI 磁盘,光纤 SAN 磁盘,iSCSI 磁盘,等等。

(2)网络共享磁盘(NSD)

NSD 是由磁盘映射出来的虚拟设备,NSD 与磁盘是一一对应的关系。NSD被标记了不同属性来区分其用途,我们可以将磁盘标记为 4 种用途:

Desc Only:只存储GPFS文件系统描述信息的磁盘。
Data Only:只存储文件系统中的数据信息。
Meta data only: 只存储文件系统中的目录结构 inode 信息。
Meta and data: 存储所有信息(默认)。

(3)GPFS文件设备(GPFS File System Device)

GPFS设备是一个可被系统挂载的文件设备,由 NSD 创建而成,可以并行的同时挂载在多个节点上

 9.分布式文件系统GlusterFS

10.Ceph分布式存储系统

(1)支持三种存储类型

Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是块设备存储、文件系统服务和对象存储。

块设备存储:主要是将裸磁盘空间映射给主机使用的。典型设备有磁盘阵列、硬盘。多硬盘组合容量大、读写速率高,且RAID方式具备容错功能。但是SAN组网时光纤交换机价格较贵,且主机之间无法共享数据。适合docker容器、虚拟机磁盘存储分配、日志或文件。

文件系统:在服务器上架设FTP与NFS服务,就是文件存储。主要是为了克服块存储文件无法共享的问题。典型设备有FTP、NFS服务器。造价低,随便一台机器就可以了,且方便文件共享。但是读写速率较低,传输速度较慢。适合日志文件或有目录结构文件

对象存储:多台服务器内置大容量硬盘,安装上对象存储管理软件,对外提供读写访问功能。典型设备主要是内置大容量硬盘的分布式服务器(swift, s3)。具备块设备读写速度、具备文件系统共享特性。适合更新变动较少的数据,图像或视频存储。

(2)基础架构组件

从架构图中可以看到最底层的是RADOS,RADOS自身是一个完整的分布式对象存储系统,它具有可靠、智能、分布式等特性,Ceph的高可靠、高可拓展、高性能、高自动化都是由这一层来提供的,用户数据的存储最终也都是通过这一层来进行存储的,RADOS可以说就是Ceph的核心。RADOS系统主要由两部分组成,分别是OSD和Monitor。

基于RADOS层的上一层是LIBRADOS,LIBRADOS是一个库,它允许应用程序通过访问该库来与RADOS系统进行交互,支持多种编程语言,比如C、C++、Python等。

基于LIBRADOS层开发的又可以看到有三层,分别是RADOSGW、RBD和CEPH FS。

RADOSGW:RADOSGW是一套基于当前流行的RESTFUL协议的网关,并且兼容S3和Swift。

RBD:RBD通过Linux内核客户端和QEMU/KVM驱动来提供一个分布式的块设备。

CEPH FS:CEPH FS通过Linux内核客户端和FUSE来提供一个兼容POSIX的文件系统。

Ceph相比其它存储的优势点在于它不单单是存储,同时还充分利用了存储节点上的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡。

参考文档:

DAS、SAN、NAS三种存储方式的概念及应用

分布式文件系统:NFS

初窥GPFS文件系统

Ceph基础知识和基础架构认识

史上最全的Ceph介绍、原理、架构

转载于:https://www.cnblogs.com/badboy200800/p/10062212.html

【架构解密】第六章 深入解析分布式存储相关推荐

  1. 走向ASP.NET架构设计-第六章-服务层设计(中篇)

    走向ASP.NET架构设计-第六章-服务层设计(中篇) 前言:上一篇文章介绍了一些服务层的基本知识,而且也简要的介绍了SOA的有关知识,本篇主要是介绍在服务层可以采用的一些模式.  本篇议题如下: F ...

  2. 第六章 PX4-Sensors解析

    版权声明:本文为博主原创文章,未经博主允许不得转载.  第六章 PX4-Sensors解析 这一章节并不难,也很容易理解,但是这一章节有几个函数需要我们去理解一下,所以这里我们这里写一章来说明一下 ...

  3. Android[中级教程]第六章 XML解析之SAX解析器

    Android[中级教程]第六章 XML解析之SAX解析器 分类: Android中级2011-10-06 01:52 125人阅读 评论(1) 收藏 举报 接上一章,这一章我们就来学习SAX解析器, ...

  4. 【重识云原生】第六章容器基础6.4.5.3节——Deployment实现原理解析

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  5. 架构解密:从分布式到微服务pdf

    下载地址:网盘下载 内容提要 编辑 分布式架构与微服务平台是当今IT界的关键技术,也是资深软件工程师和系统架构师必须掌握的核心技术.<架构解密:从分布式到微服务>以从传统分布式架构迁移到基 ...

  6. 【重识云原生】第六章容器6.3.5节——Controller Manager概述

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  7. 【重识云原生】第六章容器6.1.7.2节——cgroups原理剖析

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  8. 【重识云原生】第六章容器基础6.4.9.2节——使用 Service 连接到应用

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  9. 【重识云原生】第六章容器基础6.4.7.1节——K8S Job组件

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  10. 【重识云原生】第六章容器6.4.2.3节——Pod使用(下)

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

最新文章

  1. python绘制直方图-python matplotlib库直方图绘制详解
  2. Spring AOP详解(http://sishuok.com/forum/posts/list/281.html)
  3. Js时间戳转为日期格式
  4. es scroll 时间_游标查询 Scroll | Elasticsearch: 权威指南 | Elastic
  5. thinkphp3.2 jquery ajax巧妙使用
  6. layUI数据表格可编辑扩展日期框
  7. vscode markdown_使用vscode开始Markdown写作之旅
  8. 解析内、外职业发展规划秘诀
  9. 兰州市智能交通实现智慧城市 智能化立体车库有效缓解停车难
  10. vmware 14 密钥
  11. 堆排序算法(图解详细流程)
  12. 《嵌入式-STM32开发指南》第三部分 外设篇 - 第4章 超声波测距
  13. 金万维未找到服务器信息,域名解析失败原因和问题排查方法
  14. 远程计算机已加入AAD凭据不工作
  15. 日期/时间格式中的字母及其含义与示例
  16. visual studio 官网下载地址 vs2019/vs2017/vs2015企业版、专业版、社区版官网下载地址
  17. vr计算机组装,VR技术在计算机组装与维护教学中的应用
  18. 计算机毕业设计——健身房管理系统
  19. flink之SQL入门
  20. Rxjava源码分析之IO.Reactivex.Observer

热门文章

  1. f2 柱状图滚动 钉钉小程序_钉钉小程序------子组件监测父组件的数据更新
  2. Java 设计模式 之 装饰器模式(Decorator)
  3. LayaAir UI 组件 # RadioGroup 单选框按钮组
  4. 工业机器人演示码垛和卸垛_「成果播报」流水线上的“专家”——智能拆垛装车机器人系统...
  5. 小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
  6. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念分类注意事项...
  7. 2017.5.12PM
  8. W3School-CSS 字体(font)实例
  9. 纯CSS实现三列布局(两边固定,中间自适应)
  10. [PaPaPa][需求说明书][V2.0]