大数据存储技术_磁盘与阵列技术

磁盘与阵列技术

2.1 磁盘HDD(Hard Disk Drive)

1.磁盘依旧占外部存储市场的主流

2.HDD新技术

-HAMR技术(热辅助磁记录):提高单盘存储容量(20TB起)

-MACH.2(双驱动臂):提高读写速度(480MB/s)

3.HDD大容量硬盘未衰反兴

4.磁盘里面的结构

磁盘盘片:将硬磁材料涂敷、电镀或沉积在金属或玻璃材质的基板上,是记录二进制信息的载体

主轴:将磁盘盘片固定在磁盘内部,在电动马达的驱动下,磁盘盘片以主轴为中心高速转动。(指标是每分钟的转速)

步进电机:控制磁头精确定位到每个磁道

传动手臂:

读写磁头:将电脉冲信号转换成介质上的磁化状态,又将介 质的磁化状态转换成电脉冲信号,是电磁转换的“桥梁”( 将硬磁材料涂敷、电镀或沉积在金属或玻璃材质的基板上,是记录二进制信息的载体)

控制器:控制主轴电机的供电和速度、磁盘与主机CPU的通讯、如何移动激励臂膀以控制读写、读写磁头的转换、数据访问优化等等

5.磁盘的基本操作

数据写入:

通过控制电路,驱动磁头改变盘片上磁性粒子簇的极性来写入数据。

数据读取:

盘片上被极化的磁性粒子与磁头上的磁感应物质相互作用,在磁头上产生感应电压,进一步被转化为能够被计算机处理的二进制信号。

6.磁盘几何

- 每个磁面由许多磁道构成

- 每个磁道又被分割为许多扇区

7.格式化磁盘

允许控制器为每个区域留出备用的柱面,解释“格式化容量”和“最大容量”之间的差异。

8. 柱面

对齐的轨道形成柱面。

9.物理地址与逻辑地址

物理地址 = CHS(柱面、磁头、扇区)

逻辑地址= Block#

10.磁盘容量

确定容量的技术因素:

记录密度Recording density (bits/in):磁道一英寸的段中可以放入的位数.

磁道密度Track density (tracks/in):从盘片中心出发半径上一英寸的段内可以有的磁道数.

面密度Areal density (bits/in2):记录密度与磁道密度的乘积.

注:由于外磁道的长度大于内磁道。现代磁盘不再把内外磁道划分为相同数目的扇区,而是利用外层磁道容量较内层磁道大的特点,将盘面划分成若干条环带。

存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

11.磁盘定位

平均访问时间 = 平均寻道时间 + 平均旋转延迟 + 平均转换时间

(一般平均寻道时间是8ms)

访问磁盘的时间主要开销是 寻道时间旋转延迟

• 最大旋转延迟

Tmax rotation=(1/RPM) * (60secs/1min)

• 平均旋转延迟

Tavg rotation =(1/2)*Tmax rotation

常见参数:

一个400G磁盘的典型参数:

(1)16,383 柱面,每个柱面24M字节

(2)8个双面盘,共有16个读写头

(3)每分钟7200转

(4)一个读写头每秒可以读写 120 × 1.5 = 80MB/S

(5)每个磁道的数据位 24/16=1.5MB per track

12.磁盘驱动器性能:数据传输速率

13.外部设备互连

14.磁盘访问时间

(1)IDE总线:66MB/S 是一个比较常见的速度

电子设备会成为66MB/S瓶颈

(2)SATA3: 3GB/S

机制会成为180MB/S的瓶颈

(3)几个关键点

· 访问时间是由寻道时延和旋转时延决定的

· 找到某个扇区上的第一位是最贵的,其余位是免费的

· 访问8byte,SRAM的访问时间是4ns

· 访问8byte,DRAM的访问时间是60ns

· 访问512byte,磁盘要10ms, 因此磁盘的访问速率比DRAM慢2500倍,比SRAM慢40000倍

15.驱动的可靠性:平均无故障时间

MTBF:Mean Time Between Failure(设备发生故障之前的运行时间)

2.2磁盘阵列RAID Arrays

1.背景

(1)计算机系统总体性能的提高很不匹配

· 处理器和主存性能改进快

· 辅存性能改进慢

(2)廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks,RAID)

UC, Berkeley:David A. Patterson

RAID0~RAID6

2.RAID基本思想

