存储设备

根据介质划分

  • 磁存储,磁盘
  • 光存储,光盘
  • 硅存储,闪存、U盘、SSD(固态盘)

存储设备接口

ATA接口

  • 使用40芯电缆与主板进行连接,采用并行总线的方式,最初设计只能支持两个硬盘
  • ATA硬盘可靠性较低,要求工作负荷小,被广泛应用于个人电脑存储。

SATA(串行ATA)

  • SATA接口速率最低为150MBps,300MBps接口硬盘已经形成商用, 规划内的最高速率可达600MBps
  • SATA硬盘采用点对点连接方式,支持热插拔。

SCSI接口(小型计算机系统接口)

  • SCSI硬盘采用并行接口, 有68针及80针两种,接口速率最高320MBps。
  • 采用总线式连接,一条SCSI总线最多挂接16个设备,每个设备被分配一个ID,通过总线仲裁来获得总线访问权。
  • 性能优异, 主要应用于中高端存储领域。

SAS接口(串行SCSI接口)

  • 点对点、全双工、双端口、提供3.0Gbit/s的接口传输率的新型接口,规划可达12.0Gbit/s。
  • 支持在SATA兼容 的电缆和连接器上传输SCSI协议
  • 兼备SCSI所具有的易管理性和可靠性, 而且可以提升性能和可伸缩性。

FC接口

  • 为服务器与存储设备之间提供高速连接
  • FC硬盘定位于高端存储应用,可靠性和性能都很高。

文件系统

文件系统本质上就是实现对磁盘空间的管理,实现磁盘线性空间与目录层级结构的转换 (映射关系)

文件相关的数据概念

元数据

  • 描述数据的数据

文件数据

  • 文件内容本身,可以是文本、二进制、音频和视频等格式

文件元数据

  • 用于组织和管理文件数据而产生的数据
    例如文件名(路径)、长度、时间和权限、信息等
  • 文件系统管理文件的数据和元数据

硬链接与软链接

软链接也叫符号链接,类似window的快捷方式

ln -s创建的是软链接,不带-s创建的是硬链接

硬链不能跨文件系统

软链可以跨文件系统

文件系统层次结构

云计算中的存储技术 - 图1

存储服务

块存储

提供给用户存储块,通过SCSI,FC等块存储协议进行使用

  • 应用于关键业务和数据极度敏感业务
  • 性能较高,大多数虚拟机、数据库使用块存储

文件存储

提供给用户文件系统(目录文件结构),一般通过POSIX定义的文件API使用,例如READ/WRITE/CREATE/等。

  • 丰富的共享接口,存储非结构化数据
  • 应用于多种场景,尤其是依赖NFS/CIFS/POSIX接口的系统

对象存储(键值对存储,key-value)

主要通过键key对值value进行 PUT/GET/DELETE等操作。

  • 水平高拓展性,存储非结构化数据,操作及管理简单
  • 应用于多种场景,比如网盘云存储,备份,归档等

存储资源的来源

  • 本地资源
  • 网络存储
  • 云存储

存储技术

  • 单盘
  • 多盘
    RAID技术,独立磁盘冗余阵列,或简称磁盘阵列
  • 主机存储技术
    内部存储
    外部(网络)存储
  • 多级存储技术
    分布式存储

RAID

RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘)

从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。

组成磁盘阵列的不同方式成为RAID级。

RAID级别

常用的 RAID级别

  • RAID 0 存取速度最快 没有容错
  • RAID 1 完全容错 成本高
  • RAID 3 写入性能最好 没有多任务功能
  • RAID 4 具备多任务及容错功能 Parity 磁盘驱动器造成性能瓶颈
  • RAID 5 具备多任务及容错功能 写入时有overhead
  • RAID 0+1/RAID 10 速度快、完全容错 成本高

RAID 0

要点:RAID 0 通过条带把数据分布在组内所有硬盘上,从而可以并发的读写而提升性能

优点:速度快且利用率高

缺点:一个盘故障将导致全部数据丢失

RAID 1

要点:RAID 1 数据在2个硬盘之间相互镜像

优点:任何一个硬盘故障不丢失数据且不影响性能

缺点:成本高,利用率低

RAID 5

要点:RAID 5 采用条带和奇偶校验

优点:通过条带提升性能,通过奇偶校验提高可靠性

缺点:对于密集的随机小的写I/O以及一个磁盘故障情况下性能较差

RAID 1+0

要点:RAID 1+0 既采用条带技术又采用镜像技术

