网络存储核心内容概览

1 信息存储与管理介绍

1.1 数据类型有哪些

1.2 大数据

1.2.1 大数据生态系统是什么样的

1.2.2 对于大数据的一些不同的理解

从字面意思上来说, 大数据是指资料量规模巨大到无法公国目前主流的软件工具在合理的时间内达到获取, 管理, 处理的信息

从公司的角度来说, 大数据是指企业自身产生的数据和外部产生的数据与企业有关的数据有关的数据. 企业可以利用这些数据对未来进行预测, 也可以帮助找出企业自身存在的问题

从现在的角度来说, 大数据是指解决问题的一种方法. 通过手机和整理数据, 并对其进行分析挖掘来从中获取有价值的信息的一种方法.

1.2.3 大数据的特征

大量, 高速, 多样, 低密度, 汇聚性, 大基数

1.2.4 goole处理大数据的”三把利剑”

  1. 分布式文件系统GFS
  2. Map/Reduce编程模式(Map用于分析, Reduce用于归纳)
  3. 分布式数据库BigTable

一些开源组织和大公司基于这三项核心技术的原理, 开发了自己的产品, 比如Hadoop系统

1.3 存储架构的发展

以服务器为中心发展到以信息为中心的存储架构

以服务器为中心的意思是说存储设备在服务器的内部,那么信息无法和其他服务器共享, 并且对于服务器的维护会导致信息暂时无法访问. 同时还存在着信息难于保护, 不易管理的问题

以信息为中心的意思是说存储设备与服务器分开, 多个服务器共享集中化管理的存储设备. 这样一来, 服务器的维护与存储设备的扩容都不会影响信息的可用性

1.4 数据中心基础设施

1.4.1 数据中心的核心部件

数据中心有五个核心部件

  1. 应用
  2. 数据库管理系统
  3. 主机
  4. 网络
  5. 存储

1.4.2 数据中心的主要特点

2 数据中心环境

2.1 应用的好处

什么是应用? 一个提供计算机操作逻辑的计算机程序, 比如电子邮件, 企业规划管理, 身份认证, 资源管理, 防病毒应用等…

应用+所需的os打包被放入虚拟容器中. 虚拟化的数据中心被创建出来. 与传统数据中心部署无力资源相比, 更快更好.

2.2 数据库管理系统

数据库有助于优化数据的存取

数据库管理系统控制数据库的创建, 维护和使用

数据库管理系统处理来自应用对数据的操作请求, 对操作系统发出指令, 对存储设备中的相应数据进行读写.

2.3 主机

运行应用程序的计算机称为主机

主机可以是物理机, 也可以是虚拟机

2.3.1 操作系统

传统计算机,OS负责:

  1. 应用和计算系统物理部件之间的协作
  2. 提供访问数据的应用
  3. 检测用户行为和环境,并作出反应
  4. 组织和控制硬件组件,管理硬件资源的分配
  5. 为被其管理的资源的访问和使用提供基本的保护
  6. 执行基本的存储管理任务,管理底层组件(文件系统、卷管理器、设备驱动)

虚拟计算环境:

  1. 虚拟层处于OS和硬件资源之间
  2. OS负责与应用交互相关的活动
  3. 虚拟层负责硬件管理

2.3.2 设备驱动

  • 实现OS与某种设备的交互
  • 使得OS可以识别, 访问, 控制设备
  • 依赖于硬件, 不同OS对应不同的驱动

2.3.3 卷管理器

早期时, 一个硬盘就只能被整块地使用, 存储空间不能被充分地利用

有了逻辑卷管理器, 它可以把一个物理磁盘分为若干小的虚拟磁盘, 也可以把几个小的物理磁盘组合成一个大的虚拟磁盘.

逻辑卷处理器由物理卷(物理磁盘), 卷组(一个虚拟磁盘), 逻辑卷(OS眼中的物理设备)这些基本部件组成

2.3.4 文件系统

文件: 有关联关系的记录或数据的集合,作为一个有命名的整体存储。
文件系统: 大量文件的分层组织结构

文件系统分为无日志系统与有日志系统

有日志系统使用一个独立的区域来存放日志信息, 它的速度稍慢, 但是系统更完整

2.4 存储管理

局部性原理, 存储器的层次结构

高速缓冲存储器(直接映像, 全相联, 组相联)

虚拟存储器(虚拟地址➡️物理地址)

2.5 连接

各个主机之间之间或者主机与其他外围设备之间的连接

可以通过直连(IDE/ATA,SATA), 网络(光纤通道) 互联网协议(iSCSI, FCIP)等方式进行连接

2.6 存储

存储介质目前分为: 磁性介质, 光学介质和固态介质

2.6.1 磁盘的工作原理

现代磁盘的结构

