分布式存储学习入门(一)

存储基本知识

在计算机中,存储设备扮演着不可或缺的角色。从某种程度上来讲,电脑性能的好坏只是影响运算数据的速度,而存储设备的使命则是保证大家的研究所得以及运算数据得以延续。不夸张地说,现代文明很大程度上都是存在硬盘里面。

一、机械硬盘的发展历史

目前硬盘大体上分为三种,分别有固态硬盘、机械硬盘、混合硬盘。

机械硬盘出现在 50 年代初,从 70 年代开始,硬盘的容量不断的增大,从最早的几十兆,到现在的 TB 级别 。同时,硬盘体积则是不断的缩小,直到我们今天常见 2.5/3.5 英寸体积硬盘,还有一些微硬盘(1.8 英寸以下的硬盘,包括 1.8 英寸)。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

1、硬盘的主要指标

  1. 容量 :指硬盘能存储的数据量大小,以字节(Byte)为基本单位
  2. 单碟容量 :硬盘都是由一个或几个盘片组成的,单碟容量就是指包括正反两面在内的单个盘片的总容量 ;
  3. 转速 :即主轴马达转动速度,单位为RPM(Round Per Minute),即每分钟盘片转动圈数;
  4. 缓存 :是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部盘片和外部接口之间的缓冲器。
  5. 平均访问时间:硬盘磁头找到目标数据所需的平均时间
    平均寻道时间:磁头寻找目标数据所在磁道所需的平均时间
    平均潜伏时间:当磁头移动到数据所在的磁道后,等待指定的数据扇区转动到磁头下方的时间
  6. 数据传输率:数据从盘片表面传输到硬盘的缓存的速率
    内部数据传输率:数据从盘片表面传输到硬盘的缓存的速率
    外部数据传输率:数据从硬盘的缓存读出到外部总线的速率
  7. MTBF:Mean Time Between Failure,平均无故障时间

2、影响硬盘性能的因素

转速:转速是影响硬盘连续IO时吞吐性能的首要因素;
寻道速度:寻道速度是影响磁盘随机IO性能的首要因素;
缓存:提速功能
单碟容量:单碟容量是影响磁盘性能的一个间接因素

二、各种机械硬盘的接口协议

1、SCSI存储协议

SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接 口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数 据传输技术。
SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI 硬盘主要应用于中、高端服务器和高档工作站中。
SCSI接口从诞生到现在已经历了多年的发展,对于并行SCSI来说,先后衍生出了SCSI-1、 Fast SCSI、FAST-WIDE-SCSI-2、Ultra SCSI、Ultra2 SCSI、Ultra160 SCSI、 Ultra320 SCSI等,现在市场中占据主流的是Ultra160 SCSI、Ultra320 SCSI接口产品。

2、SAS存储协议

SAS(Serial Attached SCSI)即串行SCSI技术,是一种新型的磁盘连接技术。它综合了现有并行SCSI和串行连接技术(光纤通道、SSA、IEEE1394等)的优势,以串行通讯为协议基础架构,采用SCSI-3扩展指令集并兼容SATA设备,是多层次的存储设备连接协议栈。而SAS磁 盘就是采用该接口技术的磁盘。

SAS的优势主要体现在:

  1. 灵活性,可以兼容SATA,为用 户节省投资;
  2. 扩展性,一个SAS域最多可以直连16384个设备;
  3. 性能卓越,点对点的架构使性能随端口数量增加而提高;
  4. 更合理的电缆设计,在高密度环境中 提供更有效的散热。

3、SATA存储协议

使用SATA(Serial ATA)口的硬盘又叫串口硬盘,是未来PC机硬盘的趋势。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查, 如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。

目前,由于在存储设备中采用多块SATA硬盘的协同RAID工作模式,使得数据存储的传输瓶颈仍然存在于存储到主机端。此外,由于存储厂商推出SATA-SCSI、SATA-FC、SATA-IP的存储设备,兼之SATA硬盘的大容量、价格低廉以及本身的性能而受到市场的广泛认可。

4、FC存储协议

