IO虚拟化及RAID卷和磁盘的详细介绍

  • IO虚拟化

    • Domain0:是再XEN里面实现IO虚拟化
    • XEN的架构中:由Domain0来实现IO虚拟化
    • CNA1是底层硬件Domain0是前端驱动,然后VRM把请求发送到Domain0在转发给底层CNA1,但是虚拟机发送的请求需要排队,前一台虚拟机发送的指令完成后CNA才会执行后面排队的虚拟机指令
  • I/O虚拟化-前端驱动模型

    • 前端设备驱动将数据通过VMM提供的接口转发到后端驱动
    • 后端驱动对VM的数据进行分时分通道进行处理
  • KVM架构vs Xen架构

    • 基于Linux架构

      • HVM Guest发送请求给qemu-kvm然后把所有指令发送给kvm.ko,在转发给底层架构Hardware
      • KVM全称:Kernel-based virtual machine
    • 基于redhat架构

  • 云计算和虚拟化的关系

    • 虚拟化:是指一台服务器集合了多个机器的一个集合,仅将多台物理资源抽象成虚拟资源,然后生成虚拟机
    • 云计算:提供服务,不仅仅是提供虚拟机,还可以提供云硬盘、弹性IP,把各种各样的资源组合或者拆分并使用
    • 在云计算中虚拟化只占很小一部分,在云计算中我们可以不需要虚拟化,照常可以实现资源使用,云计算最早被提出是80年代,而虚拟化是1999年,所以云计算比较牛掰
  • 常见整列组成形式

    • 存储设备分为两大类

    • 第一类为盘控分离

    • 概念: 一个节点里面既有硬盘又有控制器
    • 第二类为盘控一体

    • 概念:硬盘框只提供存储,控制框只提供计算,可以连起来,逻辑上组成一个整体。
  • 例子5300服务器的控制框架

    • 如何横向扩展工作

    • 这台5300的服务器相当于由俩脑子每个脑子上面都有独立的四个接口,那么如果我们想要扩展服务器,那必须在买一台服务器,然后进行横向扩展,如下图:

    • 现在横向扩展由两台服务器,一共四个大脑,那么如何连接让他们正常工作?
      • 首先第一台服务器的上面四个接口分别是1、2、3、4,下面接口分别是5、6、7、8
      • 那么第二胎服务器的两个脑子上面一个是1、2、3、4,下面一个是5、6、7、8
      • 把第一台服务器上面的1、2连接到第二台服务器上面的1、2,然后把第一台服务器上面的3、4连接到第二台下面的7、8,以此类推,第一台服务器下面5、6连接第二台服务器下面的5、6,第一台服务器下面7、8连接第二台服务器上面的3、4,后面扩展服务器以此类推

    • 上面的是交叉连接的方式,如果两个服务器扩展到四台服务器不够的话,在他们上面再增加交换机,所有脑子都连接到交换机上面,需要两台交换机,如果其中一台挂了,还有一台还可以正常工作,这样就形成冗余,
      • 交换机连接可以做到两控扩到八控,如果是直连只能做到两控扩到四控
  • 硬盘框(扩控制容量)

    • 例子图示:

      • 注意1:连线时EXP要对应连接PRI口/PRI口要连EXP口,如果是EXP进,那么PRI就出,相反PRI进,EXP出
      • 注意2:A控连A控,B控连B控
      • 注意3:冗余>两条以上的路径,并且是要一正一反
      • 图示结合:

      • 正方向连接视图:

        • 要遵循EXP进,PRI出的原则,所以控制框的EXP0连接到硬盘框1的PRI,那么硬盘框1的EXP1出来就要连接到硬盘框2的PRI口,往下硬盘框2的EXP1连接硬盘框3的PRI口,逻辑上他们现在就是一个整体,当你想要往里面存储数据的时候,你的IO请求会传到控制器里,然后由控制器计算你要在哪些再那读,控制器计算出来之后,它会到对应位置读写如上图所画路线进行读写,这个方法有风险,容易发生单点故障
      • 正与反方先连接视图举例:

        • 如上图,如果还是正着走的话,A连A,那么其中单点故障那么硬盘之间就断开了
        • 那么我们就可以反着走,B连B,绿色线断了,虽然我们不能走A路线,但是我们还可以走B路线,然后去读取另外几块盘的信息。
          • 注意:如果不是某条线挂了,而是某个节点整个硬盘挂了,那么不管走A还是走B都读取不到另外硬盘的信息,图示如下:
        • 红色线条反方向连接如图所示:

          • 如果其中2挂了,通过红色的线确实读不到3了,但是可以通过绿色的线继续读取3。
            • 总结:连线的时候要一正一反
    • 正反连接好处总结:

      • 如上图所示,一正一反连接,那么从控制框的EXP0口出连接到硬盘3的PRI口,然后从硬盘3的EXP口出,连接到硬盘2的PRI口,再从硬盘2的EXP空出连接到硬盘1的PRI口,那么这一套下来,硬盘框的一正一反连接就完成了。
      • 这一套流程叫:scale-up(菊花链)扩容量,但是这种硬盘的连接方式,不可以一致无限往下连接,但是理论上,最多可以扩展到16384块硬盘
      • 如果扩展时SSD硬盘,最多可以扩展到96块
      • 如果扩展的时机械盘,那么最大扩展128块
    • 控制框分类:

      • 2U:5300 5500
      • 3U:5600 5800
      • 4U:6800
    • 硬盘框分类:
      • 2U:2.5英寸/25个盘位
      • 4U:3.5英寸/24个盘位/75个盘位
  • 扩控控制器(scale-out)
    • 有两种方法:
      • 直连原则(只能两控扩展到四控/四的可以扩展到六或者八控)
      • 交换机连接原则(两控用交换机连接可以扩展到八控/四控的可以扩展到十六控)
  • 磁盘组件

    • 视图:

      • 主轴拆解视图:

      • 主轴在转动的过程中会带动盘片转,主轴是由最底层发动机带动转动
      • 读写磁头工作原理:首先由磁盘接口接通电流,电流到达磁头臂,然后通过磁头臂带动磁头进行读和写
    • 磁盘读写视图剖析:

      • 由上图演示,磁盘的盘片是由一圈一圈的线圈组成,然后最下面有一个发动机带动盘片去转动,那么如上图所示,在盘片上有一个A数据,如果想要让磁头读取A数据,那么盘片要转动,然后使A到达,磁头读写范围内,如下图,因为磁头走的是半径,走的是一条弧线,所以当A到达磁头读写范围内的时候,数据A就会被读写,

      • 如果磁头想要读取最外层数据,那么当磁头转动到盘片的最外侧就可以读取,反之读取最内侧,就是磁头转到盘片的最里面就可以读取。
  • 固态硬盘结构

    • 固态硬盘原理剖析图

      • 优势:
        • 无高速旋转部件,性能高、功耗低
        • 多通道并发,通道内Flash颗粒复用时序(Flash颗粒:闪存)
        • 支持TCQ/NCQ,一次相应多个IO请求
        • 典型响应时间低于0.1ms
    • RAID的基本概念和实现方式
    • RAID:全称(redundant array of independent disks)
    • 独立硬盘冗余阵列,也被称为RAID

    • 实现方法:
      • 硬件RAID
      • 软件RAID
    • 独立磁盘都是以扇区为单位进行读写,扇区又是磁盘读写数据的最小单位,默认是512字节,1字节又是8bit,1扇区就是4096bit
    • 一个block(一个块)是由一个或者多个连续的扇区组成的
    • RAID世界里面
      • 条带:是由一个扇区或者多个连续的扇区组成的,是RAID里面读写的最小单位
      • 分条:是阵列中每个盘上相同位置的条带的集合,被叫做分条
    • 扇区和条带的区分视图

    • 如上图所示,一共18个扇区,每两个连续的扇区组成一个条带,所以以上的途中会有9个条带
    • RAID阵列是多个相同条带的集合,如视图

    • 分条:是在RAID里面的每个磁盘里面的第一个条带组成的叫做分条,上图中一共有9个分条
    • 总结:4个盘组成一个RAID,每个盘上相同位置的条带组成一个分条,所以最终会有9个分条
    • RAID读写原理视图

    • 如上图,当我们有一则数据ABCDEFGHIM来的时候,RAID会根据分条单位去依次读写数据,先从第一块分条的第一个条带开始读取数据,当第一个分条也就是四个条带读取ABCD完成后,紧接着第二条分条开始读取数据EFGH,以此类推......到第9个分条读取完成。
    • 总结:RAID做完后,是以分条单位来进行数据读写
  • RAID的数据组织形式

    • 条带(strip):硬盘中单个或者多个连续的扇区构成一个条带,他是一块硬盘上进一次数据读写的最小单元,它是组成分条的元素。
    • 分条(stipe):

    • 分条深度:条带的大小
    • 分条宽度:RAID组中成员的个数
    • 注意:机械硬盘和固态硬盘不能组成一个条带,因为速率不一样,在一起会影响速率
  • RAID数据保护的方式

  • 方法一:在另一块冗余的硬盘上保存数据的副本
  • 方法二:奇偶校验算法(XOR)
    • XOR运算广泛地使用在数字电子和计算机科学中
    • XOP校验的算法——相同为假,相异为真
    • 0⊕0=0;0⊕1=1;1⊕0=1;1⊕1=0;

  • 奇偶校验法——相同为0——相异为1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咕咕瓜瓜

如果觉得合胃口就来点八

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值