云计算中的存储基础知识

虚拟化中的存储架构

1

最底层是物理磁盘,最上层是云硬盘,中间经过一系列的逻辑划分、文件系统格式化等操作。

虚拟化存储:由SAN和NAS提供的存储空间,需要添加一层文件系统(VIMS)屏蔽底层差异,性能较差。支持更多的虚拟化特性如迁移、快照等等。有文件系统。

非虚拟化存储:由分布式存储提供的存储空间,没有添加文件系统,性能较好,无法支持一些高级虚拟化特性。没有文件系统。

物理磁盘类型

机械硬盘

机械硬盘(hard disk drvie, HDD)

原理:硬盘内部用于存储数据的盘片,是一张表面涂有磁性材料的金属圆盘。盘片表面被划分出一圈圈磁道,当盘片在马达的驱动下高速旋转时,设置在盘片表面的磁头便受到精确的控制,沿着磁道读取和写入数据。当系统向硬盘写入数据时,磁头中便产生随着数据内容而变化的电流,这股电流会产生磁场,使盘片表面磁性物质的状态改变,并且这一状态在电流磁场消失后仍能持久地保持下来,这就相当于将数据保存了下来。当系统从硬盘中读取数据时,磁头经过盘片指定区域,盘片表面的磁场使磁头产生感应电流或线圈阻抗产生变化,这一变化被捕捉下来,经过一定的处理,便能够还原出原本写入的数据。

组成:盘片、主轴组件、浮动磁头组件、磁头驱动机构、前驱控制电路、接口

2

  1. 盘片和主轴组件。盘片和主轴组件是两个紧密相连的部分, 盘片是一个圆形的薄片, 上面涂了一层磁性材料用以记录数据。 主轴有主轴电机驱动, 带动盘片高速旋转。
  2. 浮动磁头组件。浮动磁头组件由读写磁头、传动手臂和传动轴 3 部分组成。在盘片高速旋转时,传动手臂以传动轴为圆心带动前端读写磁头在盘片旋转的垂直方向上移动,磁头感应盘片上的磁信号来读取或改变磁性涂料的磁性,以达到写入信息的目的。
  3. 磁盘驱动机构。由磁头驱动小车、电机和防震机构组成,其作用是对磁头进行驱动和高精度的定位,使磁头能迅速、准确地在指定的磁道上进行读写工作。
  4. 前驱控制电路。前驱控制电路是密封在屏蔽腔体以内的放大线路,主要作用是控制磁头的感应信号、主轴电机调速、驱动磁头和磁头定位等。
  5. 接口。通常包含电源接口与数据传输接口。

分类

SATA硬盘:SATA,即串行 ATA(serial ATA),SATA使用串行的方式发送数据,SATA 使用单通道进行点对点的传输,其中以串行方式按位传输,数据中嵌入了校验和信号位。这种传输方式既能保证速度,又能提高数据传输的可靠性。SATA 硬盘采用点对点连接方式,支持热插拔,即插即用。 ATA(advanced technology attachment)高技术配置,是由集成驱动电子设备(Integrated Drive Electronics,IDE)技术实现的磁盘驱动器接口,IDE是一种计算机系统接口,主要用于硬盘和CD-ROM,本意为“把控制器与盘体集成在一起的硬盘”。SATA 硬盘采用点对点连接方式,支持热插拔,即插即用。

SAS硬盘:SAS(serial attached SCSI),即串行连接 SCSI(small computer system interface,小型计算机系统接口)。与 SATA 类似,SAS 也是从对应的并行 SCSI 技术发展而来。SAS 作为 SCSI 技术的分支,与 SATA 类似,通过采用串行传输以得到更高的性能,目前主流的 SAS 传输速率为 6Gbit/s。SAS 向下兼容 SATA,SAS 控制器可以与 SATA 硬盘相连接,这为企业提供了低成本和优秀的灵活性。在传输方式上, SAS 采用点对点连接方式。与 SATA 类似,SAS 不像并行 SCSI 一样需要终止信号,也不会出现同步问题。 小型计算机系统接口(SCSI,Small Computer System Interface)是一种用于计算机及其周边设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。SCSI标准定义命令、通信协议以及实体的电气特性(换成OSI的说法,就是占据物理层、链接层、套接层、应用层),最大部分的应用是在存储设备上。

