硬盘对外提供的接口
ATA(高级技术附加装置):ATA硬盘常被称为IDE硬盘,ATA接口为并行ATA技术,最大传输133Mbps;
SCSI(Small Computer System Interface)小型计算机系统接口:当前主流Ultra320(320Mbps),适应性广、高性能、支持热插拔,但价格昂贵,安装复杂;
SATA:串行方式传输,最低为150Mbps,第二代300Mbps,SATA硬盘采用点对点连接方式,支持热插拔,即插即用。
SAS:串行SCSI接口,在SCSI基础上支持点对点、全双工、
双端口,速率每路600Mbps,实现了与SATA的互操作,在传输速率,抗干扰性方面强于SCSI,价格相对较高;
FC(光纤通道接口):
FC硬盘采用FC-AL(Fiber Channel Arbitrated Loop)光纤通道仲裁环,是一种双端口的串行存储接口,支持全双工工作方式,利用类似SATA/SAS所用的4芯连接,提供一种单环拓扑结构,一个控制器能访问126个硬盘。
能长距离传输,传输带宽高、通用性强。但价格昂贵,组件复杂。
NL SAS:采用SAS接口、SATA盘体,也叫近线SAS.
硬盘接口比较
条带
条带化技术就是一种自动的将 I/O 的负载均衡到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去。这就能使多个进程同时访问数据的多个不同部分而不会造成磁盘冲突,而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的 I/O 并行能力,从而获得非常好的性能。条带化后,条带卷所能提供的速度比单个盘所能提供的速度要快很多,由于现在存储技术成熟,大多数系统都采用条带化来实现系统的I/O负载分担,如果OS有LVM软件或者硬件条带设备,决定因素是条带深度(stripe depth)和条带宽度(stripe width)。
条带深度:指的是条带的大小,也叫条带大小。指写在每块磁盘上的条带数据块的大小。
条带宽度:指同时可以并发读或写的条带数量。这个数量等于RAID中的物理硬盘数量。例如一个经过条带化的,具有4块物理硬盘的阵列的条带宽度就是4。增加条带宽度,可以增加阵列的读写性能。道理很明显,增加更多的硬盘,也就增加了可以同时并发读或写的条带数量。在其他条件一样的前提下,一个由8块18G硬盘组成的阵列相比一个由4块36G硬盘组成的阵列具有更高的传输性能。
分条
同一磁盘阵列中多个磁盘驱动器上相同位置(或者说编号)的条带。
RAID
Redundant Array of Independent Disks,独立冗余磁盘阵列,简称磁盘阵列。
RAID0
条带化存储,无校验。因此读写性能最高,然而最不安全。至少使用两块磁盘。
RAID1
条带化存储,数据镜像,无校验,因此允许单个磁盘故障。至少两块磁盘。
RAID3
条带化存储,校验信息存放在专用硬盘,当一个硬盘故障可通过异或校验恢复数据。但因为校验信息存放在专用硬盘造成此硬盘压力极大,也成为RAID3数据写入的瓶颈,为各个RAID组写入最慢。至少3块硬盘。
RAID5
RAID3的升级版,将校验信息均匀分布在所有硬盘上,每块硬盘上既有数据信息也有校验信息。至少3块硬盘。
RAID6(磁盘可丢失为2,前几个(除RAID0为0)均为1)
带有两种校验的独立硬盘结构,采用两种奇偶校验的方法,需要至少4个硬盘构成阵列(基础两个,一种校验占一个),应用在数据可靠性、可用性要求极高的场合。有两种实现方式。
RAID6 P+Q
计算出两个校验数据P和Q,(分散在所有磁盘)当有两个数据丢失时,根据P和Q恢复出丢失的数据。
RAID6 DP
两块单独的校验盘存放校验信息,且第二块校验信息是斜向的。
RAID10
先进行RAID1再做RAID0。至少4块硬盘。
RAID50
先RAID5再RAID0。至少6块硬盘。
对比
应用
选择参考
空间利用率RAID5明显优于RAID10;
可靠性RAID5低于RAID10;
性能:业务是一些大文件的读取操作时,RAID5性能会明显好于RAID10;而当业务以随机的小数据块读写为主时,RAID10是最优的选择。
RAID数据保护
热备盘
热备盘要求和RAID成员的容量、接口类型、速率一致,最好是采用同一家同型号的硬盘。分为全局热备盘和局部热备盘。
预拷贝
系统通过监控法发现RAID组中某成员盘即将故障时,将即将故障的成员盘中数据提前拷贝到热备盘中,有效降低数据丢失风险。
重构
RAID阵列中发生故障的磁盘上的所有用户数据和校验数据的重新生成,并将这些数据写到热备盘上的过程。
RAID与LUN技术
RAID由几个硬盘组成,从整体上看相当于由多个硬盘组成的一个大的物理卷。在物理卷的基础上可按照指定容量创建一个或多个逻辑单元,这些逻辑单元称作LUN,可作为映射给主机的基本块设备。
RAID2.0(+)
2.0:增强型RAID技术,有效解决了机械硬盘容量越来越大,重构一块机械硬盘耗时越来越长,传统RAID组重构窗口越来越大而导致重构期间又故障一块硬盘而彻底丢失数据风险的问题。
2.0+:在2.0基础上提供了更细粒度的资源颗粒,形成存储资源的标准分配及回收单位,类似计算虚拟化中的虚拟机,称之为虚拟块技术。
- 将硬盘划分为若干连续的固定大小的存储空间,成为存储块(chuck),简称CK;
- CK按RAID策略组合成RAID组,成为存储块组(chuck group)简称CKG;
- 在CKG中划分若干小数据块(extent),LUN由来自不同CKG的extent组成;
- 用作热备空间的CK也是分散在各个盘上的。
2.0原理
2.0+原理
2.0+原理 软件逻辑对象
Volume即卷,是存储系统内部管理对象;
LUN是可以直接映射给主机读写的存储单元,是Volume对象的对外体现。
2.0+优势
- 2.0+使得各硬盘均衡分担负载,不再有热点硬盘,提升了系统的性能和硬盘可靠性。**
2.系统可靠性高
- 快速精简重构
- 提升单LUN性能
SmartTier:LUN上的数据可以根据数据的活跃度自动调整,迁移到存储池的不同存储层。
SmartThin
a.存储容量虚拟化;
b.按需分配;
c.可在线扩容;
d.容量管理自动化;
e.告警阈值。
- Smart QOS
背景:不同应用程序间由于业务模型和I/O特征不同相互影响,导致存储系统整体性能受到影响;
不同应用程序相互争抢系统带宽和IOPS资源,关键业务性能无法得到保证。
需求:保证关键应用程序的性能;
保证高级别用户的性能。
原理:
允许用户根据应用程序的一系列特征(IOPS或带宽),对每一种应用程序设置特定的性能目标;
存储系统根据设定的性能目标,动态分配存储系统的资源来满足特定应用程序的服务级别要求,从而优先保证关键性应用程序服务级别的需求。
计算
硬盘容量=柱面数x磁头数x扇区数x512Byres.
转速:盘片转动圈数/分钟(rpm)
IOPS:(Input/Output Per Second)每秒的输入输出量,是衡量磁盘性能的主要指标之一。
Throughput吞吐量:指单位时间内可以成功传输的数据数量。
寻道时间Tseek:指将读写磁头移动至正确的磁道上所需要的时间。寻道时间越短,I/O操作越快,目前磁盘的平均寻道时间一般在3-15ms。
旋转延迟Trotation:是指盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间。旋转延迟取决于磁盘转速,通常使用磁盘旋转一周所需时间的1/2表示。比如,7200 rpm的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms,(一圈4.17秒)而转速为15000 rpm的磁盘其平均旋转延迟约为2ms。
数据传输时间Ttransfer是指完成传输所请求的数据所需要的时间,它取决于数据传输率,其值等于数据大小除以数据传输率。目前IDE/ATA能达到133MB/s,SATA II可达到300MB/s的接口数据传输率,数据传输时间通常远小于前两部分时间。
因此,理论上可以计算出磁盘的最大IOPS,即IOPS = 1000 ms/ (Tseek + Troatation),忽略数据传输时间。假设磁盘平均物理寻道时间为3ms, 磁盘转速为7200,10K,15K rpm,则磁盘IOPS理论最大值分别为,
IOPS = 1000 / (3 + 60000/7200/2) = 140
IOPS = 1000 / (3 + 60000/10000/2) = 167
IOPS = 1000 / (3 + 60000/15000/2) = 200
写惩罚