存储是云计算平台管理的一种重要资源,存储资源池是基础架构资源池中的重要组成部分。软件开发人员一般对存储知识的了解非常有限,这对于深入理解云计算或做云计算平台的研发是很大的障碍。本系列文章是我刚接触云计算时整理的存储相关基础知识,并做了完善和丰富,内容不一定全面,有的地方可能说的也不对,希望能对需要的人有帮助,也希望专家批评指正。
一、我们听说的 SATA 盘、SAS 盘,是什么意思呢?
这里的 SATA 和 SAS,说的是硬盘接口技术,也就是定义一些协议及规范,让使用者来读写数据,而不需要知道硬盘本身如何存储数据,写入哪个盘片,用哪个磁头等等。
目前,硬盘提供的接口包括如下几种:
用于 ATA 指令系统的 IDE 接口(已淘汰)
用于 ATA 指令系统的 SATA 接口
用于 SCSI 指令系统的并行 SCSI 接口(已淘汰)
用于 SCSI 指令系统的串行 SCSI(SAS)接口
用于 SCSI 指令系统的并且承载于Fibre Channel协议的串行 FC 接口(FCP)
1. IDE接口
IDE(Integrated Drive Electronics)即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。其拥有价格低廉、兼容性强的特点。IDE 接口技术目前已被淘汰。
ATA (Advanced Technology Attachment)技术是一个关于 IDE 的技术规范族。最初,IDE 只是一项企图把控制器与盘体集成在一起的硬盘接口技术。随着 IDE/EIDE 得到的日益广泛的应用,全球标准化协议将该接口自诞生以来使用的技术规范归纳成为全球硬盘标准,这样就产生了 ATA。ATA 最早是在1986年由 Compaq、West Digital 等几家公司共同开发的,在20世纪90年代初开始应用于台式机系统。IDE 接口,也称为 PATA 接口,即 Parallel ATA(并行传输 ATA)。
2. SATA接口
SATA(Serial ATA)即串行传输 ATA,相对应 PATA 模式的接口来说,SATA 是用串行线路传输数据,但是指令集不变,仍然是 ATA 指令集。SATA 标准是由 Intel、IBM、Dell、APT、希捷和迈拓公司共同提出的硬盘接口规范。SATA 技术是 Intel 公司在 IDF 2000大会上推出的,其最大的优势是传输速率高。SATA 采用串行连接方式,串行 ATA 总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
3. SCSI接口
SCSI(Small Computer System Interface)即小型计算机系统接口,使一种用于计算机和外部设备之间(硬盘、光驱、打印机、扫描仪等)的接口标准。SCSI 接口是一种广泛应用于小型机上的高速数据传输技术,SCSI 接口具有应用范围广、多任务、带宽大、CPU占有率低以及热插拔等优点。
SCSI 与 ATA 是目前现行的两大主机与外设通信的协议规范,而且它们各自都有自己的物理定义接口。对于 ATA 协议,对应的就是 IDE 接口;对于 SCSI 协议,对应的就是 SCSI 接口。
4.FC接口
FC (Fibre Channel) 是一种跟 SCSI 或 IDE 有很大不同的接口,它很像以太网的转换开头。以前它是专为网络设计的,后来随着存储器对高带宽的需求,慢慢移植到现在的存储系统上来了。FC通常用于连接一个SCSI RAID(或其它一些比较常用的RAID类型),以满足高端工作或服务器对高数据传输率的要求。
5.SAS接口
SAS(Serial Attached SCSI)即串行连接小型计算机系统接口。SAS 是新一代的 SCSI 技术,和现在流行的 Serial ATA(SATA) 硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS 是并行 SCSI 接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行 ATA (Serial ATA,缩写为SATA)硬盘的兼容性。
作为一种新的存储接口技术,SAS 不仅在功能上可与 FC 媲美,还具有兼容 SATA 的能力,因而被业界公认为取代并行 SCSI 的不二之选。SAS 的优势主要体现在:灵活性,可以兼容 SATA,为用户节省投资;扩展性,一个SAS 域最多可以直连16384个设备;性能卓越,点对点的架构使性能随端口数量增加而提高;更合理的电缆设计,在高密度环境中提供更有效的散热。
二、我们听说的HDD盘、SSD盘,是什么意思呢?
HDD(Hard Disk Drive),机械硬盘,它的优点是单位成本低,适合做大容量存储,但速度远不如固态硬盘。
SSD(Solid State Drive),固态硬盘,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。
固态硬盘的全集成电路化、无任何机械运动部件的革命性设计,从根本上解决了对于数据读写稳定性的需求。全集成电路化设计可以让固态硬盘做成任何形状。与传统硬盘相比具有以下优点:
第一,SSD不需要机械结构,完全的半导体化,不存在数据查找时间、延迟时间和磁盘寻道时间,数据存取速度快;
第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小;
第三,得益于无机械部件及FLASH闪存芯片,SSD没有任何噪音,功耗低;
第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。
三、我们听说的PCIe、NVMe,是什么意思呢?
1. PCIe
PCIe(PCI Express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。PCIe交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”,简称“PCI-e”。它的主要优势就是数据传输速率高。PCI Express也有多种规格,从PCI Express x1到PCI Express x32,能满足将来一定时间内出现的低速设备和高速设备的需求。PCI-Express最新的接口是PCIe 3.0接口。
2. NVMe
当SSD被首次引入数据中心时,还需要配合当时的总线技术(例如SATA和SAS工作,而这些总线技术都是针对磁介质开发的。即使最快的HDD也比不上SSD的速度,其对应总线的吞吐能力也成为阻碍充分发挥SSD技术优势的一大瓶颈。作为一种在网络,图形以及其他插入式设备上广泛应用的高带宽总线,PCIe 成为了可行的选择,但PCIe总线配合原本为HDD开发的存储协议(例如AHCI)仍然无法有效发挥易失性存储介质的性能优势。此后,NVMe工作组应运而生,旨在基于PCIe总线开发一套标准化的协议和命令,以便在数据中心充分发挥SSD的优势。NVMe规范是全新开始设计的,支持当前和未来的易失性存储介质,实现高带宽和低延迟存储访问。
NVMe优化了命令发送和完成通路,单个I/O队列中支持最多达64K条命令。此外,增加了许多企业功能支持,例如端到端数据保护(与T10 DIF和DIX标准兼容),增强错误报告和虚拟化功能。总而言之,NVMe作为一种可扩展的存储应用协议,旨在充分发挥PCIe SSD性能,从而更好的满足企业级、数据中心和消费级等各种场景的应用需求。
2011年时,NVMe规范正式出炉,基于闪存的特点而研发,其目的是尽可能缩小存储系统和内存、CPU带宽之间的差距。NVMe其实与AHCI一样都是逻辑设备接口标准。NVMe中文名称非易失性存储器标准,是使用PCI-E通道的SSD一种规范。NVMe的优点在于更低的延时,更高的传输速率,更低的功耗控制。
四、总结
参考文档
http://stor.zol.com.cn/387/3876012.html
https://www.cnblogs.com/awpatp/archive/2013/01/29/2881431.html
https://blog.csdn.net/hs794502825/article/details/8231342
https://www.sparkmycloud.com/blog/das-san-nas-storage/
《大话存储》
https://blog.csdn.net/TV8MbnO2Y2RfU/article/details/78103775
https://baike.baidu.com/item/ATA/1189175