抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

iSCSI是一种由IBM公司研究开发的IP SAN技术,该技术是将现有SCSI接口与以太网络技术相结合,基于TCP/IP的协议连接iSCSI服务端和客户端,使得封装后的SCSI数据包可以在通用互联网传输,最终实现iSCSI服务端映射为一个存储空间提供给已连接认证后的客户端。

什么是SCSI

SCSI是种I/O技术,规范一种并行的I/O总线和相关的协议,SCSI数据传输是以块的方式进行的。

SCSI总线通过SCSI控制器来和硬盘之类的设备进行通信, SCSI的控制器称为Target,访问客户端应用称为Initiator。

窄SCSI总线最多允许8个、宽SCSI总线最多允许16个不同的SCSI设备和它进行连接,每个SCSI设备都必须有自己唯一的SCSI ID设备的地址。

LUN逻辑单元号,是为使用和描述更多设备及对象而引进的一个方法,每个SCSI ID上最多有32个LUN,一个LUN对应了一个逻辑设备。

iSCSI的实现

  1. iSCSI Initiator客户端。iSCSI启动器,本质上说,iSCSI启动器是一个客户端设备,用于将请求连接并启动到服务器。iSCSI的启动器有三种实现方式,可以完全基于硬件实现,比如iSCSI HBA卡,硬件TOE卡与软件结合的方式,完全基于软件实现,而且软件iSCSI启动器适用于大部分主流操作系统平台;

  2. iSCSI Target服务端。即iSCSI目标,它是iSCSI网络服务器组件,用于包含所需要的数据并回应来自iSCSI启动器的请求。

工作过程

Initiator发出请求后,会在本地的操作系统会生成了相应的SCSI命令和数据I/O的请求,然后这些命令和请求被封装加密成为IP信息包,通过以太网TCP/IP传输到Targer。

当Targer接收到信息包,将进行解密和解析,将SCSI命令和I/O请求分开。SCSI命令被发送到SCSI的控制器,再传送到SCSI的存储设备。

设备执行SCSI命令的响应,经过Target封装成iSCSI响应PDU,再通过已连接的TCP/IP网络传送给Initiator。

Initiator会从iSCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。

与NFS比较

SAN与NAS是完全不相同架构的存储方案,SAN支持Block协议,后者则支持File协议;SAN结构中,文件管理系统还是分别在每一个应用服务器上,会产生I/O操作,而NAS则是每个应用服务器通过网络共享协议使用同一个文件管理系统,所以CPU密集型的应用可以选用NAS。SAN是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构,NAS是将目光集中在应用、用户和文件及它们共享的数据上。

以上区别具体到iSCSI和NFS。iSCSI可优化空间更大,性能稍好,但是技术难度更高;而NFS在系统层面的支持更多,例如一些备份、恢复等操作较简单。

评论