将多个具有独立操作的廉价磁盘按某种方式组织成一个 磁盘阵列(Disk Array) ,以 增加容量 ,利用类似于主存中 的多体交叉技术,将数据存储在多个盘体上,让这些盘 行工作 来提高数据传输速度,并采用 冗余(redundancy)磁 盘技术 来进行错误恢复(error correction)以提高系统可靠 性(reliability)。

·  RAID是一组物理盘,操作系统将其视为单个逻辑盘

·  独立冗余磁盘阵列RAID:Redundant Arrays of Independent  Disks,独立磁盘构成的具有冗余能力的阵列

3.NRAID

(1) NRAID:Non-RAID

(2) 所有磁盘的容量组合成一个逻辑盘,没有数据块分条(no block stripping)

· NRAID不提供数据冗余

·要求至少一个磁盘

4.JOBD:Just a Bunch of Disks(磁盘簇)

(1)一个在底板上安装的、带有 多个磁盘驱动器 的附件,与RAID阵列不同,没有前端逻辑来管理磁盘上的数据分布

(2) 磁盘控制器把每个物理磁盘看作独立的磁盘 单独寻址 ,因此每个磁盘都是 独立的逻辑盘

(3) JBOD也不提供数据冗余

(4)要求至少一个磁盘

5.RAID组成

6.数据组织:条带(stripe)

 

(1) stripe 是由多个磁盘上的stripes构成的数据条带

(2)stripe的width是指数据被划分为了多少个并发的stripes

(3)性能分析-条带:

· strip/block size可调:带宽和吞吐率的折中

· Small size : 高传输速度

· Large size : 并发I/O

7.RAID 冗余技术

(1)镜像

通过镜像来实现冗余,保存在磁盘A的内容,也保存在B中。

(2)副本

用一个磁盘专门用来保存前面几个磁盘的副本

8.磁盘级别

(1)RAID0:条带阵列,无容错

 

(2) RAID1: 磁盘阵列

优点:高数据可用性和高I/O率(小块)。

缺点:可用存储容量为50%。

性能:提高读性能,但降低写性能。

数据保护:改进了raid0的容错能力。

应用 :会计,支付,金融和需要高可靠性的应用

(3)RAID 0+1

(4)RAID 1+0

重点:

RAID 0+1 和 RAID 1+0 又有什么区别呢?

· RAID 0+1是先让磁盘组内的成员组成RAID 0条带化,然后磁盘组之间为RAID 1镜像关系。

· RAID 1+0是先让磁盘组内的成员组成RAID 1互为镜像,然后磁盘组之间RAID 0条带化。

· 除了构成先后的差别外,主要的区别还表现在容错性上。 RAID 0+1 的损坏一块磁盘之后,所在的RAID 0组即认为损坏,RAID 0+1 实际上已经退化为一个RAID 0 的结构,此时,上面那组RAID 0随便坏一块,整个RAID就崩溃了。

· 相对来说,RAID 1+0 就不会有这个问题,只要同一个RAID 1组内硬盘不全部损坏,整个RAID就不会有问题,在图中可以认为,只要右上角的那块磁盘不坏,整个RAID就不会崩溃。

(5)  RAID3: 带奇偶校验码的并行传送

        RAID 3总是在所有磁盘上读取和写入完整的数据条纹。至少需要3块盘(2块盘没有校验的意义)。将数据存放在n+1块盘上,有效空间是n块盘的总和,最后一块存储校验信息。数据被分割存储在n块盘上,任一数据盘出现问题,可由其他数据盘通过校正监测恢复数据(可以带伤工作),换数据盘需要重新恢复完整的校验容错信息。对阵列写入时会重写校验盘的内容,对校验盘的负载较大,读写速度相较于Raid0较慢,适用于读取多而写入少的应用环境,比如数据库和web服务器。使用容错算法和分块的大小决定了Raid3在通常情况下用于大文件且安全性要求较高的应用,比如视频编辑、硬盘播出机、大型数据库等。

stripe size = logic block size of file system

(6)RAID4: 带奇偶校验码的独立磁盘结构

提供了非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈。对于写操作,RAID4 只能一个磁盘一个磁盘地写,并且还要写入校验数据,因此写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足,所以不推荐 RAID4 在实际应用。RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点的RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。 

(7) RAID5:分布式奇偶校验的独立磁盘结构

奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。 但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。 RAID-5的话,优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。但当掉盘之后,运行效率大幅下降。

特点:

·块大小调整为典型的I/O对齐到单个磁盘上。

·每个条带有一个校验块,但是不同条带位置不同,在相邻条带间循 环分布,从而避免校验写的瓶颈

(8)RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构

名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。

(9)RAID技术比较

(10)技术选择路线

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章