什么是存储?
侠义的存储定义:存储介质;CD,DVD,磁带,硬盘等
广义的存储定义:一切可以使数据存储的方式;
1.存储系统:磁盘阵列,控制器等
2.存储软件(备份软件,管理软件,快照,复制等增值软件)
3.存储网络(HBA卡,光纤交换机,FC/SAS线缆等)
4.存储解决方案(集中存储,归档,备份,容灾等)
存储的发展历程
存储架构的发展历程经历了传统存储、外挂存储、存储网络、分布式存储和云存储几个阶段。
传统存储是由单硬盘组成,1956年IBM发明了世界上第一块机械硬盘,这个硬盘有50个24英寸盘片,容量只有5 MB。体积与两台冰箱差不多大,重量超过一吨。被用于当时的工业领域,且独立于主机以外。
外挂存储即直连存储,最早的形态是JBOD
,仅仅是将一些磁盘串联在一起,被称为
JBOD
(
Just a Bunch Of Disks
,磁盘簇),主机看到的就是一堆独立的硬盘,只增加了容量,无法提供安全保障。
SAN是典型的存储网络,主要使用
FC
网络传输数据,随后出现了
IP
存储区域网络。
分布式存储采用通用服务器硬件构建存储资源池,更适合云计算的场景。在后续的课程中会进行介绍。
存储---从附属于服务器到剥离成独立系统
存储---从独立系统到网络共享存储
存储的组网类型
存储的组网类型是网络共享存储的实现,他是一种解决方案,融合了多种技术。
DAS(Direct Attached Storage)
时间
:
70
年代
背景
:用户最早因为数据量的增多而产生存储的需求,从而产生最早最简单的存储架构
:
直连附加存储
DAS
连接方式
:
FC
,
SCSI
,
SAS
访问方式
:直连式存储与服务器主机之间的连接通道通常采用
SAS
连接
链路速率
:
3 Gbit/s
、
6 Gbit/s
、
12 Gbit/s
提供快照、备份等功能
NAS(Network Attached Storage)
网络附加存储
时间
:
90
年代初
背景
:网络飞速发展,
大量数据需要共享和交换,
出现专用的
NAS
存储设备,成为数据共享与交换 的核心
访问方式
:多台前端服务器
共享
后端存储设备,后端
NAS
设备上的存储空间通过
CIFS
、
NFS
协议
共享给前端主机,可同时对同一目录或文件进行
并发读写
文件系统位于后端存储设备
NFS(Network File System)
:
是
Sun Microsystems
在
1984
年创建的
Internet
标准协议。开发
NFS
是为了允许在局域网上的系统之间共享文件。
Linux NFS客户端支持三个版本的
NFS
协议:
NFSv2 [RFC1094]
、
NFSv3 [RFC1813]
和
NFSv4 [RFC3530]
。其中
NFSv2
使用
UDP
协议,数据访问和传输能力有限,已经过时;
NFSv3
版本在
1995
年发布,添加了
TCP
协议作为传输选项,被广泛使用;
NFSv4版本在
2003
年发布,已获得更好的性能和安全性。
NFS的工作机制
:主要是采用远程过程调用RPC
机制。
RPC
提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作,允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。
NFS
客户端向
NFS
服务器端发起
RPC
请求,服务器将请求传递给本地文件访问进程,进而读取服务器主机上的本地磁盘文件,返回给客户端。
CIFS(
Common Internet File System
)是一种网络文件系统协议,用于在网络上的机器之间提供对文件和打印机的共享访问。现在主要实现在
Windows
主机之间进行网络文件共享功能。
SAN(Storage Area Networks)
存储区域网络
是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统;
每个存储设备不隶属于任何一台服务器,所有的存储设备都可以在全部的网络服务器之间作为对等资源共享;
NAS与SAN有什么区别???
答:NAS
和
SAN
最大的区别就在于
NAS
有文件操作和管理系统,而
SAN
却没有这样的系统功能,其功能仅仅停留在文件管理的下一层,即数据管理。
SAN
和
NAS
并不是相互冲突的,是可以共存于一个系统网络中的,但
NAS
通过一个公共的接口实现空间的管理和资源共享,
SAN
仅仅是为服务器存储数据提供一个专门的快速后方存储通道。
存储形态简介
集中式存储系统
集中式存储系统,即
整个存储是集中在一个系统中的
。企业级的存储设备一般都是集中式存储。但集中式存储并不是一个单独的设备,是集中在一套系统当中的多个设备。
以华为公司的存储为例,整个存储系统可能需要几个机柜来存放。集中式存储按照技术架构可以划分为SAN
和
NAS
,其中
SAN
又可以细分为
FC-SAN
、
IP-SAN
。
优点:1.部署简单;
缺点:1.不易纵向扩展;2.无法共享资源;
分布式存储系统
分布式存储系统,是将数据分散存储在多台独立的服务器上。
分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
随着分布式存储越来越普及,现在一些对性能要求比较高的应用也开始使用分布式存储,比如金融系统的数据库。
存储业务类型
块存储
对存储层直接访问,开销最小,效率最高,速度最快。但成本最高,扩展困难。块存储采用iSCSI/FC
协议,很难跨网络传输。适合的应用场景是企业数据库,如运行
Oracle
等;
文件存储
是在块存储之上构建了文件系统,采用目录-
目录
-
文件的方式组织数据,更容易管理。因为大多数应用程序都是对文件进行操作,因此文件存储更容易和应用系统对接。文件系统受目录树的限制,扩展性受限,一般最多扩展到几十
PB
。文件系统适用于企业内部应用整合,文件共享场景;
对象存储
是在块存储之上构建了对象管理层,与文件系统相比,对象系统层是扁平的,扩展限制少,因此拥有近乎无限的扩展性。对象由唯一的Key
,文件,数据(文件),元数据,自定义元数据构成,由于包含了自管理信息,更加智能。对象存储采用兼容标准的互联网协议接口,可以跨地域传输。对象存储适用于面向互联网服务的存储场景,以及企业内部的归档、备份场景。
RAID技术
RAID:
Redundant Array of Independent Disks
,独立磁盘冗余阵列,
RAID
技术将多个单独的物理硬盘以不同的方式组合成一个逻辑硬盘,从而提高了硬盘的读写性能和数据安全性。
RAID的数据组织形式
硬盘的条带化:将硬盘空间按照设定的大小分为多个条带,数据写入时也按照条带的大小来划分数据模块。
条带(strip
):硬盘中单个或者多个连续的扇区构成一个条带,是组成分条的元素。
分条(stripe
):同一硬盘阵列中的多个硬盘驱动器上的相同“位置”(或者说是相同编号)的条带。
RAID的数据保护方式
1.l
镜像(
Mirroring
),在另一块冗余的硬盘上保存数据的副本。
2.奇偶校验算法(XOR)。
p
XOR
运算广泛地使用在数字电子和计算机科学中。
p
XOR
校验的算法
—
相同为假,相异为真:
n
0⊕0=0
;
0⊕1=1
;
1⊕0=1
;
1⊕1=0
;
RAID热备和重构的概念
热备(Hot Spare)的定义
p当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性。
热备有两种方式:
1.p全局式:备用硬盘为系统中所有的冗余RAID组共享。
2.p专用式:备用硬盘为系统中某一组冗余RAID组专用。
常见的RAID技术介绍
RAID 0 :没有容错设计的条带硬盘阵列,以条带形式将RAID组的数据均匀分布在各个硬盘中。
RAID 1 :又称镜像(Mirror),数据同时一致写到主硬盘和镜像硬盘。
RAID 3 :带有校验的并行数据传输阵列,数据条带化分布在数据盘中,同时使用专用校验硬盘存放校验数据。
RAID 5 :与RAID 3机制类似,但校验数据均匀分布在各数据硬盘上,RAID成员硬盘上同时保存数据和校验信息,数据块和对应的校验信息保存在不同硬盘上。RAID 5是最常用的RAID方式之一。
RAID 10 :将镜像和条带进行两级组合的RAID级别,第一级是RAID 1镜像对,第二级为RAID 0。RAID 10 也是一种应用比较广泛的RAID级别。
RAID6 DP技术
DP:Double Parity,就是在RAID 4所使用的一个行XOR校验硬盘的基础上又增加了一个硬盘用于存放斜向的XOR校验信息。
横向校验盘中P0-P3为各个数据盘中横向数据的校验信息。
p
例:
P0=D0 XOR D1 XOR D2 XOR D3
斜向校验盘中DP0-DP3为各个数据盘及横向校验盘的斜向数据校验信息。
p
例:
DP0=D0 XOR D5 XOR D10 XOR D15
RAID2.0+
增强型RAID技术,有效解决了机械硬盘容量越来越大,重构一块机械硬盘所需时间越来越长,传统RAID组重构窗口越来越大而导致重构期间又故障一块硬盘而彻底丢失数据风险的问题。
传统RAID2.0+技术:
在RAID 2.0的基础上提供了更细粒度(可以达几十KB粒度)的资源颗粒,形成存储资源的标准分配及回收单位,类似计算虚拟化中的虚拟机,我们称之为虚拟块技术。
华为RAID 2.0+
是华为针对传统RAID的缺点,设计的一种满足存储技术虚拟化架构发展趋势的全新的RAID技术,其传统固定管理模式为两层虚拟化管理模式,在底层块级虚拟化(Virtual for Disk)硬盘管理的基础之上,通过一系列Smart效率提升软件,实现了上层虚拟化(Virtual for Pool)的高效资源管理。
存在问题:
存储的数据最终都会存储到SSD盘上,如果有些盘片上存放的数据不均匀,就可能导致某些压力大的SSD盘成为系统的瓶颈。
解决方法:
为应对该问题,华为存储系统采用新型的RAID 2.0+块虚拟化技术,通过更细粒度的划分,实现所有LUN的数据均衡的分布在每个SSD盘上,实现盘的负载均衡。
1.
多块硬盘组成一个存储池。
2.
存储系统将存储池中的每个
SSD
硬盘划分为固定大小的
CK
(通常大小为
4MB
)进行逻辑空间管理。
3.
来自不同
SSD
硬盘的
CHUNK
按照用户在
DeviceManager
上设置的“
RAID
策略”组成
CKG
。
4.
CKG
再被划分为更细粒度的
Grain
(通常为
8KB
)。用户创建
LUN
时,存储系统以
Grain
为单位映射到
LUN
,实现对存储资源的精细化管理。
相比传统RAID机制,RAID2.0+具备如下优势:
业务负载均衡,避免热点。数据打散到资源池内所有硬盘上,没有热点,硬盘负荷平均,避免个别盘因为承担更多的写操作而提前达到寿命的上限。
快速重构,缩小风险窗口。当硬盘故障时,故障盘上的有效数据会被重构到资源池内除故障盘外的所有盘上,实现了多对多的重构,速度快,大幅缩短数据处于非冗余状态的时间。
全盘参与重构。资源池内所有硬盘都会参与重构,每个盘的重构负载很低,重构过程对上层应用无影响。