读书:大话存储

 

#大话存储

 

## 第一章  

pass

 

##第二章走进计算机IO世界

 

###cpu,内存和io总线

* IO总线:地址总线(寻址),数据总线(发送数据);控制总线(发送中断信号)

* CPU IO: 进入内存取数据,处理之后放入内存

* 磁盘 IO: 进入磁盘读取数据,处理完毕写入磁盘

 

cpu,内存和磁盘之间通过网络来通信,通信就是通过电路,属于物理层。

凡是分割节点之间,需要接触和通信,就可以成为网络。物理层相当于道路,链路层相当于司机。链路层包含Mac地址,司机也知道往哪里送货。

 

##第三章磁盘原理与技术详解 

 

####硬盘的基本结构

硬盘结构图:盘片,读写头,马达,底座,电路板等几大项

 

* 盘片:基板是金属或者玻璃材质,光滑平整不可有任何瑕疵,尘埃会使磁头摩擦,对数据永久性伤害,因此硬盘维修需要在无尘室拆解维修。盘片上有盘面,磁道和柱面。硬盘的盘片组有2-14组。

 

* 磁头:盘片上面对应的读写磁头。

 

* 磁道:同心圆轨迹。并非连续记录数据而是划分成圆弧。

 

* 扇区:磁道同心圆等分成的圆弧。为了使数据存储更加条理化。每个扇区存放512字节数据和其他信息,数据地点标志符和数据段。圆弧的角速度一样,外圈的圆弧长度肯定比内圈的大,同样的转速下,外圈数据读写要比内圈快。每个扇区是最小的读写单位,一个扇区内部的数据是连续流式记录的。

 

* 柱面:所有盘面上的同一磁道,在竖直方向上构成一个圆柱,称为柱面。

 

* 步进电机:让磁头精确到每个磁道,普通电机达不到这种精度,微米级别的位移。

 

* 启停区:磁头回到不含磁粒子的区域,位于盘面扇区的最内圈,即线速度最小的地方。

 

####硬盘的存储读写原理

* 存储原理:通过读写磁头改变N,S极性加以存储。磁头和盘片犹如一架波音747,其Flying Height保持在一米距离而不可坠毁。磁盘旋转时,盘片上空产生气流,空气动力学使磁头悬浮于盘片上空。

 

* 读写原理:数据读写按照柱面进行,就是竖着写,我们一般以为横着写。首先从同一柱面的0磁头开始操作,依次往下在同一柱面的不同盘面进行操作。也就是说一个磁道写满以后,到同一柱面的下一个盘面来写。因为到下一个盘面选取磁头,电子切换。而选取柱面则必须通过机械切换,即[寻道]。电子切换比机械切换快很多。这样比我们第一意识到的先写完整个盘面相比,减少寻道次数的频繁度,提高了读写效率。如果能将磁头做成单个原子的精度,那么存储技术发送革命性的质变。

 

####硬盘的损坏原因:

1)硬盘摔或者震荡导致磁头和盘片发生碰撞,不能精确跟踪盘片磁道,造成数据丢失形成坏块,甚至造成磁头和盘体的损坏。不要冲击碰撞,要轻拿轻放。

2)磁盘进入灰尘,落在磁盘上,影响读写。因此硬盘密封一定要可靠,非专业绝对不能开启硬盘封腔。

 

####什么是0磁道

0磁道:扇形区的最外圈,距离主轴最远的地方,0磁道存放用于操作系统启动的必须程序代码,默认从0磁道读取程序。很多硬盘因为0磁道损坏就报废了,非常可惜。

 

####磁盘的io单位

磁盘的io单位:磁盘读写以扇区为最小寻址单位。对于磁盘来说:一次磁头的连续读或者连续写叫做一次IO,这是狭义的io。广义的io就是输入输出比如open(),seek(),write(),close()就是一次io,对应控制器对最终磁盘的N*N*N个IO。

####LBA逻辑块地址

LBA:logical block address,逻辑块地址,物理地址(盘片,磁道和扇区)到逻辑地址(虚拟目录)的抽象,虚拟和映射。

 

####影响磁盘性能的因素:

1)转速:磁头不动全靠盘片,转速影响io吞吐量

2)寻道速度:磁头臂切换磁道的速度。