NL-SAS硬盘:NL-SAS 全称为 near line SAS, 是一种介于 SATA 和 SAS 之间的硬盘。

固态硬盘

固态硬盘:(Solid State Drive, SSD)用固态电子芯片阵列构成的硬盘。

组成:主控芯片和存储芯片。存储芯片负责存放数据,主控芯片则控制数据的读/写过程协调。

分类

基于闪存的固态硬盘:常见的固态硬盘采用闪存芯片作为存储介质。闪存芯片根据使用方式不同,可以被制作成多种电子产品,如固态硬盘、存储卡、U 盘等,这些设备都具有体积小、便携性高等特点。

基于DRAM的固态硬盘:采用 DRAM(动态随机存取存储器)作为存储介质。这种存储介质目前广泛应用于内存,性能非常好,而且使用寿命很长。美中不足的是,它只有在供电状态下才能保存数据,一旦失去供电, DRAM 存储的信息就会丢失,因此它需要额外的电源来保护。

优势

  1. 读取速度快
  2. 抗震性好
  3. 无噪音
  4. 体积小、重量轻
  5. 工作温度范围大

缺点

  1. 成本较高,无法完全替代机械硬盘
  2. 寿命较短,擦写次数有限

几种硬盘对比

3

集中式存储和分布式存储

集中式存储

指的是所有的资源都集中在某一个中心, 然后通过统一接口向外提供服务。集中式存储指的是将所有的物理磁盘集中在硬盘框中,然后通过控制器向外提供存储服务,这里的集中式存储主要指的是磁盘阵列。

磁盘阵列将多个磁盘组成一个逻辑上更大的磁盘, 当做单一的存储资源来使用。在外形上,磁盘阵列包括了控制框和硬盘框两大部分。控制框与硬盘框两者有机结合共同为用户提供了一个高可用、高性能和大容量的智能化存储空间。主要实现形式有光纤通道存储区域网(FC-SAN)、IP 存储区域网络(IP-SAN)和 SAS 存储区域网络(SAS-SAN)。不同的实现形式分别采用不同的通信协议和连接方式在服务器和存储设备之间传输数据、命令和状态。

分类

SAN:存储区域网络(Storage area network)是一种独立于业务网络系统之外,以块级数据为其基本访问单位的高速存储专用网络。 SAN 是一个由存储设备和各种系统部件构成的网络架构,包括使用存储设备资源的服务器、用于连接各存储设备的主机总线适配器(host bus adapter, HBA)卡以及 FC 交换机等。

优势:所有与数据存储相关的通信都在一个与应用网络隔离的独立网络上完成这也就意味着数据在 SAN 中传输时,不会对现有的应用系统数据网络产生任何影响,所以,SAN 可以在不降低原有应用系统数据网络效率的基础上提高网络整体的 I/O 能力,同时增加了对存储系统的冗余链接,并提供了对高可用集群系统的支持。

  1. FC-SAN 存储服务器上配置两个网络接口适配器:一个用于连接业务 IP 网络的普通网卡(network interface card, NIC),服务器通过该网卡与客户机交互;另一个网络接口适配器是与 FC-SAN 连接的主机总线适配器(hoat bus adaptor, HBA),服务器通过该适配器与 FC-SAN 中的存储设备通信。
  2. IP-SAN 是近年来十分流行的一种网络存储技术,是基于 IP 网络来实现块级数据存储的方式。常见的 IP-SAN 协议有iSCSI、 FCIP、 iFCP 等,iSCSI为发展最快的协议标准,常用的 IP-SAN 是指基于 iSCSI 协议的 SAN 。基于 iSCSI 的 SAN 的目的就是要使用本地 iSCSI InitiaToR(启动器,通常为服务器)通过IP 网络和 iSCSI Target(目标器,通常为存储设备)来建立 SAN 网络连接。

4

5