优点:性能高于 RAID 1,可靠性相当

缺点:成本高,利用率低

RAID 6

要点:RAID 6 采用了条带和双重校验

优点:即使RAID组中同时坏2个磁盘,数据依然是完整的

缺点:比RAID5性能略差

RAID6是最安全的RAID保护方式

级别比较

云计算中的存储技术 - 图2
云计算中的存储技术 - 图3

网络存储技术-DAS(直接附加存储)

存储设备通过SCSI接口或FC (Fiber Channel)直接连接到一台计算机上

数据存储设备是整个服务器结构的一部分,在网络中各服务器的数据存储设备都是独立的。

DAS的软件体系结构

DAS即直连方式存储

在这种方式中,存储设备是通过电缆直接到服务器的。

I/O请求直接发送到存储设备,它依赖于服务器,其本身是硬件的堆叠,不带有任何存储操作系统,是完全独立于主机的RAID系统。

DAS存储系统适用环境

  • 小型网络
  • 地理位置分散的网络

DAS的问题与不足

  • 数据备份和恢复要求占用服务器主机资源
  • 连接通道通常采用SCSI连接,成为I/O瓶颈
  • 受到SCSI ID的限制扩展性差
  • 当需要对存储和主机进行扩展时需要停机

NAS

NAS全面改进了以前低效的DAS存储方式

NAS连接到普通的网络上,通常是以太网

使用一个优化的文件系统和瘦(剥离的)操作系统

NAS产品与客户间的通信使用NFS协议、CIFS协议,或同时使用两者。

NAS存储系统

在NAS存储系统中包含两类设备:客户端主机和NAS服务器

应用程序在客户端主机中产生文件I/O访问请求的系统调用

假设被访问的数据存在于远程文件系统中,那么I/O重定向器则通过命令将通过网络文件协议(NFS或CIFS)的消息报文,由NAS服务器处理

NAS的特点

NAS的优点:

  • 真正的即插即用
  • 存储系统部署简单
  • 存储设备位置非常灵活
  • 管理容易且成本低

NAS的缺点

  • 存储性能较低
  • 可靠性差

存储区域网SAN

数据量的增加使NAS出现了问题,大量的数据会充斥整个网络造成网络性能的下降

因此用户需要一个能支持大容量数据存储而又不会产生任何网络带宽瓶颈的数据存储系统。

SAN是一种专用网络,可以把一个或多个系统连接到存储子系统。

它是一种在服务器与外部存储资源或独立的存储资源之间实现高速、可靠访问的专用网络。

在SAN中,每个存储设备并不隶属于任何一台单独的服务器。

SAN的软件体系结构

在SAN的存储系统中,其软件体系结构基本上与DAS相同

关键区别是DAS系统中的磁盘控制器的驱动程序被替换成光纤通道协议栈(FC)或ISCSI、TCP/IP协议栈。

SAN的特点

SAN的优点:

  • 强大的扩展性能:无缝增加设备
  • 高可用:消除了单点故障;
  • 开放的连接:可以将多操作系统和多厂商的存储设备作为统一的存储池进行管理;
  • 更容易管理:可集中管理,在不宕机的情况下进行管理

SAN的缺点:(主要针对FC-SAN)

  • 标准不统一:各厂家互操作性问题;
  • 成本高:正因为各厂家标准不统一,最终导致FC-SAN价格很高。如果考虑使用FC-SAN,就不得不购买与之配套的HBA卡、光纤交换机、光纤磁盘阵列、管理软件等。

存储网络的三种形态比较

云计算中的存储技术 - 图4

存储技术的发展阶段

存储技术第一阶段:全整合

最原始的普通服务器的架构,所有部件和模块都在一个服务器机箱中。

这属于DAS架构,因为主机机箱内的磁盘只被本机使用。

第二阶段:磁盘外置

将磁盘置于服务器机箱外部的情况。

这种架构依然属于DAS架构,因为存储系统只被一台主机使用。

第三阶段:外部独立磁盘阵列

SCSI接口盘阵只能供一台或者几台(如果盘阵提供多个外部SCSI接口的话)主机接入

是SAN的初级阶段。

第四阶段:网络化独立磁盘阵列

服务器用FC网络连接FC接口磁盘阵列。磁盘阵列可同时被多个其他节点访问

是彻底的SAN架构。

第五阶段:独立NAS

服务器主机用以太网与NAS设备进行通信从而存储数据。

