分类 - 大话存储笔记

2019-10-27 16:40:01    105    0    0
2019-10-27 16:40:01    130    0    0
2019-10-27 16:40:01    176    0    0

操作系统中RAID的实现和配置(软件RAID)

例如,某台机器上安装了2块IDE磁盘和4块SCSI磁盘,IDE硬盘直接连接到主板上集成的IDE接口上,SCSI磁盘则是连接到一块PCI接口的SCSI卡上。在没有RAID程序参与的条件下,系统可以识别6块磁盘,并且经过文件系统格式化后,挂载到某个盘符或目录下,供应用程序读写。
安装了RAID程序之后,用户通过配置界面,先将两块IDE磁盘做成了一个RAID0系统,如果原来每块IDE磁盘容量是80GB,做成RAID0后变成了一个160GB的虚拟磁盘。然后用户又将4块SCSI盘做了一个RAID5系统,如果原来每块SCSI磁盘是73GB,做成RAID5后虚拟磁盘的容量将约为3块盘的容量,即216GB。
如果是Windows系统,打开磁盘管理器只能看到两块硬盘,一块是80GB,一块是216GB。可以对这两块盘进行格式化,比如格式化为NTFS文件系统,格式化程序丝毫不会感觉有多块物理硬盘在写入数据。
为了保证性能,同一磁盘组只能用相同类型的磁盘。

卷的创建

初始化磁盘后,在磁盘管理中可以新建卷,卷主要有以下几种类型:

  • 简单卷:按照磁盘的顺序依次分配空间,与磁盘分区功能相似,卷空间只能在一块磁盘上分配,并且不能交叉或者乱序。
  • 跨区卷:在简单卷的基础上,可以让一个卷空间跨越多块物理磁盘,相当于不做条带化的RAID0系统。
  • 带区卷:相当于条带化的RAID0系统。
  • 镜像卷:相当于RAID1系统。
  • RAID-5卷:实现一个RAID5卷。

磁盘管理是一个带有RAID的卷管理软件。

RAID卡

软件RAID有三个缺点:

  • 占用内存空间
  • 占用CPU资源
  • 无法将安装有操作系统的那个磁盘分区做成RAID模式,因为RAID程序运行在操作系统之上。如果操作系统损坏RAID程序也就无法运行,RAID磁盘上的数据只有实现相应的RAID算法的程序才能识别并且正确读写。

人们在SCSI卡上增加了额外的芯片用于实现RAID功能。实现了RAID功能的板卡(SCSI卡或者IDE扩展卡)就叫做RAID卡。同样,在主板南桥芯片上也可实现RAID功能。这样,操作系统不需作任何改动,除了RAID卡驱动程序之外不用安

2019-10-27 16:40:01    523    0    0
2019-10-27 16:40:01    96    0    0
2019-10-27 16:40:01    89    0    0

RAID概念

RAID(Redundant Arrays of Independent Drives,独立磁盘冗余阵列):独立磁盘构成的具有冗余能力的阵列。

RAID的三个基本功能

  1. 通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高数据获取速度。
  2. 通过对一个阵列中的几块磁盘同时读取,减少磁盘的机械寻道时间,提高数据获取速度。
  3. 通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

RAID0

RAID0是一种简单的、无数据校验的数据条带化技术。RAID0将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。理论上讲,一个由n块磁盘组成的RAID0,读写性能是单个磁盘性能的n倍,在所有RAID等级中是最高的,不过由于总线带宽等多种因素的限制,实际的性能提升低于理论值。
RAID0具有低成本、高读写性能、100%的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏将无法恢复。一般适用于对性能要求严格但对数据安全性和可靠性不高的应用。
title

RAID1

RAID1称为镜像,它将数据完全一致地写到工作磁盘和镜像磁盘,磁盘空间利用率为50%,提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。
RAID1具有安全性高、技术简单、管理方便等优点,拥有完全容错能力,但实现成本高。一般适用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。
title

RAID2

RAID2称为纠错海明码磁盘阵列。数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。数据宽度为4的RAID2需要4块数据磁盘和3块校验磁盘。数据宽度为64的RAID2需要64块数据磁盘和7块校验盘,可见RAID2的数据宽度越大,存储空间利用率更高,但同时需要的磁盘数量也越多。海明码自身具备纠错能力,保证数据的安全性。数据传输性能相当高,设计复杂性要低于RAID3、RAID4和RAID5。
但是RAID2数据冗余开销太大,而且数据输出性能受阵列中最慢磁盘驱动器的限制。再者海明码是按位

2019-10-27 16:40:01    117    0    0