早期的磁盘采用CHS编号, 即Cylinder, Head, Sector. 按照柱面, 磁头和扇区进行编号, 需要找到某一个扇区地址就是根据这三个信息来定位的

现在采用逻辑块寻址方式, 比如共4个柱面、8个磁头,每道8个扇区,则共256个物理块,编号为0~255. 这样我们就可以采用线性地址的方式来访问物理块的数据, 而磁盘控制器将逻辑块地址转化为CHS地址

比如若每扇区(物理块)容量为 512 字节,则 500GB 的磁盘,格式化容量为 465.7GB,有超过 976 000 000 个物理块。

2.6.2 磁盘驱动器的性能

平均传送时间T = Ts + 1/2r + L/rN

平均访问时间 = 1/2r + L/rN

平均访问时间为平均寻道时间和旋转延迟, 旋转延迟一般是转速的倒数*1/2,因为平均时间可以认为是最大延迟的一半. 其中, L为一次从硬盘读取的数据, r为转速, N为一个磁道的数据容量

我们给出一个具体的例子: 一硬盘平均寻道时间 5ms,则 T=5 ms。主轴转速 15000 rpm(250转/s),内部数据传输率 40MB/s, I/O块大小为32KB, 那么总的传送时间为5 + 1/(250*2) + 32/(40*1024) = 7.8ms

我们引入IOPS的概念: 每秒钟最大I/O服务次数
那么此硬盘IOPS = 1/(7.8*1000), 约为128IOPS

在磁盘控制器利用率为 96%时,
响应时间 R=TS /(1-U)= 7.8ms /(1-0.96)=195 ms
在磁盘控制器利用率为 60%时,
响应时间 R=TS /(1-U)= 7.8ms /(1-0.60)=19.5 ms
如果一个应用要求更快的响应时间,
则磁盘利用率必须维持在70%以下

2.6.3 基于应用程序的需求和磁盘性能的存储设计

2.6.4 Little定律在存储系统性能分析中的作用

Little Law定义了(以超市为例):在一个稳定的系统中,长时间观察到的平均顾客数量L = 长时间观察到的有效顾客到达速率λ * 平均每个顾客在系统中花费的时间W,即L = λW。本法则适用于任何系统,甚至是一个系统中的子系统,比如一家银行的客户队列。唯一的要求就是系统必须是稳定的,非抢占式的。

为了更好的理解Little Law,请考虑一家仅有一个柜台的小型超市,柜台每次只能服务一位顾客,并且假设所有人都会买东西,这个系统的工作流程可以化简为:入店 -> 浏览 -> 结账 -> 离开,这是一个稳定的系统。如果【顾客进入超市的速率 > 顾客离开超市的速率】,即Arrival rate > Exit rate,那么系统就会开始不稳定,因为等待的客户队列会逐渐变得无限长。

  • Little Law告诉我们:超市内的平均客户数量L = 客户到达速率λ * 客户在超时内的逗留时间W,即L = λW
  • 假设客户达到速率为10人/小时,平均每个人在超市内逗留0.5小时,那么该超市在任何一个时间点的顾客数量 L= 10 * 0.5 = 5人
  • 现假设顾客开始蜂拥,达到速率增长至20人/小时,如果顾客逗留时间不变依然为0.5小时,那么超市必须能够容纳 L=20*0.5 = 10人,否则都多出的5人需要在超市外等待;如果超市暂时无法扩容,即只能容纳5人,为了让多出的5人不需要在超市外等待,必须缩短顾客逗留时间W = 5/20 = 0.25小时。

总结来说,在流量增加的情况下,为了保证系统稳定运行(保持一个可接受的队列长度,从而保证可接受的响应时间),即超市在任意时间点都能保证能够服务5位顾客的能力,根据Little Law法则,有两种方案:

2.6.5 闪存盘

闪存盘也称固态硬盘(SSD)

速度更快, 更省电, 写入平衡. 写入以页为单位, 读取以块为单位

缺点有:

  1. 写入之前需擦除整个块
  2. 损坏的cell将导致整个页不能使用, 但是这个页的逻辑地址将被重定向

但是我们可以通过拆东墙补西墙和预留足够的重定向空间来解决这个问题

3 RAID

3.1 What is RAID? Why RAID

早期, 计算机数据存储设备采用单盘方式, 这样的单盘系统速度渐渐跟不上要求, 同时容灾能力也很弱

RAID, 独立磁盘冗余阵列, 可以将多个容量较小, 相对廉价的磁盘驱动器进行有机组合, 使其性能超过单价较贵的大容量硬盘

3.2 RAID的实现

软件RAID:由基于主机的软件提供RAID功能。在OS层次实现对RAID阵列的管理,不需要专门的硬件控制器。