NAS:网络附加存储(network attached aToRage, NAS)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于不同主机和应用服务器进行访问的技术。通常 NAS 被定义为一种特殊的专用文件存储服务器,包括存储设备(如磁盘阵列、 CD/DVD 驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。NAS 要求能够实现大量数据的存储与备份,在此基础上还需要提供稳定而高效的数据传输服务,这样的要求仅仅依靠硬件是无法完成的, NAS 还需要一定的软件来实现这样的要求。NAS 的软件按照功能可以划分为操作系统、卷管理器、文件系统、网络文件共享和 Web 管理。

NAS 设备支持对公用互联网文件系统(common internet file system, CIFS)或网络文件系统(network file system, NFS)进行读写,也支持同时对二者进行读写。

  1. CIFS(Common Internet File System)是由微软的 SMB(Server Message Block)发展而来的一个公共、开放的文件系统。 SMB 是微软基于 NetBIOS 设定的一套文件共享协议。通过 CIFS,用户可以访问远程计算机上的数据。此外, CIFS 提供了一定的机制来避免读写冲突与写写冲突,从而支持多用户访问。
  2. NFS(Network File System)是由 Sun 公司开发的, NFS 使用户能够共享文件,它的设计是为了在不同的系统之间使用,所以其通信协议设计与主机及作业系统无关。当用户想用远程文件时,只需要使用挂载命令,就可把远程的文件系统挂载在自己的文件系统之下,使用远程文件和使用本机的文件没有什么区别。

6

RAID技术

集中式存储把所有的磁盘集中到硬盘框,使用控制框统一进行控制,可以实现存储容量的动态扩展,同时增强系统的容错能力,提高存储系统的读写性能,而用到的技术就是 RAID 机制。RIAD 全称是 Redundant Arrays of Independent Disks,冗余磁盘阵列。

RAID0:RAID-0 也称为条带化(stripe),其原理是将多个物理磁盘合并成一个大的逻辑磁盘,它代表了所有 RAID 级别中最高的存储性能,不具有冗余,不能并行 I/O,但速度最快。

RAID1:RAID-1 又称为 Mirror 或 Mirroring(镜像),它的目的是最大限度地保证用户数据的可用性和可修复性。 RAID-1 的原理是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。

RAID5:RAID-5 是高级 RAID 系统中最常见的一种 RAID 级别,由于其出色的性能与数据冗余平衡设计而被广泛采用。其全名为“独立的数据磁盘与分布式校验块”。 RIAD 使用的是奇偶校验来进行校验和纠错。

RAID6:RAID-6 是为了进一步加强数据保护而设计的一种 RAID 方式,与 RAID-5 相比, RAID-6 增加了第二种独立的奇偶校验信息块。

分布式存储

分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。使用的是常规的服务器,而非存储设备,分布式存储没有控制框和硬盘框,所有的硬盘存储资源都来自于通用的 x86 架构服务器,对硬盘的识别和管理都需要分布式存储本身提供的客户端,由客户端负责数据路由的建立、IO 读写的执行等。

优势和劣势

  1. 扩容,只要个 x86 架构的服务器安装客户端,就可以成为分布式的一份子,所以有极大的可扩展性,但客户端需要消耗一定的计算资源,所以在规划分布式存储时,作为需要提供存储资源的节点需要预留一定的计算资源,对服务器的硬件资源有一定的要求。
  2. IO 读写由安装了客户端的服务器充当,可以突破传统集中式存储控制器数量的上限,一定程度上提高 IO 读写速度,但每次读写都需要计算数据读写的路径,客户端过多的情况下,计算路径就会很复杂,当性能达到最优时,增加客户端的数量也无法继续提升性能。

副本机制

为了保护数据的高可用性和安全性,在集中式存储中,使用的是 RAID 技术,但分布式存储的硬盘是分布在不同的服务器内,无法使用RAID 技术,所以在分布式存储中使用副本机制。副本机制是指将数据复制成一模一样多份分别保存在不同的服务器上,当某台服务器故障后,数据不会丢失。

原理

分布式存储系统把所有服务器的本地硬盘组成若干个资源池,基于资源池提供创建/删除应用卷(Volume)、创建/删除快照等接口,为上层软件提供卷设备功能。

在分布式存储中,每块硬盘分为若干个数据分片(Partition),每个 Partition 只属于一个资源池,Partition 是数据多副本的基本单位,多个数据副本指的是多个 Partition。系统自动保证多个数据副本尽可能分布在不同的服务器上(服务器数大于数据副本数时),同时,系统自动保证多个数据副本之间的数据强一致性,然后 Partition 中的数据以 Key-Value 的方式存储。分布式存储直接对上层提供卷设备(Volume),没有 LUN 的概念,使用简单。系统自动保证每个硬盘上的主用 Partition 和备用 Partition 数量是相当的,避免出现集中的热点,所有硬盘都可以用作资源池的热备盘,单个资源池最大支持数百上千块硬盘。

7

存储架构

8

存储接口层:通过 SCSI 驱动接口向操作系统、数据库提供卷设备;

存储服务层:提供各种高级存储特性,如快照、链接克隆、精简配置、分布式 Cache、容灾备份;

存储引擎层:分布式存储系统存储基本功能,包括管理状态控制、分布式数据路由、强一致性复制技术、集群故障自愈与并行数据重建子系统等;

存储管理层:实现分布式存储系统软件的安装部署、自动化配置、在线升级、告警、监控和日志等 OM 功能,同时对用户提供 Portal 界面。

常见分布式存储产品

ceph(开源)、HDFS、FusionStorage(华为)、vSAN(VMware)等

优势

  1. 性能卓越:通过创新的架构把分散的、低速的 SATA/SAS 机械硬盘组织成一个高效的类 SAN 存储池设备,提供比 SAN 设备更高的 I/O,把性能发挥到了极致;
  2. 全局负载均衡:分布式存储系统的实现机制保证了上层应用对数据的 I/O 操作均匀分布在不同服务器的不同硬盘上,不会出现局部的热点,实现全局负载均衡。
  3. 分布式 SSD 存储:分布式存储系统通过支持高性能应用设计的 SSD 存储系统,可以拥有比传统的机械硬盘(SATA/SAS)更高的读写性能。
  4. 高性能一致性快照:分布式存储系统提供了快照机制,将用户的逻辑卷数据在某个时间点的状态保存下来,后续可以作为导出数据、恢复数据使用。分布式存储系统快照数据基于 DHT(分布式哈希表(Distributed Hash Table)) 机制,快照不会引起原卷性能下降。
  5. 高性能链接克隆:分布式存储系统可以基于增量快照提供链接克隆机制,基于一个快照创建出多个克隆卷,各个克隆卷刚创建出来时的数据内容与快照中的数据内容一致,后续对于克隆卷的修改不会影响原始的快照和其它克隆卷。
  6. 高速 InfiniBand 网络:为消除分布式存储环境中存储交换瓶颈,分布式存储系统可以部署为高带宽应用设计的 InfiniBand 网络。

虚拟化存储和非虚拟化存储

这里的存储虚拟化是狭义的虚拟化,仅指集群是否有文件系统,如果有,即为虚拟化存储,如果没有,即为非虚拟化存储。这里的文件系统可以是 NFS 文件系统,也可以是虚拟化集群的文件系统。如果是没有文件系统,虚拟化集群需要直接调动逻辑卷使用。

无论是集中式存储还是分布式存储,使用 RAID 或副本机制后,会形成一个物理卷,然后将物理卷组成卷组,再将卷组划分成多个逻辑卷,上层应用使用逻辑卷。

文件系统

文件系统是大量文件的分层组织结构,操作系统有了文件系统以后,数据以文件和文件夹的形式体现,做到可以随时复制、粘贴、删除和恢复。文件系统使用目录的方式把数据组织成分层结构,目录就是保存文件指针的地方,所有的文件系统都维护这一个目录,操作系统只维护本机的目录,集群维护 NAS 或集群文件系统形成的共享目录。

虚拟化集群文件系统:VMware 使用 VMFS(Virtual Machine File System)华为使用VIMS(Virtual Image Manage System ),它们都属于高性能的集群文件系统,可以使虚拟化超出单个系统的限制,使多个计算节点同时访问一个整合后的集群式存储池。计算集群的文件系统可以保证没有哪台服务器或某个应用软件可以完全控制对文件系统的访问。

NAS 存储文件系统:NFS 和 CIFS

操作系统文件系统:FAT32、NTFS、UFS、EXT2/3/4 、xfs等

操作系统文件系统工作过程

9

  1. 用户或者应用程序创建文件或文件夹
  2. 这些文件和文件夹会被保存在文件系统上
  3. 文件系统将这些文件对应的数据映射到文件系统块上
  4. 文件系统块和逻辑卷或者 LVM 将逻辑区域映射到物理磁盘的物理区域
  5. 物理区域对应得一个物理卷会包含一个或多个物理磁盘

虚拟机磁盘

虚拟机由配置文件和磁盘文件组成,每个虚拟机至少对应一个磁盘文件,用户的数据真正被保存的地方为这个磁盘文件

10


THE END