总线-IO的通路

对于CPU来说,从内存提取数据,叫做Input;运算完成后将数据放回内存或直接将电信号发向一些针脚以操作外部设备,叫做Output。
IO是通过共享一条总线的方式来实现的,导线上的每处电位相等,总线上的所有部件都会收到相同的信号,也就是说同一时刻只能有一个部件在接收或者发送,是单工的工作模式。
title
所有部件根据另一条总线(仲裁总线或中断总线)上给出的信号判断这个时刻总线可以由哪个部件来使用。如果CPU向某个设备做输出操作,就由CPU主动做中断;如果某个设备请求向CPU发送信号,则由这个设备产生中断信号。
主板上的每个部件都是通过总线连接起来的,总线的导线数目可以是8条、16条、32条、64条甚至128条。由于导线密集,在高频振荡时会产生很大干扰,所以将导线分组印刷到不同电路板上,再将电路板压合起来,形成一块板(多层PCB)。
总线有数据总线、控制总线、地址总线、仲裁(中断)总线,一般按照数据总线的条数来确认一个总线或设备的位宽(CPU按照其内部寄存器到运算单元之间的总线数目来确定位数),比如32位PCI总线表明这条线有32根导线用于传递数据信号。

PCI总线

PCI总线是目前台式机和服务器所普遍使用的一种南桥与外设连接的总线技术。
PCI总线的地址总线和数据总线是分时复用的。这样的好处是,一方面可以节省接插件的管脚数,另一方面便于实现突发数据传输。
在数据传输时,一个PCI设备作为发起者(主控,Initiator或Master),而另一个PCI设备作为目标(从设备,Target或Slave)。总线上的所有时序的产生与控制,都由Master来发起。PCI总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构(Arbiter),来决定谁有权利拿到总线的主控权。
当PCI总线进行操作时,发起者(Master)先置REQ#信号(Master用来请求总线使用权的信号),当得到仲裁者(Arbiter)的许可证时(GNT#信号),会将FRAME#信号(传输开始或者结束信号)置低,并在地址总线(和数据总线共享)上放置Slave地址,同时C/BE#(命令信号)放置命令信号,说明接下来的传输类型。
所有PCI总线上的设备都

2019-10-27 16:40:01    129    0    0

存储的历史

竹简和纸张->选数管(直观存储转变为机器存储)->穿孔卡->穿孔纸带(纸带上是按照一定规则排列的小孔,这些孔被银针穿过后,银针便会接触到纸带下面放置的水银槽,从而导通计算机上的电路)->磁带->磁鼓->硬盘驱动器->软盘->光盘->Flash芯片(Flash芯片用USB接口接入主机总线网络的小型便携存储设备就是U盘)和卡式存储(另一种形式的Flash芯片集成产品)->硬盘阵列(信息爆炸,硬盘容量不断增长,同时单块磁盘所能提供的存储容量和速度无法满足需求,磁盘阵列应运而生)->大型网络化磁盘阵列
title

信息、数据和数据存储

信息

信息是主观感受到的语言、文字、数据、图像等的总称。物质的形态、特性在时间和空间上的变化,以及人类社会的各种活动都会产生信息。我们生活在信息的海洋中,获取信息是人类最基本的活动之一,脱离了信息,“世界”什么都不是。

数据

数据是记录客观事物的、可鉴别的符号。数据本身无意义,具有客观性。数据包含了信息。
数据非常重要,人们想出一切办法来保护这些数据,数据存放在磁盘上,需要有一定的组织,组织数据这个任务由文件系统来担当。

存储相关基础概念

组成计算机的三大件是CPU、内存和IO。
计算机存储领域所研究的就是怎样为计算机又快又高效地提供数据以便辅助其运算。
为了追求高速度,把多块磁盘做成RAID(Redundant Arrays of Independent Disks)系统,将每个独立的磁盘组成阵列,联合存储数据,加快数据存储速度。
同时容量问题也需要得到解决,将硬盘放到主机箱的做法已经不能满足现代应用程序对存储容量的需求,催生了网络存储技术。网络存储将存储系统扩展到了网络上,使存储设备成为了网络上的节点,以供其他节点访问。
网络存储技术又使很多其他相关技术得以推广和应用,比如IT系统容灾技术等。

2019-10-27 16:40:01    95    0    0

软盘和磁带

软盘