优点:低成本;简单。
缺点

  1. 性能:占用内存空间;占用CPU资源。
  2. 功能:不能支持所有的RAID级别。
  3. OS兼容性:无法将安装OS的磁盘分区做成RAID模式。

硬件RAID:由专用硬件控制器(集成在主机或存储阵列上), 控制卡RAID和外部RAID控制器组成

3.3 各种RAID的特点

RAID 0
优点:使用 n 颗硬盘,即可拥有将近 n 倍的读写效能。
缺点:数据安全性较低,同组数组中任一硬盘发生问题就会造成数据遗失。
硬盘数量:最少 2 个。

RAID 1
优点:安全性依照数组里的实体硬盘数量倍数成长。
缺点:空间利用率是所有 RAID 中最没有效率的。
硬盘数量:最少 2 个。

由于各实体硬盘中的数据几乎是以镜像的方式储存,因此无论数组中放入了多少颗硬盘,可用容量都是以最小的那颗硬盘为主

RAID 4
数据分块存储。同时有1块硬盘不存储数据,专门用来做校验盘,存储其他硬盘存储的数据的校验码(对相应的2个数据块信息使用异或运算计算得出)。此模式至少需要3块硬盘。阵列总容量=(n-1)*(数据盘中最小的那个硬盘容量),理论I/O性能提升,但是由于校验盘存在访问压力大的问题所以性能会受到影响。具有容错能力,一个硬盘损坏,可以通过计算生成损坏的数据,不影响数据读写,但是此时阵列将处于降级模式(用计算生成数据造成性能损失)。

RAID 5
分布式校验存储。与Raid 4的校验算法和存储基本原理相同,区别在于校验码的存储不在一块硬盘上了,而是按规律依次分别存储在所有磁盘。根据第一次挑选存储校验码的磁盘的不同,分别有校验码的“左对齐”和“右对齐”类型。此模式至少需要3块硬盘。阵列总容量=(n-1)*(数据盘中最小的那个硬盘容量),理论I/O性能比Raid 4提升较大。容错能力与Raid 4相同,也有降级模式。

RAID 6
优点:容错硬盘数量比 RAID 5 多 1 颗。
缺点:运算量比 RAID 5 大、空间利用率比 RAID 5 低。
硬盘数量:至少 4 个。

RAID 10
多硬盘先2个一对组Raid 1,再组Raid 0。此模式至少需要4块硬盘。此模式既有Raid 0的性能优势,同时也有Raid 1的容错能力(同时刚好损坏互为冗余的2个硬盘的概率较低)。

3.4 写代价

RAID 1的写代价是2, RAID 5的写代价为4, RAID 6的写代价是6

【例】某应用程序的 I/O 吞吐量为 5200 IOPS,其中60%为读访问。硬盘的最大 I/O 吞吐量为 180 IOPS。则:

RAID 5 磁盘负载(读+写)
=0.6×5200+4×(0.4×5200) (因为 RAID 5 的写代价是 4)
=11440 IOPS
RAID 5 所需磁盘数:11440/180 = 63.6 = 64 块磁盘。

RAID 1 磁盘负载(读+写)
=0.6×5200+2×(0.4×5200) (因为 RAID 1 的写代价是 2)
=7280 IOPS
RAID 1 所需磁盘数:7280/180= 40.4 = 42 块磁盘。(舍入到最近的偶数)

4 智能存储系统

4.1 磁盘柜(JBOD)和盘阵

前者只是一串磁盘, Just a bound of disks

后者是自带RAID控制器的盘柜

4.2 LUN和卷的概念

对于一个独立的外部磁盘阵列, 有内部接口和外部接口.

前者是连接内部磁盘的接口如SATA, IDE, SCSI, FC等

后者对于主机端提供的接口, 如SCSI, FC

LUN是SCSI协议中的名词, 是SCSI ID的更细一级地址号, 磁盘阵列可以在一个SCSI ID下虚拟多个LUN地址, 每个LUN地址对应一个虚拟磁盘, 这样就可以在一条总线上生成众多虚拟磁盘, 以满足要求.

后来人们把硬件层次生成的虚拟磁盘统一称为LUN, 由软件生成的虚拟磁盘统一称为卷

4.3 智能存储系统的组成部分

智能存储系统的优势

  1. 是一种功能丰富的RAID阵列,提供了高度优化的I/O处理能力。
  2. 配置了大容量的内存(缓存)和多条I/O通路,采用了复杂的算法用来提高性能。
  3. 拥有智能操作环境,能以最优化的方式处理存储资源的管理、分配和利用。
  4. 对于闪存盘和其他较新技术(虚拟存储部署、自动存储分层)的支持,提高了存储系统的性能、扩展性和可用性。

存储控制器包括前端, 缓存, 后端

4.4 缓存管理

写入的数据先被存入缓存, 随后才会被写入磁盘

