iSCSI存储的3种连接方式

时间:2022-08-25 22:22:57
我们分析了iSCSI存储的系统结构,下面来看iSCSI是如何与服务器、工作站等主机设备来连接的,也就是我们如何建立一个iSCSI网络存储系统。

iSCSI设备的主机接口一般默认都是IP接口,可以直接与以太网络交换机和iSCSI交换机连接,形成一个存储区域网络。根据主机端HBA卡、网络交换机的不同,iSCSI设备与主机之间有三种连接方式。

 第一种:以太网卡+initiator软件方式。

服务器、工作站等主机使用标准的以太网卡,通过以太网线直接与以太网交换机连接,iSCSI存储也通过以太网线连接到以太网交换机上,或直接连接到主机的以太网卡上。在主机上安装Initiator软件。

安装Initiator软件后,Initiator软件可以将以太网卡虚拟为iSCSI卡,接受和发送iSCSI数据报文,从而实现主机和iSCSI设备之间的iSCSI协议和TCP/IP协议传输功能。

这种方式由于采用普通的标准以太网卡和以太网交换机,无需额外配置适配器,因此硬件成本最低。缺点是进行ISCSI包文和TCP/IP包文转换要点主机端的一部分资源。不过在低I/O和低带宽性能要求的应用环境中和完全满足数据访问要求。

目前很多最新版本的常用操作系统都提供免费的Initiator软件,建立一个存储系统除了存储设备本身外,基本上不需要投入更多的资金来,因此在三种系统连接方式中其建设成本是最低的。

第二种:硬件TOE网卡+initiator软件方式。

第一种方式由于采用普通以太网卡和以太网交换机,无需额外配置适配器,或专用的网络设备,因此硬件成本最低。但由于进行ISCSI包文和TCP/IP包文的打包和解包全部需要主机主处理器CPU来进行运算,数据传输率直接受到主机当前运行状态和可用资源的影响和限制,因此一般无法提供高带宽和高IOPS性能。

具有TOE(TCP Offload Engine)功能的智能以太网卡可以将网络数据流量的处理工作全部转到网卡上的集成硬件中进行,把系统主处理器CPU从忙于协议处理的繁重的内核中断服务中解脱出来,主机只承担TCP/IP控制信息的处理任务。

与第一种方式相比,采用TOE卡可以大幅度提高数据的传输速率。TCP/IP协议栈功能由TOE卡完成,而iSCSI层的功能仍旧由主机来完成。

由于TOE卡也采用TCP/IP协议,相当于一块高性能的以太网卡,所以第二种方式也可以看做是第一种连接方式的特殊情况。

第三种是iSCSI HBA卡+iSCSI交换机方式。

在主机上安装专业的iSCSI HBA适配卡,从而实现主机与交换机之间、主机与存储之间的高效数据交换。

与前两种方式相比,第三种连接方式中采用了iSCSI HBA卡,因此数据传输性能最好,价格也最高。

后两种方式都需要在主机上安装专门的硬件板卡,由于目前TOE网卡和iSCSI HBA的市场价格都比较贵。如果网络中主机数量比较多,那么网络总资金投入不见得会比FC-SAN存储系统低很多,网络的带宽和性能却相比FC-SAN存储系统差了很多。

有的读者可能会问,为什么这三种方式中都没有采用iSCSI交换机?

实际上,我们能在市场上看到的iSCSI交换机都不是真正意义上交换机,所谓的iSCSI交换机应该称之为iSCSI协议转换器、或者iSCSI桥接器。一部分端口用来连接主机的iSCSI HBA卡,另一部分端口用来连接FC存储或SCSI存储,只能实现存储设备与主机之间的FC-iSCSI(或SCSI-iSCSI)协议连接,不能实现iSCSI-iSCSI协议连接,其工作方式完全不同于以太网交换机或FC交换机那样,实现某一个协议内的互联互通。

因此iSCSI交换机一般都用作iSCSI存储内的控制器,而不是iSCSI存储与主机之间网络连接设备。