将布满磁性粒子的一片圆形软片包裹在一个塑料壳中,中间开孔,以便电机夹住这张软片来旋转,这就是软盘。
将软盘放入驱动器,电机便会带动这张磁片旋转,同时磁头也夹住磁片进行数据读写。磁头探测到软盘上的磁性粒子的N极便认为是1,探测到S便认为是0。
软盘被设计为块式而不是流式,所以需要扇区划分等操作。所谓块式,就是指数据分成一块块地存放在介质上,可以直接选择读写某一块数据,定位这个块的速度比较快。所谓流式,就是指数据连续不断的存放在介质上,不能定位到某处进行读写。

磁带

模拟磁带,也就是录音带,属于流式记录。软盘记录数字信号,磁带记录模拟信号。
磁带是为了满足大容量数据存储的需要,价格便宜,但记录是线性连续的,没有扇区的概念,在每个流之间可以有一段空隙,以便磁头可以通过快进快速定位到这个位置。

硬盘

硬盘结构

硬盘大致由盘片、读写头、马达、底座、电路板等几部分组合而成。

盘片

盘片的基板由金属或玻璃材质制成,未达到高密度高稳定性的要求,基板要求表面光滑平整不可有任何瑕疵,然后将磁粉均匀溅镀到基板表面上,最后再涂上保护润滑层。
盘片全程制造均须在Class 100高洁净度的无尘室内进行。盘片上任何异物和尘埃都会使得磁头摩擦到磁面而造成数据永久性损伤。

磁头(读写头)

硬盘的储存原理是将数据用其控制电路通过硬盘读写头(Read Write Head)去改变磁盘表面上极细微的磁性粒子簇的N、S极性来加以储存。
磁盘旋转时,在盘片上空产生气流,利用空气动力学使磁头悬浮于磁片上空,读写数据,一定不能接触,否则就会划伤。
title

步进电机

为了让磁头精确定位到每个磁道,用普通的电机达不到这个精度,必须用步进电机,利用精确的齿轮组或音圈,每次旋转可以仅仅使磁头进行微米级的位移。
音圈电机则是使用精密缠绕的铜丝,置于磁场之中,通过控制电流的流向和强度,使得磁头臂在磁场作用下做精确的步进。

盘片上的数据组织

硬盘在逻辑上被划分为磁道、柱面以及扇区。

盘片和盘面

硬盘的盘片一般用铝合金材料做基片(基板),高速硬盘也有用玻璃做基片的。磁头传动装置使磁头做径向移动,变换磁道,通常有两种类型

2019-10-27 16:40:01    111    0    0

应用层

一个系统到另一个系统传达的最终信息由应用层进行处理,直接为应用程序提供服务。

表示层

不同的计算机体系结构使用的数据表示法不同,表示层提供应用层数据的统一表示方法,包括转换、加密、解密和压缩。
表示层不一定非得有一个单独的结构体,它可以嵌入到实体数据中。

会话层

使应用能建立和维持会话,同步会话。通信双方在发送实际数据之前先建立一个会话,互相打个招呼,以便确认双方的应用程序都处于正常状态。
TCP/IP协议将OSI的应用层、表示层、会话层合为一层称为应用层。

传输层

负责向两个主机的进程之间的通信提供服务。

TCP

  • TCP协议的作用就是保障上层的数据能传输到目的地。TCP就像一个货运公司的押运员,客户给你的货物就要保证给客户送到目的地,而不管你通过什么渠道,是直达(直连路由)还是绕道(下一跳路由),是飞机还是火车、轮船(物理线路类型)。
  • 如果运输过程中出现错误,必须重新把货物发送出去。每件货物到达目的地,必须找收件人签字(TCP中的ACK应答包),或者一批货物到达后,收件人一次签收(滑动窗口)。
  • 最后回公司登记。
  • TCP还处理拥塞和流量控制。比如调度(路由器)选择了走这条路,但是太拥挤了,那么我也不好说什么,我只管押运,我只能通知后续的货物慢一点发货,因为这条路太挤了。当道路变得畅通时,会通知后面的货物加速发货。TCP通过接收方返回的ACK应答数据包来判断链路是否拥挤。
  • 传输层的程序一定运行在通信双方的终端设备上,而不是运行在中间的网络互联设备上。

网络层

IP协议

  • 货运公司为每件货物贴上一个地址标签(IP头)。
  • 货运公司的调度们掌握了全球范围的地址信息(路由表),比如去某某地方应该走哪条路。
  • 选择了一条路后就让司机开车上路了。
  • 押运员进行理货和收发货物,没事就在后车厢里睡觉。
  • 此时最忙的是各个中转站的调度了。货物每次中转到一个地方就交给那个地方的调度,由那个调度来决定下一站应该到哪里。
  • 接班的时候,旧调度不必告诉新调度最终目的应该怎么走,因为所有