
在“系统存储”专题中,我们将按照“从上至下”的顺序向读者介绍整个“系统存储”体系。在这个专题中我们将至少介绍机械硬盘的主要结构、磁盘阵列的分类、操作系统的EXT文件系统、NAS文件共享存储方案、分布式文件系统重要技术点和分布式文件系统示例。最后如果有时间我们将自行设计一款分布式文件系统。下图可以大致描述笔者的写作思路:
本专题首先会花费几篇文章向读者介绍块存储的知识,包括最底层机械硬盘、固态硬盘的构造结构和工作过程。块存储的知识中我们还将介绍磁盘阵列技术,包括磁盘阵列的组织方式和设备类型。最后块存储知识中我们介绍操作系统中的文件系统,包括EXT系列文件系统和XFS文件系统(会顺带提到Windows操作系统使用的NTFS文件系统)。接下来的几篇文章我们会介绍搭建在块存储方案上的关系型,文章会主要讲解Mysql,包括MySQL中最常被使用的InnerDB存储引擎、索引构造方式以及MySQL集群的几种构造方式。
由于在《标准Web系统的架构分层》这篇文章中,笔者已经大致说明了系统存储专题的写作过程,所以本文就直接开始块存储技术的介绍了。笔者计划花费两到三篇文章的篇幅,向大家介绍块存储技术的主要知识点。
块存储技术的构成基础是最下层的硬件存储设备,这些硬件存储设备可能是机械硬盘也可能是固态硬盘。一个操作系统下可以独立控制多个硬件存储设备,但是这些硬件存储设备的工作相对独立,通过Centos操作系统的df命令看到的也是几个独立的设备文件。通过阵列控制层的设备可以在同一个操作系统下协同控制多个存储设备,让后者在操作系统层被视为同一个存储设备。
操作系统控制多个独立的存储设备。下图表示的三个硬盘设备在操作系统下独立工作,在操作系统下显示了三个设备文件:
操作系统通过阵列控制设备控制多个存储设备。阵列控制设备在市场上从低端到高端有很多选择。目前市场上的一些主板就自己集成了阵列控制芯片,如果中小企业需要硬盘阵列设备可以购买民用级产品,市场价格普遍在几千块左右。高端设备可以购买IBM/EMC提供的商业级/工业级设备,市场价格从几万到几千万不等。笔者将在本专题中详细介绍硬盘阵列的重要技术知识点。
为什么操作系统层可以做到以上两种存储设备的组织方案同时兼容呢?因为操作系统层通过各种文件系统规则,可以过滤掉各种存储设备的不同硬件特性。EXT1、EXT2、EXT3、EXT4系列文件系统和XFS文件系统都是Linux操作系统下常用的文件系统,Btrfs文件系统是最近今年Linux操作系统下越来越流行的新一代操作系统。这些文件系统的共同特点是:通过文件系统内部能够辨识的一个文件索引结构规范对下层的硬件设备结构进行封装,以便起到屏蔽和代理操作下层硬件结构的目的。那么当下层存储设备不是机械硬盘而是固态硬盘又或者是阵列控制设备时,又是怎样的工作原理呢?本专题中将会一一解答这些问题。对于操作系统中的文件系统,我们将着重介绍EXT系列文件系统的结构。
现在的机械硬盘技术都非常成熟了,存储容量也出现了几何级增长。但是机械硬盘的基本结构却一直没有太大的变化:它基本上是由机械臂(磁头臂)、主轴、多个成对的磁头和磁面构成。在每个磁面上被分成多个磁道、多个扇面和多个扇区,它们的具体存在形式如下:
磁面上会有多个磁道,它们在一个磁面上拥有不同的磁道编号。从磁面最离主轴最远的磁道到磁面最内侧离主轴最近的磁道,它们的编号从0开始,分别是0、1、2、3、4…….N(N大于等于10000,依据硬盘制作工艺不同而不同)。磁头将会顺着磁道基于磁面的转动读取数据,并且可以在各个磁道间切换位置。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-89075-1.html
1万还是1000亿
可以选择理财产品