作者:吴香伟 发表于 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. js语言精粹读书笔记一

    一.语法 1.

  2. DEM数据如何生成高程点

    这次给大家介绍一个arcgis里的实用功能:通过地形数据提取高程点. 首先做好准备工作: 1.地形数据下载获取 2.软件准备 locaspace viewer:http://rj.baidu.com/ ...

  3. 3、python,read(),readlines()和readline()

    我们谈到"文本处理"时,我们通常是指处理的内容. Python 对文件对象的操作提供了三个"读"方法: .read()..readline() 和 .readl ...

  4. [HTML]JS全屏代码

    video全屏参考:https://www.thecssninja.com/javascript/fullscreen <!doctype html> <html> <h ...

  5. dynamic 的使用 待续

    Dynamic 使用场景之一 : 替代反射 class Me { public string Blog { get; set; } public string GetName() { return&q ...

  6. py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+python2.7环境搭建记录

    第一次写博客,以此纪念这几天安装caffe,跑faster-rcnn的血泪史.在此特别感谢网络各路大神,来自全球各地,让我能从中汲取营养,吸取经验,总结规律. faster-rcnn分为matlab版 ...

  7. centos6升级python2.7

    #下载python #wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 #安装支持https yum install opens ...

  8. jdbk应用实例

    首先要在数据库中建好表,表的属性要跟代码中的一致 使用jdbk连接数据库,并且进行增删改查的操作(curd). package com.beiwi; import java.sql.Connectio ...

  9. SHA1算法

    public string SHA1_Hash(string str_sha1_in)        {            SHA1 sha1 = new SHA1CryptoServicePro ...

  10. ToolStrip控件在窗体没有焦点的情况下,需要单击二次才能够激发事件的解决办法

    protected override void WndProc(ref Message m) { if (m.Msg == 0x210) { Control control = Control.Fro ...