光纤信道标准(FCS)定义了一种用于连接工作站、大型机、巨型机、存储设备以及显示设备等的高速数据传输机制。FCS 满足了大量信息的快速传输需求,并减轻了支持当前多通道和网络环境的系统提供商的负担,这是因为 FCS 为网络、存储以及数据传输提供了一个单一标准。光纤信道协议是一种在光纤信道上的 SCSI 接口协议。

光纤信道(FC)主要特征如下:

  1. 性能:传输速率范围从 266Mb/s 到2Gb/s、 4Gb/s、8Gb/s;
  2. 支持光介质和电介质,工作速率范围从 133Mb/S 到 1062Mb/S,传输 距离为 10km;
  3. 小连接器;
  4. 高带宽利用率,与距离无关;
  5. 支持从小型机到巨型机的多种性价比级别;
  6. 可以传送多种接口命令集,包括 IP、SCSI、以及音频 / 视频等。

SAN(存域网)是指独立于异构计算网络系统之外的几乎拥有无限存储容量的高速网络。其通常采用高速的光纤通道作为传输媒介,以FCP+SCSI协议作为存储访问协议,将存储子系统网络化、开放化、虚拟化、智能化,实现真正的高速、安全、共享存储。

FC网络存储以其高速稳定的数据传输、良好的可扩展性被大多数具有核心应用的大中型企业所采纳。经过实际应用, FC网络存储已经发展成为目前最成熟的高速存储区域网络。

5、ISCSI存储协议

简单的说ISCSI就是将SCSI协议封装于IP协议中进行数据传输。ISCSI区别于FC-SAN的一点就是传输的介质和协议的不同。而两端的存储设备和主机端基本一样。
由于IP网络现阶段各个企业建设相对完善,因此ISCSI部署成本较低,而且部署方便。
但是,在现阶段以千兆网络为主流的网络环境中,ISCSI还只是适合于普通的非关键应用,而且对数据量的存储吞吐不会大于70MB/S。相对关键应用来说,目前还是大多数采用FC。
加粗样式

三、DAS、NAS、SAN及组网基础知识

在这里插入图片描述
高性能服务器一般由四个关键部分组成:
1、计算机微处理器(例如, Intel 和 Motorola )
2、网络连接 (例如, Cisco 和 Lucent)
3、内存 (DRAM, SDRAM), RAM = 随机访问存储器
4、系统I/O (例如, IDE 和 SCSI等I/O技术.)
随着微处理器能力的快速增强, 对于大规模存储容量的要求也随之而来. 例如: RAID(Redundant Array of Independent Disks;冗余独立磁盘阵列)系统使用得日益广泛。高容量光盘系统也得到了广泛使用. 网络操作系统(如, Solaris 和 Windows NT)和多任务桌面操作系统(LINUX, Windows XP) 需要更高的系统吞吐性能以满足中间件等软件应用对数据访问的要求.
高容量光盘系统也得到了广泛使用. 网络操作系统(如, Solaris 和 Windows NT)和多任务桌面操作系统(LINUX, Windows XP) 需要更高的系统吞吐性能以满足中间件等软件应用对数据访问的要求.

I/O通道或简称通道, 必须满足数据关键应用对于数据访问带宽的要求. 在许多环境下系统瓶颈是由于吞吐能力造成的. 达到50MIPS(million instructors per second )微处理器已经非常普遍. 很快100MIPS的微处理器就会获得普及. 根据Amdahl定律. 每一微处理器MIPS需要一megabit系统I/O吞吐能力. 许多计算应用的性能需求已经达到了1000MIPS, 这就需要I/O系统提供125MB/每秒的吞吐能力, 在不久的将来这一需求还会继续增加.

1、直联存储 DAS - Direct Attached Storage

直接连接存储(通道技术)难以实现系统优化
1、计算资源
2、存储资源
3、带宽
在这里插入图片描述
我们需要网络连接模式以提高存储系统利用率。

网络连接存储模式分类如下:
在这里插入图片描述
在这里插入图片描述

2、存储区域网络 SAN - Storage Area Network

