随着企业级的数据呈指数增长,传统的集中式存储方案已无法满足其存储要求,因而存储区域网(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. git使用相关记录

    上传github操作记录:https://blog.csdn.net/pql925/article/details/72772660 git提交仓库相关:https://blog.csdn.net/M ...

  2. Nginx的介绍

    1.什么是NGINX: Nginx是一个开源的,支持高性能的.支持高并发的web服务软件和代理服务软件,它是由俄罗斯人lgor Sysoev开发的 Nginx具有高并发(特别是对于静态资源)占用系统资 ...

  3. SurfaceViewVideoList网络获取视频播放

    主布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:andro ...

  4. 回归JavaScript基础(十)

    主题:创建对象 原型模式 JavaScript中的每个对象都有一个prototype属性(原型属性),这个属性是一个指针,指向一个对象,而这个对象可以由一些属性和方法组成.被指向的对象,可以是多个对象 ...

  5. linux下搭建hexo环境

    最近对搭建个人博客比较感兴趣,但是刚搭建好next主题基本博客,电脑就坏了,借了一台电脑继续搞,不想在他电脑中弄太多环境,所以我准备在自己电脑的服务器上搭建hexo环境 服务器环境: (1)cento ...

  6. SQLServer中DataLength()和Len()两内置函数的区别(转载)

    最近工作中遇到了个问题:在数据库中声明字段类型时char(4),但实际只存储了‘DCE’三个字母,程序中拼装以该字段作为key的Map中,会把‘DCE’+空格作为其Key,这样造成用没加空格的‘DCE ...

  7. CSS| 實例---寬度自由調節button,圖片切換

    <html lang="en"> <head> <meta charset="utf-8"/> <title>I ...

  8. 如何配置Linux的服务设置为自动启动或崩溃重新启动后

    介绍 在本教程中,自动启动 Linux 服务,我们将退后一步,更详细地解释 init 进程. 你应该很好地了解它们如何控制守护进程的启动行为. 在第一部分本系列教程我们分享使用 MySQL 的如何崩溃 ...

  9. Linux之因BASH造成的键盘错误和环境问题

    对于Linux我们习惯使用/bin/bash.并且大多数人操作在Centos系统上,但是仍有不少人在ubuntu上使用,两个操作系统大同小异.都是使用了Linux内核.接下来就来讲讲我使用过程中两个系 ...

  10. OWASP TOP10(2017)

    原文链接:https://www.t00ls.net/viewthread.php?from=notice&tid=39385