3)单碟容量:容量越大,数据密度越大。

4)接口速度:高端硬盘都用高速接口。

####内部传输速率和外部传输速率

内部传输速率:磁头读写磁盘的最高速率。不包含寻道以及等待扇区旋转到磁头下所耗费时间的影响,是一种理想情况。

 

外部传输速率:磁头从盘中读出的数据放入电路板缓存芯片,再取出通过外部接口传送给主板上的硬盘控制器。从外部接口传输给硬盘控制器的传输速率就是硬盘的外部传输速率。

 

####为什么会产生磁盘冗余阵列RAID?

磁头滑过盘片一圈只需要很短的时间,而换磁道所需要的时间比前面的过程耗费的多!现在应用文件动辄几百兆甚至上GB,一个磁道放不下,必须进行换道。那换道时间长,效率肯定就不高。人们发明了RAID技术,让一个硬盘的磁头换道时候,另一个磁盘的磁头在读写,避免磁头被打断。相当于一个大虚拟磁盘总是处于读写状态,因此提高了效率。

 

串行传输:适宜长距离

并行传输:适宜短距离

 

####磁盘的IOPS和带宽

磁盘的IOPS:每秒能进行多少次IO。

如果不频繁换道,能写完一块,io次数是比较低的,但是每次写入只有512字节,这应该是最高的。比如写1024个1KB的文件肯定比写一个1MB慢很多。

 

传输带宽(吞吐量):硬盘传输数据的时候数据流的速度。

写1024个1KB的文件需要1秒,那就是1M/s

写1个1MB的文件需要0.1秒,那就是10M/s

 

对有些磁盘阵列的高端产品同时具备较高的IOPS和带宽,保证在任何应用下表现出高性能。

 

##第四章大话/详解七种RAID

pass

 

##第五章 RAID、虚拟磁盘、卷和文件系统实战

 

####文件系统的IO

(1)同步io:io请求发出后,等待返程信号。

(2)异步io:io请求发出后,继续执行后续代码,直到时间片或者其他原因被刮起。异步io的模式下,应用程序不会受io瓶颈的影响。

(3)  Direct IO:文件系统都有自己的缓存机制,增加缓存使性能得到优化,有些程序比如数据库有自己的缓存,io发出的是自己的缓存算法优化的,到达文件系统再优化就没有必要,多此一举。调用Direct IO接口,其io请求,数据请求以及返回数据不被文件系统缓存,直接进入应用程序的缓存,由于系统路径上任何一处引入缓存,都是write back模式,会带来数据一致性的问题,Direct IO绕过文件缓存,降低了数据不一致的风险。

 

同步+阻塞=彻底堵死

异步+非阻塞=最松耦合的IO方式

 

因此,很多数据库再异步IO的情况下,都会把那个进程数量(负责把缓存 Flush进入磁盘)设置成比较低的数值,甚至为1。因为flush进程不必挂起等待io完成,即使使用很多flush,跟一个也差不多。

 

## 第六章大话磁盘阵列

pass

 

## 第七章系统与系统之间的语言OSI

 

####a和b计算机的通信流程:

[流程](/Users/Alex/Desktop/ab_computer.jpg)

 

####TCP/IP协议体系模型

TCP/IP协议体系模型有4层:应用层(应用访问层),传输层,网络层,物理链路层

 

TCP/IP协议体系没有完全按照OSI匹配,将应用层,表示层,会话层合并为应用访问层。这个层全部是与应用程序相关的逻辑,与网络通信无关,应用层只需调用下层的接口即可完成通信。

 

##第八章  Fible Channel协议详解

光线信道:光纤信道是一种高速网络技术标准(T11),主要应用于SAN(存储局域网)。其拓扑结构分为三种,点到点、仲裁循环、交换结构,分为FC-5、4、3、2、1共5层,具有多种适配端口。

 

##第九章  Fible Channel协议的巨大力量

pass

 

##第十章  DAS,SAN,NAS

pass

 

##第十一章  大话以太网和TCP/IP协议

pass

 

##第十二章  存储网络的新军IP SAN

SAN(存储区域网络:Storage Area Network)实际是一种专门为存储建立的独立于TCP/IP网络之外的专用网络。