在这里插入图片描述
SAN从DAS发展而来,原来一台存储磁盘阵列只能连接到有限的服务器,发展为可以同时连接到上百台服务器。
采用光纤链路,专用的FC交换机进行连接,构成存储网络。
后端存储空间以LUN形式提供给多台服务器,每个LUN只能属于一个前端服务器。
每台服务器拥有自己的存储空间,数据仍然不能共享。
提供快照、容灾等高级数据保护功能。
链路速率为4Gbps、8Gbps。未来会达到16Gbps。

3、网络连接存储 NAS - Network Attached Storage

在这里插入图片描述
出现NAS专用存储设备,成为数据共享与交换的核心。
多台服务器共享后端存储设备。
NAS设备上的存储空间通过CIFS和NFS协议共享给主机,可同时对同一目录或文件进行并发读写。
文件系统位于后端存储系统。
采用标准的以太网链路和TCP/IP协议进行连接。
链路速率为1Gbps、10Gbps。

4、IP SAN –iSCSI Storage Area Network

在这里插入图片描述
为了解决FC-SAN在价格和管理上的门槛,产生IP-SAN(ISCSI)。
采用以太网作为连接链路,使用专用以太网交换机构成存储网络。
每台服务器拥有自己的存储空间,但数据不能共享。
后端存储空间以LUN形式提供给多台服务器,每个LUN只能属于一个前端服务器。
提供快照、容灾等高级数据保护功能。
根植于IP网络,管理和基础建设成本大大降低。
链路速率为1Gbps、10Gbps。

组网

FC的三种拓扑结构:
1、点对点:只能连接两个设备,直接连接
2、仲裁环:最多支持126个设备,光纤集线器
3、交换式Fabric:最多支持1千6百万个设备,光纤通道交换机

光纤通道 = 通道和网络的完美结合
光纤通道的优点:网络路由;连接能力;远距离;管理能力;高速度;低延迟;数据完整性;大量数据传输;超级错误检测能力。

光纤通道并不等于只使用光纤连接线,而是铜缆和光纤连接线。
在这里插入图片描述
单模光纤, 其设计是降低光芯尺寸使得只有一种波长的光可以通过此光纤传输信息. 单模光纤通过消除光散射从而连接更长的距离. 多模光脉冲可以通过不同的路径传输。
Deci-meter (dm) = 10-1米
Centi-meter (cm) = 10-2米
Milli-meter (mm) = 10-3米
Micro-meter (µm) = 10-6米 (µ - 希腊字母)
Nano-meter (nm) = 10-9米
Pico-meter (pm) = 10-12米
Femto-meter (fm) = 10-15米
Atto-meter (am) = 10-18米

光纤通道 : 是SAN Fabric的基础,为存储系统提供一个网络连接模式 。
交换式“Fabric”是一个由智能光纤通道交换机构成并具有良好系统设计的高智能网络, 这一网络可以提供企业级的性能, 扩展能力, 可管理能力, 可靠性和可用能力。

光纤通道的优点:
1、一个新的多用途网络信息基础结构, 用于连接开放系统存储, 网络, 视频应用和服务器集群应用.
2、为上层协议(SCSI, IP等)提供一个通用硬件传输平台。光纤通道不是一种新的协议
3、高速: 现在可以提供16Gbit(200MB)/秒的数据传输速率, 全双工专有连接,未来可升级至32Gbit/秒
4、无阻塞数据传输
5、最大10公里连接距离(通过扩展器可连接上千公里,非常适于灾难恢复应用)
6、先进的流控制系统保证数据按顺序传输.
7、多平台系统支持(包括 AIX, NT, Solaris, HP/UX, UNIX, LINUX, Novell,等)
8、支持传统环境和应用

SAN

SAN是一种可以解放LAN和WAN的大容量存储信息基础结构, 由于操作速度更快, 提供了更强大的工作后台, 这意味着SAN可以在不影响前端LAN功能的条件下正常工作. 此外, 由于提供了多通道并行工作设计, 任意部件的故障都不会影响系统的操作.
SAN Fabric是一种基于光纤通道技术,专门应用于存储系统的高性能网络. 它提供了对SAN内部资源的无限连接能力, 所有服务器能够访问所有的存储设备. 同时, SAN Fabric也允许存储和SAN设备(交换机, 集线器, 路由器, 桥接器)之间的通讯. SAN使用包括光缆和铜缆在内的多种连接方式建立了一个专注于服务器和存储设备的网络系统