iSCSI存储的3种连接方式的更多相关文章

  1. linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用

    ---操作环境--- 虚拟机版本:VMware Workstation_10.0.3 Linux系统版本:CentOS_6.5(64位) 物理机系统版本:win10  一.虚拟网络三种连接方式 当在V ...

  2. oracle Hash Join及三种连接方式

    在Oracle中,确定连接操作类型是执行计划生成的重要方面.各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况. 无论是Nest Loop Join(嵌套循 ...

  3. Linux基石【第二篇】虚拟网络三种连接方式(转载)

    在虚拟机上安装完Centos系统后,开始配置静态IP,以方便在本宿主机上可以访问虚拟机,在曲折的配置中,了解到虚拟机还有三种连接方式:Bridged,NAT和Host-only,于是,我又一轮新的各种 ...

  4. Java使用SFTP和FTP两种连接方式实现对服务器的上传下载 【我改】

    []如何区分是需要使用SFTP还是FTP? []我觉得: 1.看是否已知私钥. SFTP 和 FTP 最主要的区别就是 SFTP 有私钥,也就是在创建连接对象时,SFTP 除了用户名和密码外还需要知道 ...

  5. [转]Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端 ...

  6. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

  7. Hash Join是Oracle CBO时代经常出现的一种连接方式

    Hash Join是Oracle CBO时代经常出现的一种连接方式,对海量数据处理时经常出现在执行计划里.本篇的上篇(http://space.itpub.net/17203031/viewspace ...

  8. 项目案例模板之jdbc两种连接方式

    项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc; ​ import org.junit.jupiter.api.Test; ​ import ...

  9. mysql三种连接方式

    sql四种连接方式demo: 表a 表b a.id与b.parent_id有关系 1.内连接:SELECT a.*,b.* from a INNER JOIN b ON a.id=b.parent_i ...

随机推荐

  1. NFS服务器原理

    NFS服务器   port:2049      NFS 为 Network FileSystem 的简称,它的目的就是想让不同的机器.不同的操作系统可以彼此分享个别的档案啦!目前在 Unix Like ...

  2. zoj 3888 线段树 ***

    卡n^2,用线段树降到nlogn 记录每个点上所覆盖线段的次小值,保证能有两条路径能走 #include<cstdio> #include<iostream> #include ...

  3. pygame系列&lowbar;原创百度随心听音乐播放器&lowbar;完整版

    程序名:PyMusic 解释:pygame+music 之前发布了自己写的小程序:百度随心听音乐播放器的一些效果图 你可以去到这里再次看看效果: pygame系列_百度随心听_完美的UI设计 这个程序 ...

  4. 戏说HTML5(转)

    如果有非技术人员问你,HTML5是什么,你会怎么回答? 新的HTML规范... 给浏览器提供了牛逼能力,干以前不能干的事...(确切地说应该是给浏览器规定了许多新的接口标准,要求浏览器实现牛逼的功能. ...

  5. hdu1222&amp&semi;hdu1014 循环群的生成元

    hdu1222 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1222 题目大意: 大灰狼追小白兔.小白兔可以躲起来的洞绕成一个圈,大灰狼从0这个点出 ...

  6. &lbrack;SQL&rsqb;LeetCode627&period; 交换工资 &vert; Swap Salary

    SQL架构 create table ), sex ), salary int) Truncate table salary insert into salary (id, name, sex, sa ...

  7. 设计模式总结(Java)—— 单例模式

    1. 定义 为了确保一个类有且仅有一个实例,而且自行实例化并向整个系统提供这个实例. 2. 使用场景 确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有 ...

  8. JSP字符集编码集合

    在这里,我们先说说JSP/Servlet中的几个编码的作用. 在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding="UTF-8".contentT ...

  9. Java保存简单偏好的类

    该类利用Preferences保存文本,数字等简单数据,在Windows平台下,它就保存到了系统注册表中,而Linux中它存在于用户目录下的一个隐藏文件中. public class Pref{   ...

  10. javascript常见方法汇总之一——数组字符串相关

    (转载至慕课网) 原文链接:https://www.imooc.com/article/46933 github地址:https://github.com/dorseysen/notes-about- ...