什么是存储基础

描述

一、存储作为计算机的一份子

  1. 计算机是如何设计的?

现代计算机采用的是冯诺依曼体系结构,包含控制器、运算器、存储器和输入输出设备。其中,存储器分为内存储器和外存储器,而外存储器包括硬盘、光盘和U盘等。CPU与外存储器的通信是通过IO总线进行。

运算器

计算机各部件的性能参数大致是:CPU每秒处理的指令数为百万条,RAM为数十万条,而硬盘为200~300条。可以看出,硬盘是计算机系统的处理瓶颈。

  1. 硬盘长什么样?

每个硬盘包含多个盘片,每个盘片又划分多个磁道,每个磁道又分为多个扇区。

扇区即是硬盘中最小的物理存储单位,也是读写基本单位,大小是为512字节或4096字节。

运算器

  1. 我们人类是如何存数据的?

现在我们习惯于使用电脑进行办公,我们打开WPS进行写作或者制作表格,然后将其保存成某个盘某个目录下的某个文件。下次在查看资料时,便在某盘某目录下去找某文件就可以。也就是说,我们的数据都是以文件形式存在某个目录下的,“文件”是人类视角下的存储数据的最小单位,存数据则新建文件,查看数据则打开某个文件。

  1. 数据从文件到扇区发生了什么?

我们新建、编辑和删除都是围绕文件进行,硬盘存储数据的最小单位是扇区。

在我们与硬盘之间,还有个操作系统(具体地说是文件系统),负责将文件分配到硬盘上,也就是对存储在硬盘上的数据进行组织。如FAT文件系统、NTFS文件系统。

文件系统对硬盘块进行管理,将文件拆分成若干个块,存放到硬盘的不同扇区里面。块与扇区的对应关系是2的n次方。这里的块和扇区的映射由硬盘驱动器来做,当然硬盘驱动器还进行读取数据、控制磁头等操作。

这样,我们就不需要关注文件如何存储在硬盘。转换流程为:

运算器

二、存储脱离计算机独立发展

当计算机的硬盘存储空间不够时,可以通过增加外挂硬盘的方式来增加容器。外挂硬盘比较多时,可以把它们打包放到一个柜子里,称为硬盘扩展柜,常称为 JBOD (Just a Bunch of Disks)。JBOD的使用方法是多块硬盘顺次写入,当第一块硬盘存满了,会继续存到下一块JBOD的缺点是当有一块硬盘损坏时,所有数据将丢失。

为解决数据丢失带来的安全问题,在硬盘扩展柜中引入 RAID

RAID,全称redundant array of independent disks,独立硬盘冗余阵列,也就是多个独立的硬盘组成一个大硬盘,这个硬盘具有冗余特性,允许某个硬盘损坏后,数据仍可用。RAID通过在多个硬盘上并发读写数据来提高存储的 I/O 性能,通过数据冗余来提高数据的高可用。

那么,如何来做RAID?

将硬盘阵列进行横切、竖切形成带、条。带、条交叉点形成逻辑硬盘。

RAID控制器是一种硬件设备或软件程序,用于管理计算机或存储阵列中的硬盘驱动器(HDD)/固态硬盘(SSD),以便它们能如逻辑部件一样工作,各司其职。

RAID标准从RAID0到RAID6。其中,RAID0没有容错设计,RAID1使用镜像。

运算器

运算器

由于在SCSI总线上可挂接的设备数量是有限的,一般为8个或者16个。需要在RAID基础上进一步抽象,这个抽象形成的逻辑结构称为LUN(Logical Unit Number,逻辑单元号),LUN被看作是由硬件生成的虚拟硬盘的统称,而由软件生成的虚拟硬盘称为“卷”。

运算器

从服务器主机的角度来看,这些LUN被看作“物理硬盘”,主机操作系统可以在LUN上进行分区和格式化。这个工作通常由内核中的LVM(Logical Volume Manager,逻辑卷管理)来做。

涉及到几个概念:

  • LUN“物理硬盘”,称为PV(Physical Volume,物理卷);
  • 多个PV在逻辑上组成VG(Volume Group,卷组);
  • 对VG进行分区生成多个LV(Logical Volume,逻辑卷)。

服务器主机操作系统使用这些逻辑卷。

运算器

三、块存储

  1. DAS

存储直接外挂在一台服务器上,这种架构称为DAS(Direct Attached Storage,直接连接存储)。DAS的特点是其自身没有操作系统和文件系统,仅供一台服务器使用。

常见的存储设备有硬盘、U盘、移动硬盘、JBOD等。在服务器上显示为本地硬盘,为块级别存储设备。

  1. SAN

为了硬盘阵列能够供多个服务器使用,就出现了SAN(Storage Area Networks,存储区域网络)。

运算器

在SAN中,SAN硬盘阵列和服务器的关系是N:M,也就是多对多的关系。

SAN有FC-SAN和IP-SAN两种。

其中,FC-SAN需要FC交换机和光纤,价格较贵,要组一套完整的SAN网络构架,需要几十W的投资成本。IP-SAN需要以太交换机,价格会降低一半。

SAN可以看作是网络上的硬盘,面向的是海量的面向数据块的数据传输。

  1. DAS和SAN图示

运算器

四、文件存储

  1. NAS

文件存储可以看成是文件服务器,提供文件共享服务给用户,并能控制用户的访问权限(增删改),称为NAS(Network Attached Storage,网络附加存储)。

NAS的实现方式是在存储设备上安装文件系统,并以文件目录的方式共享存储空间。服务器无须对文件存储进行格式化。

NAS的特点是包含文件系统和操作系统,可完全独立自主运行,属于文件级共享存储设备,成本低,软硬件一体。

NAS可以看成是网络上的文件系统。

运算器

  1. NAS与SAN

SAN提供的是块级存储服务,NAS提供的是文件级的数据访问和共享服务。

现在很多厂商提供统一的存储,也就是一种网络存储架构同时支持NAS和SAN。

五、对象存储

有别于文件存储的树形结构,对象存储将数据看成“对象”,并且数据的存储采用两级结构,分别称为Bucket(桶)、Object(对象)。

运算器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分