存储设备

1、RAID – 冗余独立磁盘阵列系统.
RAID(冗余独立磁盘阵列系统; 盘阵)是一种磁盘集群技术, 很早以前就开始使用在大型系统之中. 用户可以自由定义数据的保存方式, 可以采用数据镜像(在不同磁盘上保存数据拷贝), 条带集(数据交叉保存在多个磁盘上), 还有奇偶校验保护(记录额外的数据以识别错误), 这些技术可以根据用户对性能和可靠性的要求单独或联合使用. 考虑到RAID的大容量(和高价格), 通过SAN实现对其的共享是一个比较好的选择.

2、JBOD – 只是一组盘(磁盘组)
是与RAID相似的一种标准. 也是指一组磁盘通过一个接口连接到服务器, 但与RAID不同, JBOD不提供镜像, 数据条带集存储和奇偶校验等功能, 这些功能通常由主机上的软件来实现.
JBOD是一种最简单廉价的“裸存储”设备. 独立的磁盘保存在一个机箱之中, 允许不同的服务器分组访问. 一般不提供“缓冲”(高速缓存)和提供先进功能的控制器. JBOD的扩展空间有限, 一般不超过1TB. 由于缺少智能,数据条带集存储或奇偶校验, 对于任意磁盘的损坏没有保护. 磁带存储是磁盘损坏后恢复保存信息的常用手段.

3、磁带 – 主要用于数据备份和恢复

NAS网络附加存储

NAS:支持远程文件访问;使用现有LAN资源;使用传统网络协议。

NAS与SAN是两种互补的存储技术, 他们可以单独或联合使用。
NAS通常专用于面向来自网络的文件I/O访问请求.

并行与串行接口之间的比较

光纤通道基于核心SCSI协议设计,光纤通道通过将并行接口转换为串行接口极大的提高了SCSI的性能。
在这里插入图片描述
光纤通道分层体系结构:
在这里插入图片描述

四、RAID基础知识

RAID = Redundant Array of Independaent/Inexpensive Disks
RAID中的磁盘组对于操作系统是一个逻辑单元;根据不同的RAID级可以提供不同的数据保护;阵列可以提供更高的带宽和更快的I/O

廉价磁盘冗余阵列
1、通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能
2、通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度
3、通过镜像或校验操作提供容错能力
镜像方式:数据被完全复制在另一个物理硬盘上。
校验方式:2个或更多的数据块以XOR异或的方式生成校验数据快;数据块和生成的校验快形成逻辑存储集 ;任意数据块可以有校验块和其它数据块从新生成并保证整个数据集的数据完整。

RAID状态:
RAID创建,正产工作,重组,降级,失效。
RAID由几个硬盘组成,从整体上看相当于一个物理卷。在物理卷的基础上可以按照指定容量创建一个或多个逻辑卷,通过LUN(Logic Unit Number)来标识。

在这里插入图片描述

RAID 0

没有容错设计的条带硬盘阵列,以条带形式将RAID组的数据均匀分布在各个硬盘中。
极高的读写效率;不存在校验速度快;部署简单;无冗余;易丢失,不适合用于关键数据环境。最小硬盘数2。

RAID 1

又称镜像,数据同时一致写到主硬盘和镜像硬盘。
100%数据冗余;设计使用简单;不作校验计算,CPU占用资源少;提高数据安全性和可用性;空间利用率只有1/2;最小硬盘数2。

RAID 0+1

先0再1,读写速度快;数据保护能力强;磁盘空间利用率50%。
RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。

RAID 10

RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,RAID01 比 RAID10 具有更好的容错能力。
RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。

RAID 3

RAID 3 即带有校验的并行数据传输阵列,数据条带化分布在数据盘中,同时使用专用校验硬盘存放校验数据。
冗余性高;高数据传输率;实现复杂;检验盘单点问题

RAID 5

与3类似,校验数据均匀分布在各数据硬盘上,数据块和对应的校验信息保存在不同硬盘上。

RAID 6

双向校验:横向和斜向校验盘