随着企业级的数据呈指数增长,传统的集中式存储方案已无法满足其存储要求,因而存储区域网(storage area network,SAN)技术被广泛应用,但其存在距离短、价格贵和构建复杂等不足。基于iSCSI协议的IP存储技术是一种新兴的网络存储技术,它将IP网络技术集成到存储I/O之中,在构建异构的存储网络方面具有其它数据访问协议无法比拟的优势?,已经成为当前网络存储技术的研究热点。

使用iSCSI协议来组建存储网络,具有低廉、开放、大容量、兼容性好等特点,而其主要缺点首先是存储和网络使用同一个物理接口,其次是需要频繁地将SCSI命令封装到IP包中以及从IP包中解析出SCSI命令,它们都将加重网络带宽和处理器的负担,影响了系统的响应速度,从而限制了iSCSl技术的发展。

访问iSCSI Target设备的典型I/O流程为:

①当用户向一个iSCSItarget设备发出访问请求时,应用程序通过系统调用访问文件系统:

②文件系统解释这个I/O命令,分析I/O命令所在的设备和地址,然后将请求发送给SCSI上层驱动程序:

③SCSI上层驱动程序将相应的I/O命令转换为SCSI命令,并发送给iSCSI Initiator;

④iSCSI Initiator将SCSI命令封装打包,通过网络发送到iSCSI Target模块;

⑤iSCSl Target模块收到iSCSI命令包后,将iSCSI命令包中的SCSI命令发送给SCSI底层驱动程序;

⑥由SCSI底层驱动程序完成I/O请求,将数据按原路径返回给用户。

以iSCSI读操作为例,其具体处理流程为:

①发送iSCSI命令;

②缓存调度;

③读取数据;

④使用iSCSI协议对数据进行封装;

⑤传输iSCSI协议封装的数据。

ISCSI工作流程target和initiator的更多相关文章

  1. iSCSI的配置(target/initiator)

    iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface) iSCSI技术是一种由IBM公司研究开发的,是一个供 ...

  2. springmvc 运行原理 Spring ioc的实现原理 Mybatis工作流程 spring AOP实现原理

    SpringMVC的工作原理图: SpringMVC流程 . 用户发送请求至前端控制器DispatcherServlet. . DispatcherServlet收到请求调用HandlerMappin ...

  3. Redux学习之我对于其工作流程的理解和实践

      目录 1 工作流程图 2 各部位职责 3 Demo   1 工作流程图   2 各部位职责 我在理解这个流程图的时候,采用的是一种容易记住的办法,并且贴切实际工作职责. 我们可以把整个Redux工 ...

  4. MyBatis 工作流程及插件开发

    1. MyBatis 框架分层架构 2. MyBatis 工作流程 获取 SqlSessionFactory 对象: 解析配置文件(全局映射,Sql映射文件)的每一个信息,并保存在Configurat ...

  5. 巡风扫描器web界面工作流程

    这两周学习了巡风扫描器的搭建,也在学长的带领下看了各部分的下源代码,为了加深记忆,梳理一下巡风大体的工作流程,主要通过web端的页面分析,错误的地方还请大佬们多多指正. 整体看一下巡风的扫描流程:登陆 ...

  6. [旧][Android] ButterKnifeProcessor 工作流程分析

    备注 原发表于2016.05.21,资料已过时,仅作备份,谨慎参考 前言 在 [Android] ButterKnife 浅析 中,我们了解了 ButterKnife 的用法,比较简单. 本次文章我们 ...

  7. Java开发学习(十五)----AOP入门案例及其工作流程解析

    一.AOP简介 1.1 什么是AOP AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构. OOP(Object Oriented ...

  8. struts2工作流程

    struts2的框架结构图 工作流程 1.客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode/Reg.action ...

  9. SecondaryNameNode的工作流程

    SecondaryNameNode是用来合并fsimage和edits文件来更新NameNode和metadata的. 其工作流程为: 1.secondary通知namenode切换edits文件 2 ...

随机推荐

  1. 转 .md即markdown文件的基本常用编写语法(图文并茂)

    原文链接:.md即markdown文件的基本常用编写语法(图文并茂) 序言: 很久没有写博客了,感觉只要是不写博客,人就很变得很懒,学的知识点感觉还是记不住,渐渐地让我明白,看的越多,懂的越少(你这话 ...

  2. Java String 和JSON转换

    Java项目中经常会使用到JSON格式和String格式的数据,所以二者之间的转换也是一个重要的步骤. Sting类型的数据.如: 转化为JSONObject的步骤如下: 1).把字符串转成 JSON ...

  3. 【jdk源码2】Objects源码学习

    在学习上一个类TreeMap的时候,提到了这个类,这个类是jdk1.7新增的,里面有很多实用的方法.就是一个工具类,熟悉以后,如果里面有已经实现的方法,那么就不要再去实现了,省时省力省测试. 一.简单 ...

  4. 【three.js练习程序】动画效果,100个方块随机运动

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 字节顺序标记BOM

    最近,从numbers导出的csv文件,导入excel后,出现中文乱码问题.网上查询后,发现是numbers导出的csv默认是utf-8无BOM的,使用sublimText3打开,另存为utf-8wi ...

  6. PHP检测数组中的每个值是否含有特殊字符

    本文出至:新太潮流网络博客 /** * [TestArray 检测数组是一维还是二维] * @E-mial wuliqiang_aa@163.com * @TIME 2017-04-07 * @WEB ...

  7. jQuery中使用attribute,prop获取,设置input的checked值【转】

    1.prop方法获取.设置checked属性 当input控件checkbox设置了checked属性时,无论checked=”“或 checked=”checked”,$(obj).prop(“ch ...

  8. MySQL分析函数实现

    | MySQL分析函数实现还好MySQL8.0已经实现了与Oracle相同的分析函数. 1. 实现rownumSET @rn:=0;SELECT @rn:=@rn+1 AS rownum ,e.* F ...

  9. 华为MSTP负载均衡配置示例

    以下内容摘自由华为公司授权并审核通过,今年元月刚刚出版上市的<华为交换机学习指南>一书:http://item.jd.com/11355972.html,http://product.da ...

  10. 利用Maven插件将依赖包、jar/war包及配置文件输出到指定目录

    写在前面 ​ 最近遇到一个朋友遇到一个项目需要将maven的依赖包和配置文件分开打包然后用脚本执行程序.这样的好处在于可以随时修改配置文件内容及查看jar包.如果将所有打成一个jar包就会有个问题(例 ...