-
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年,所以云计算比较牛掰
-
常见整列组成形式
-
存储设备分为两大类
-
第一类为盘控分离
- 概念: 一个节点里面既有硬盘又有控制器
-
第二类为盘控一体
- 概念:硬盘框只提供存储,控制框只提供计算,可以连起来,逻辑上组成一个整体。
- 产品文档链接:百度网盘 请输入提取码 (提取码:dpqk)
- 打开产品文档的软件链接:百度网盘 请输入提取码 (提取码:9ad4)
-
-
例子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。
- 总结:连线的时候要一正一反
- 如果其中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就会被读写,
- 如果磁头想要读取最外层数据,那么当磁头转动到盘片的最外侧就可以读取,反之读取最内侧,就是磁头转到盘片的最里面就可以读取。
- 硬盘和U盘的读写原理视频连接(百度网盘 请输入提取码)提取码:zi5y
-
-
固态硬盘结构
-
固态硬盘原理剖析图
- 优势:
- 无高速旋转部件,性能高、功耗低
- 多通道并发,通道内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
IO虚拟化及RAID卷和磁盘的详细介绍
最新推荐文章于 2023-11-07 17:38:54 发布