SAN采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准。

 

##第十三章  IPFC融合的结果

pass

 

##第十四章  虚拟化

CPU内部是大量的集成电路,输入一种电信号,输出一种电信号。

通过编写汇编代码,可以实现对CPU内部逻辑电路的刺激,引起逻辑输出。

 

DOS操作系统:载入一个程序,没有任何中断,则独占CPU,执行完毕返回DOS。

 

批处理系统:多个程序排列,成批执行,还是单任务的,仍然是一个程序独占资源。

 

多任务操作系统:多任务操作系统的调度程序----中断服务程序。微观上每个程序运行还是独占CPU,但是独占时间非常小,CPU进行切换和状态保存,宏观上就是多任务操作系统。

 

####计算机存储子系统的虚拟化:

元素包含:磁盘、磁盘控制器、存储网络、磁盘阵列、卷管理层、文件系统虚拟层、目录虚拟层

 

卷管理层:负责对物理磁盘的收集和再分配。

文件系统:对磁盘块的虚拟、抽象、组织和管理, 实现实际磁盘位置和文件目录的映射。

虚拟目录:增加使用文件的灵活性。

 

##第十五章  存储群集

####各种类型的集群

高可用集群:节点分为活动节点和备份节点。备份节点要要接管故障节点的IP地址、主机名、磁盘卷、应用程序的上下文等,高可用软件执行资源监控和接管,监控对方节点一旦侦测到任何故障,强行将所有资源占为己有并向客户端提供服务。

 

负载均衡集群:所有节点参与运算。分配策略有轮流分配,随机分配,最小压力分配。

 

高性能集群:又叫科学计算集群。比如地质勘探,气象预测,分子筛选,仿生模拟,蛋白质构型,分子药物分析,人工智能等。🎺极大CPU和内存资源。为了增加整个CPU核心数,引入几十上百台计算机,每台多个物理CPU,每个CPU多个核。编程API分发到每个节点。节点操作系统自行分配到多个CPU的核心上。mpi 就是一个广泛应用的高性能集群API。mpi分布式编程。

 

####集群的适用范围:

硬件:CPU,内存、显卡、显示终端、以太网卡,计算机本身,以太网以及IP网络设备,fible channel 卡,fible channel网络交换设备、磁盘阵列控制器本身、磁盘阵列内部各个组件、磁盘本身、磁盘内部的多片盘片和多个磁头

 

软件:卷管理系统,文件系统,应用程序

 

意义:各大知名网站一般采用负载均衡群集来均衡tcp连接请求。Linux LVS是基于策略的tcp包转发引擎。要重视生产停顿。各大科研院所,气象,石油勘探等机构,运算量大周期长,一般都有此集群。

 

####硬件集群:

CPU集群,内存集群,以太网卡集群,以太网卡和IP网络设备集群,显卡集群,fc卡集群,fc网络设备集群,显示器集群,磁盘阵列控制器集群,磁盘集群。

 

####软件集群:

应用程序集群,文件系统集群,卷管理系统集群

 

世界是由基本公式叠加而成的庞大公式集合。

逻辑是物质变化过程的体现。任何对逻辑的改变,最终体现到对物质的改变,而物质的改变,又体现为逻辑。

 

##第十六章  数据保护和备份技术

数据保护和数据备份看似简单,实则很复杂,数据保护和备份已成问为存储领域的一门分支学科。

 

####数据保护的原因:

突然的磁盘损坏,数据损坏

 

####数据保护的方法:

1 文件级别的备份

2 块级备份:块上有多少容量就备份多少容量。

有的系统管理员,定时系统备份并重新导入,就是为了剔除磁盘碎片,比磁盘碎片整理效果一样。

 

####高级数据保护的方法:

1 远程文件复制:异步远程文件同步的软件,监视文件系统的动作,文件变化网络同步到异地站点,不必每次整个文件复制。

2 远程磁盘(卷)镜像

这是基于块的远程备份。如IBM的PPRC ,EMC的SRDF等

3 块快照数据保护

主卷和镜像卷。基于文件系统和物理卷的快照。

 

##第十七章大话数据容灾

pass

 

posted @ 2018-10-17 16:46  Adamanter  阅读(289)  评论(0编辑  收藏  举报