聊聊iSCSI存储协议的发展简史

网络 通信技术
本文简要介绍了iSCSI的发展史,从SCSI说起,到基于以太网的iSCSI,最后介绍了基于RDMA技术的iSCSI。

iSCSI的全称是Internet Small Computer System Interface,可以看出iSCSI是基于以太网的SCSI。SCSI的全称是Small Computer System Interface,也就是小型计算机系统接口。很多设备是基于SCSI来与计算机交互数据的,常见的如硬盘、软驱、光驱、打印机、扫描仪等。

[[409251]]

接下来我们继续介绍iSCSI相关的内容。

1. SCSI协议

SCSI最早发明于1982年,一路走来有多个不同的标准,比如SCSI-1,SCSI-2和SCSI-3等等。不同标准的速度不同,硬件的接口也不尽相同。如图是不同的SCSI接口。

[[409252]]

SCSI不仅仅是一种接口,更是一套完整的协议,它实现了计算机的主机与外围设备通信的协议。这样,计算机主机就可以与这些外围设备交互数据了。这其中比较典型的如与硬盘和光驱等交互数据。

2. iSCSI协议

采用这种粗苯的线缆来传输数据并不方面,于是有了iSCSI。iSCSI基于以太网来传输SCSI指令,以太网的连接非常方便,自然设备的访问也变得方便了。

[[409253]]

以太网是如何承载SCSI指令的呢?其实原理很简单,就是将SCSI指令封装为数据包,然后通过TCP协议传输。如图所示,所谓的iSCSI协议可以理解为一个应用层的协议,其内容为各种SCSI指令。

我们知道TCP协议是CS架构的,iSCSI协议自然也是CS架构的,iSCSI的整体架构如图所示。iSCSI通常是用来访问存储设备的,存储设备为服务端,而计算服务器为客户端。在iSCSI中有专有名词,客户端软件通常被称为initiator,也就是启动器;而服务端软件则被称为target,目标器。基于iSCSI协议,当主机连接到存储时,在主机就可以看到一个磁盘,该磁盘与本地磁盘没有任何差别。

这样,在主机端就可以基于该磁盘来格式化文件系统,并将数据放到磁盘上。当对磁盘进行读写等访问时,这时读写请求就会经过启动器转化为SCSI指令发送到服务端,服务端解析并处理后给启动器端返回应答。

由于协议基于以太网,因此主机和存储之间可以通过交换机形成一个非常复杂的网络。那么主机对存储资源的访问也就变得非常灵活了。

3. 基于RDMA的iSCSI

iSCSI协议已经非常好了,但是由于基于以太网协议需要在用户态和内核态拷贝内存,这不仅要占用CPU资源,还会导致IO延迟增大。为了进一步提升iSCSI的性能,于是有了基于RDMA的iSCSI,也就是iSER。

iSER的全称是iSCSI Extensions for RDMA,可以看出它是基于RDMA的iSCSI扩展协议。它主要还是利用RDMA技术,本质上还是封装的SCSI指令。如图所示,当在启动器端写数据时,数据直接从该端的内存发送到目标器端的CPU中进行处理,最终持久化到目标器的持久化存储中。也就是跳过了启动器端CPU的处理。

基于上述技术,使得启动器访问目标器的延时得到了大幅的降低,性能自然也会有相应的提高。

4. 性能对比

前面废话一大堆,具体性能是怎么样的呢?我们看一下SNIA的测试数据。下面这个是IO响应延迟的数据,可以看到基于iSER的延迟大幅下降。

带宽方面,基于iSER则大幅增加。因此目前基于RDMA技术的iSCSI在性能方面有着非常明显的优势。

本文简要介绍了iSCSI的发展史,从SCSI说起,到基于以太网的iSCSI,最后介绍了基于RDMA技术的iSCSI。通过本文的介绍,希望大家对iSCSI有所了解。

 

责任编辑:赵宁宁 来源: SunnyZhang的IT世界
相关推荐

2022-04-25 15:55:58

C 语言编程语言Java

2017-06-21 20:54:40

电子技术计算机电子

2013-03-04 15:04:16

2013-06-19 09:43:47

vSphereiSCSINFS

2012-09-21 13:30:51

Java多线程Java发展

2021-01-14 05:12:19

Http协议面试

2011-09-27 13:39:29

存储协议

2017-11-13 10:04:08

IP存储iSCSI

2009-01-12 17:28:10

服务器虚拟化VMware

2011-06-23 12:02:43

SPARC云计算服务器

2009-06-10 18:08:14

2018-03-21 06:47:02

移动通信5G互联网

2015-12-01 10:36:11

2020-12-04 09:30:18

HTTPWeb前端

2021-12-15 08:29:46

Starwind ISCSI 共享存储

2009-07-03 11:47:00

2016-09-12 15:15:49

戴尔

2021-08-14 09:23:03

即时通讯IM互联网

2012-05-09 11:12:47

Linuxiscsi存储服务

2018-05-16 09:08:40

ISCSI网络存储
点赞
收藏

51CTO技术栈公众号