大话存储2学习笔记

今天是大年初二,睡得早醒得也早。想想最近除了拜年也不算很忙,打算看看冬瓜头写的《大话存储2》,其实我刚开始也不知道这本书,我组栋梁给我墙裂推荐这本书,并且还将他的书借给我过年回家看,承蒙我组栋梁的厚爱,所以开此博客,分章纪录自己的学习心得。以下所有内容都是自己学习总结,不一定准备表达作者的意思,仅供参考。

存储系统的前世今生

这个章节主要讲了存储设备的发展: 竹筒和纸张–>选数管–>穿孔卡–>穿孔纸带–>磁带–>磁鼓存储器–>硬盘驱动器–>软盘–>光盘–>Flash芯片和卡式存储–>磁盘阵列–>大型网络化磁盘阵列。最后作者介绍了自己理解的信息,数据,数据存储,讲了信息如何影响到人类的行为以及对比人类的行为理解计算机的行为。

走进计算机IO世界

理解计算机的IO世界就应该要知道计算机系统的组成。当前计算机的组成都是冯罗伊曼结构,本质上是计算,存储,控制三大部件。CPU,内存和IO设备(IO设备需要控制器读写)通过总线连接。作者将CPU,内存和磁盘比作本地的网络,通过总线连接而不是TCP/IP协议的连接。作者也讲到了CPU和内存属于同一个冲突域(连接在北桥上),IO设备(鼠标,键盘之类的)是另一个冲突域(连接在南桥上),但是并没有指明当前的性能瓶颈在IO。

磁盘原理与技术详解

首先介绍了磁盘的组件概念,诸如盘面,磁道,柱面和扇区。磁盘的工作原理是先读写柱面上的数据再寻道到下一个磁道读写。然后作者类比打字机讲解了磁盘的读写过程,寻道是径向位移由步进电机来驱动,扇区是由盘片旋转移动,磁头不动来确定的,所以影响磁盘性能的关键因素分别是盘片的转速(影响连续读写)和寻道的速度(影响随机IO)。讲完磁盘以后就需要将磁盘连接到计算机系统中,这时候需要一些接口协议标准,诸如ATA(分为SATA和PATA,PATA又名IDE)和SCSI。计算机完整的使用磁盘过程是:

1) 系统BIOS初始化执行基本的磁盘控制器驱动程序
2) CPU可以产生SCSI或ATA指令CDB来控制磁盘控制器
3) 磁盘控制器通过SCSI接口或ATA接口访问磁盘上的磁盘驱动器的控制电路,该控制电路解析指令驱动磁头臂完成IO操作。

作者接着讲述了IOPS(IO/s)和MBPS(MB/s)来描述磁盘的性能,其实不光是磁盘,存储设备的性能都会说明这些参数。IOPS=队列深度/IO延时,队列深度增加,IO延迟也会随即增加。而IOPS就有点类似于存储设备的IO消化能力。MBPS就是吞吐量。
作者还介绍了固态硬盘,主要是讲了Flash介质的,其实新型存储材料的研究还包括PCM,MRAM,RRAM,FeRAM等。Flash介质的固态硬盘相对于磁盘性能快得不只一个数量级,Flash不用寻道,但是Flash也有不完美的地方比如写前擦除,写放大之类的。相应的解决策略作者也讲了一些,感觉就是野路子不够专业,其实概括起来就是磨损均衡,垃圾回收,写前预处理,预留备用空间。

大话/详解七种RAID

RAID, 虚拟磁盘, 卷和文件系统实战

大话存储阵列

系统与系统之间的语言OSI

Fibre Channel协议详解

FC协议的巨大力量

DAS, SAN和NAS

大话以太网和TCP/IP协议

存储网络的新军IP SAN

IP和FC融合的结果

虚拟化

存储集群

数据保护和备份技术

大话数据容灾

数据前处理与后处理

系统IO路径及优化

大话云存储