在瘦服务器阶段,文件系统之下的所有层次模块位移到了外部独立设备中。

主机得到了彻底的解放,专门处理业务逻辑,而不必花费太多资源去处理底层系统逻辑。

第六阶段:全分离

在NAS设备的后端可以用机箱内的硬盘,也可以用并行SCSI连接磁盘,还可以用FC协议连接SAN盘阵来获得LUN(NAS网关)。

在这个阶段中,所有部件彻底地分离,每个部件各司其职

中间通过不同的网络方式通信,前端用以太网,后端用FC网。

存储技术新的阶段:分布式存储

云计算中的存储技术 - 图5

存储系统

  • 网络存储系统
    SAN
  • 网络文件系统
    例如NFS,SMB
  • 分布式存储系统
  • 分布式文件系统
  • 虚拟存储和存储虚拟化

网络文件系统-NFS

服务器上的目录mount到本地目录结构

Windows平台类似的功能是共享文件夹/网络分区映射

虚拟文件系统(VFS)机制

NFS利用Unix系统中的虚拟文件系统(Virtual FileSystem,VFS)机制

将客户机对文件系统的请求,通过规范的文件访问协议和远程过程调用,转发到服务器端进行处理

服务器端在VFS之上,通过本地文件系统完成文件的处理,实现了全局的分布式文件系统

VFS是一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口。

存储虚拟化

存储虚拟化是将各个异构存储设备按照一定的策略映射成一个统一的连续编址的逻辑存储空间,称为虚拟存储池

虚拟存储池可以跨越多个存储子系统,并将虚拟存储池的访问接口提供给应用系统。

一般来说,虚拟化存储系统在原有存储系统结构上增加了虚拟化层,将多个存储单元抽象成一个虚拟存储池

存储单元可以是异构,可以是直接的存储设备,也可以是基于网络的存储设备或系统。

云计算中的存储技术 - 图6

从存储层次结构来看,存储虚拟化技术通分成如下三大类:

  • 系统级虚拟化技术
  • 卷级虚拟化技术
  • 底层虚拟化技术

底层虚拟化技术

在RAID数据保护层使用虚拟化技术,解决传统RAID数据可靠性、数据重构等方面的问题

  • 把物理磁盘虚拟化成RAID组,体现了多虚一特性

由RAID控制器硬件实现并维护LUN,实现物理存储空间的灵活使用,对应虚拟硬件磁盘

  • 把RAID组虚拟化成LUN,体现了一虚多特性

卷级虚拟化技术

主要在操作系统卷管理层面上使用的虚拟化技术,解决逻辑存储空间使用灵活性方面的问题。

  • 例如,动态扩充逻辑卷容量

卷组和卷通常由操作系统上的软件实现,对应软件虚拟磁盘

系统级虚拟化技术

这种技术也可以称之为节点间的虚拟化技术或称之为SAN级虚拟化技术,通过该类技术可以实现分布式存储。

使得多机存储系统的内部实现对用户透明。

Vmware虚拟机存储举例

  • 物理机器抽象成VM
  • 物理存储也被抽象成虚拟磁盘
  • 大多数虚拟化平台使用DAS模型给VM提供存储服务。

实现了存储模型和具体的存储协议的分离

虚拟机与逻辑卷

thin卷和thick卷的概念

  • thick静态占用空间
  • thin动态占用空间

存储系统的层次

存储系统中大量应用虚拟化思想,存在多次重定向(映射)

一次读取文件内容的操作可能会经过多次重定向:

文件系统->LV->VG- > LUN-> RAID-> 物理磁盘

文件系统(格式化)

  • 创建一个独立的命名空间(namespace),定义文件存取结构(目录-文件)
  • 一个命名空间中的各个部分(目录)可以来自不同的LV(使用mount命令)

LV(logical volume,逻辑卷 )

  • OS最终使用的逻辑存储单元
  • 不同操作系统对LV的有不同术语:Linux分区sda1,Windows C/D盘等

VG(volume group,卷组)

  • 对PV进行再组织,可以包含多个PV,一个PV只能属于某一个VG

PV(physical volume)

  • 操作系统看到的“物理磁盘”,等价于LUN

LUN:RAID层的逻辑磁盘

  • RAID组将划分多个LUN,logic unit number,最初是SCSI中的概念
  • 现在LUN的概念扩展为一般虚拟硬件磁盘,对操作系统来说就是物理磁盘

物理磁盘组

  • 即RAID组

单块物理磁盘