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

磁盘与阵列技术

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)技术选择路线

 

posted @ 2020-04-08 15:16  老板我这有皮卡丘  阅读(912)  评论(0编辑  收藏  举报