作者:吴香伟 发表于 2014/10/8
版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明

上图(a)给出了计算机的总线结构,SCSI磁盘挂在SCSI卡上,SCSI卡和网卡都挂接在PCI总线。向SCSI磁盘读写数据时,由SCSI驱动程序生成SCSI指令并发送到挂接在PCI总线上的SCSI卡,SCSI卡翻译指令驱动硬盘进行读写操作。如果将由SCSI驱动程序生成的SCSI指令封装成报文通过网络传输到另外一台计算机,由远端计算机从报文中解析出SCSI命令,并将SCSI命令应用在自己的本地硬盘上,这就实现了iSCSI的功能。如图(b)所示,绿色的曲线表示读写数据的计算机(initiator端)将SCSI指令封装成报文通过网卡发送出去,而接受报文的计算机(target端)解析出报文中的SCSI指令后通过红色曲线读写本地的SCSI磁盘。

图(c)给出了iSCSI多路径的实现。Initiator端通过多个网卡将数据发送到Target端,充分利用多网卡提高读写远端磁盘的效率。Initiator端通过多个网卡将Target端的Lun挂接到本地,如上图中的sdb和sdc。要实现多个网卡共同分担读写磁盘的负载,还需要将这两个Lun合并成一个Lun,即sde。这需要通过multipath工具来实现。Multipath不仅实现了I/O流量的负载分担,还实现了故障切换和恢复。当一块网卡故障时,它可以只通过另一块网卡传输数据。

参考资料

1、iSCSI多路径实现KVM高可用
2、Multipath实现LUN设备名称的持久化
3、iSCSI Network Designs: Part5-iSCSI Multipathing,Host Bus Adapters,High Availability and Redundancy
4、Linux 内核中的 Device Mapper 机制
5、

iscsi: 多路径的更多相关文章

  1. 配置iSCSI多路径

    1.添加MPIO功能,完成后打开MPIO进行配置,添加对iSCSI多路径的支持,如下图表示已经添加完成后灰色不可选,再打开 MPIO设备 标签页可以看到已安装完成的MPIO所支持的设备:

  2. ISCSI多路径配置(二)

    搭建iscsi存储系统(一) (1).配置ISCSI多路径实现磁盘挂载高可用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出现故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 ...

  3. iscsi序列二、iscsi多路径配置方式

    一.ISCSI多路径应用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出线故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 如上图,如果SAN服务器与客户端交换机只有一条线路 ...

  4. Linux 部署 iSCSI 客户端配置(Windows)

    Linux 部署 iSCSI 客户端配置(Windows) 客户端环境 Client :Windows 7 ip :192.168.121.138 一.首先查看客户端本地所有的磁盘 查看路径:邮件计算 ...

  5. 在腾讯云上创建您的SQL Cluster(3)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/250 来源:腾云阁 https://www.qclo ...

  6. ibm硬件知识点

    ibm http://www-03.ibm.com/systems/storage/disk/storwize_v3700/index.html Current software level: Ver ...

  7. sheepdog简介

    1.corosync,single ring最多支持50个节点:zookeeper,500个节点可稳定支撑,1000-1500个节点挑战比较大,需要优化消息传递机制. 2.sheepdog一开始为分布 ...

  8. 在CentOS 7下ISCSI和多路径部署文档【转】

    部署环境 设备:MD3860i, R630, S4820T(生产网络), N2024(管理网络) 操作系统:Centos 7 默认管理口的地址:A控192.168.129.101, B 控192.16 ...

  9. multipath多路径实验01-构建iscsi模拟环境

    multipath多路径实验01-构建iscsi模拟环境 前几天跟同事网上闲聊技术,吐槽之前自己没有配置过多路径的经历,虽然多路径的配置过程很简单,职责划分也应是主机或存储工程师来搞定,DBA只需要直 ...

随机推荐

  1. List集合的remove一个对象的方法

    import java.util.ArrayList;import java.util.List;class A{ public boolean equals(Object obj){ return ...

  2. IP地址划分

    对于32位的IPV4地址来说,有5中IP地址类型 A类IP地址第一个字节是网络地址,后三个字节是主机地址,且最高位以0开头. 0000001  00000000   00000000 00000001 ...

  3. 【转】Android实现点击两次返回键退出

    在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序. 第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获 ...

  4. 实验楼课程管理程序-深入学习《C++ Primer第五版》实验报告&学习笔记1

    本片博客为实验楼的训练营课程深入学习<C++ Primer第五版>的实验报告和学习笔记. 原课程地址为:https://www.shiyanlou.com/courses/405# 原文出 ...

  5. c++中resize函数怎么用

    resize(),设置大小(size);reserve(),设置容量(capacity);size()是分配容器的内存大小,而capacity()只是设置容器容量大小,但并没有真正分配内存.打个比方: ...

  6. HttpClient接口测试之会话保持

    HttpClient接口测试之会话保持     HttpClient4.X自带会话保持功能,使用同一个HttpClient未关闭的连接即可保持登陆会话,如果多个HttpClient想要使用一个登陆会话 ...

  7. .Net开源Excel、Word操作组件-NPOI、EPPlus、DocX[转]

    link: http://www.cnblogs.com/jacktang/p/4493760.html 一.NPOI 简介:NPOI is the .NET version of POI Java ...

  8. 写了好多次SSH现在对于框架还是有一定的基础了,但是对于框架下我们该如何进行操作呢???

    首先,对于一个老手来说,我们最快捷的就是ctrl+c和ctrl+v,但是我们自己应该复制哪一些代码呢? 1.在我们导完包之后,我们需要写的就是web.xml,在其中,我们要有过滤器及映射和监听器. w ...

  9. go 静态web服务器

    package main import ( "net/http" ) type helloHandler struct{} func (h *helloHandler) Serve ...

  10. angularjs(一)基础概念

    一.前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,作为一名业界新秀,紧跟时代潮流,学习掌握新知识自然是不敢怠慢.当听到AngularJs这个名字并知道是google在维 ...