缓存镜像: 针对缓存故障的问题, 每次写入缓存的数据都被保存在相互独立的内存条的不同位置上

缓存保管: 针对电源故障的问题, 提供一组物理磁盘用于在停电时转储缓存中的数据。用来转储的磁盘称作保管驱动器(Vault drive)。当供电恢复时,数据从保管驱动器重新读回缓存,再写回对应的磁盘中。

5 光纤通道

5.1 FC协议体系

传统TCP/IP协议体系模型

  1. 应用层:一个系统要对另一个系统所要传达的最终信息。
“您好,您怎么称呼?”
  2. 表示层:对应用层数据的一种表示。可嵌入在实体数据中,比如加密等操作。
【字体显示的颜色、位置。】
  3. 会话层:建立某种会话交互机制,确定对方的应用程序处于良好的状态中。
“能听清么?”“能听清,请讲。”
  4. 传输层:保证上层数据能传输到目的地。比如TCP协议。
是一种端到端的保障机制,传输层程序应运行在通信双方的终端设备上。
  5. 网络层:比如IP协议。
  6. 数据链路层:交通规则。协商链路参数,将上层数据内容打包成帧,将帧提交给物理层。
  7. 物理层:通过某种介质(或真空)将数据编码以比特流的形式发送给对方。

FC协议体系模型

5.2 物理层

8b/10b编码

8b/10b编码算法由IBM公司的A.X.Widmer 和P.A.Franaszek在20世纪80年代初期提出。

基本思想:
将一个8位字节划分为5位和3位两部分,对5位部分进行5b/6b编码,对3位部分进行3b/4b编码。
相对于一次编码8位,分为两部分进行编码使得硬件上能更有效地对更小的子块进行编解码。
通过两部分分别编码,最终8位字节被编码为10位字符。
编码后的10位中所有1或0的个数不会超过6个,并且连续的1或0的个数不会超过4个。


8b/10b编码算法可实现传输比特流的DC均衡和差错控制。

5.3 链路层

5.3.1 FC帧结构

5.3.2 流量控制

FC技术的两种流量控制机制:

缓冲区到缓冲区的流量控制
Buffer-to-Buffer credit,BB_Credit
可控制指定时间点链路上最大可通过的帧数量。
可发生在任何两个FC端口之间。
发送端保持着接收方缓存的空余空间的计数值,只要这个值大于0,发送方就连续地发送帧。
通过Receiver Ready(R_RDY)原语表明发送R_RDY的端口缓存已清空。

端到端的流量控制
End-to-End credit,EE_Credit
只用于Class1和Class2的流量控制。

5.4 SAN网络的三种拓扑结构

点对点

仲裁环网(FC-AL)

交换网(FC-SW)

6 IP SAN 和 FCoE

FC SAN缺点

成本问题
部署FC SAN的成本是部署IP SAN的10倍甚至十几倍。
16口8Gbps的FC交换机约2万多元一台。

可扩展性问题
FC是一个专用网络。

易用性问题
部署FC存储网络比部署IP存储网络要复杂,对技术人员要求也比较高。

兼容性问题
FC及其不开放。
不同厂家生产的FC设备,有时不一定完全兼容。

FC目前相比IP SAN唯一的优势是速度

6.1 协议融合的三种方式

调用(Use)
一种协议自身没有某些功能,需要使用另一种协议提供的功能。
TCP调用IP,因为TCP没有寻址功能。
IP调用以太网,因为IP没有链路传输功能。

隧道封装(Tunnel)
将一种协议的完整数据包(包括Payload和协议开销)作为另一种协议的Payload来进行封装,打包传输到目的地,然后解开外层协议的封装信息,将内部承载的协议完整数据包提交给内层协议处理逻辑模块进行处理。

映射(Map)
将内层协议的部分或者全部逻辑,映射翻译到外层协议对应的功能相似的逻辑上。

6.2 基于IP传输网络的IP SAN协议

  • iSCSI:Internet SCSI
  • FCIP:Fibre Channel over IP
  • FCoE:Fibre Channel over Ethernet

7 网络连接存储NAS

7.1 NAS组件: 硬件和软件

NAS的硬件包括NAS头和存储设备两部分. NAS头主要负责相应文件请求.

NAS的软件构成包括操作系统, 文件协议和存储管理软件

7.2 NAS文件共享协议

NFS

NFS, 网络文件系统, 目的是让网络上具有不同硬件, 不同操作系统的各种机器可以访问彼此的文档. RPC和XDR是实现NFS的基础

CIFS

一种主要应用于Windows系统的网络文件系统, 提供网络内计算机共享文件, 打印机, 串行端口和通信等资源

猜你喜欢

转载自blog.csdn.net/qq_31805821/article/details/80517762