iscsi详解&&配置

iSCSI详解
 iSCSI适配卡
  iSCSI适配卡大致分成两类,一为TOE HBA卡,一为iSCSI HBA卡,前者价格较便宜,后者效能极佳,但价格非常昂贵。代表性的厂商有Adaptec、Alacritech、Intel、LSI、Qlogic等,其中Intel专注于TOE HBA卡的开发。
 性能及成本
  就目前而言,iSCSI SAN在性能及成本上的高低与否,最主要的关键就在于ASIC芯片上。相对于便宜又大碗的Initiator驱动程序而言,价格不便宜的iSCSI ASIC却最能符合性能及速度上的需求,例如制造业或金融业的数据库,就需要较高的速度来运作,这时候采用内建ASIC芯片的iSCSI适配卡会是最佳选择。
  一般来说,随着ASIC芯片的有无,以及等级的高低,目前iSCSI Initiator可分为以下三种:
  1. iSCSI HBA卡:
  所谓iSCSI HBA卡就是采用内建SCSI指令及TOE引擎的ASIC芯片的适配卡,在三种iSCSI Initiator中,价格最贵,但性能最佳。目前价格已由一开始的1000美金,下降跌至500美元。对于有高效能应用需求的企业,或是公司内部主机CPU在1GHz以下者,最好采用iSCSI HBA卡,如此才能获得最好的性能。
  NetApp专家特别强调,SCSI HBA只能走iSCSI协议,而无法透过NFS或CIFS等文件系统协议与应用服务器沟通。
  2. iSCSI TOE卡:
  亦即只有内建TOE引擎的ASIC芯片适配卡,由于SCSI指令仍以软件方式运作,所以仍会吃掉些许的CPU资源。在三种iSCSI Initiator中,价格比iSCSI HBA便宜,但比Initiator 驱动程序贵,性能也居于两者之间。目前市面上Intel的TOE HBA仍要价高达150美金。
  但在各协议的支持上,TOE HBA卡可以同时支持iSCSI、NFS及CIFS协议
  3.iSCSI Initiator驱动程序
  目前不论是Microsoft Windows、IBM AIX、HP-UX、Linux、Novell Netware等各家操作系统,皆已陆续提供这方面的服务,其中以微软最为积极,也最全面。在价格上,比起前两种方案,远为低廉,甚至完全免费(例如微软)。但由于Initiator驱动程序工作时会耗费大量的CPU使用率及系统资源,所以性能最差。
  在此建议,最好是采用1GHz以上CPU的主机,如此才能获得较佳的效能表现,如果公司主机CPU在1GHz以下,那么最好不要采用。至于在各类协议的支持上,Initiator驱动程序可以同时支持iSCSI、NFS及CIFS协议。
一、iSCSI:Internet Small Computer System Interface
iSCSI技术是由IBM公司研究开发供硬件设备使用的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议。iSCSI是基于TCP/IP协议,将现有SCSI接口与以太网络(Ethernet)技术结合起来的一种网络存储技术,使服务器可与使用IP网络的储存装置互相交换资料。
这里写图片描述
iSCSI分为服务端和客户端,服务端需要安装scsi target用来共享存储设备,客户端需要安装iscsi initiator用来连接target端,将target端共享的设备挂载到本地,可以对其进行分区,格式化等操作
这里写图片描述
这里写图片描述
二、iSCSI实现数据的访问需要的条件:
1、iSCSI客户端具有的特性:

  • iSCSI initiator是发起I/O操作的启动者;
  • 需要通过发现过程请求远端快设备;
  • 可以与target进行持久连接;
  • 在Linux系统中可以使用iscsi-initiator-utils软件包来模拟实现;

2、iSCSI服务器端具有的特性:

  • iSCSI target是I/O操作的执行者;
  • 需要导出一个或多个块设备供启动者(initiator)使用;
  • 在Linux系统中可以使用scsi-target-utils软件包来模拟实现;

3、iSCSI target设备名称
iSCSI target名称必须是全球唯一的,其格式为:
iqn.< yyyy-mm >.< tld.domain.some.host > [:< identifier >]
iqn.< 年份-月份 >.< 域名反写 > [: < 设备识别;可以是任意字符串 >]
iSCSI target名称必须是以iqn开头的
如:iqn.2015-03.com.baidu.www:Zw3l4S3dgnY

4、Logical Unit Number
每个在同一个target上的backing-store 称为逻辑单元号(LUN),LUN ID由iSCSI目标设备(Target)分配。iSCSI 启动端(Initiator)设备当前支持在每个目标设备(Target)中导出最多256个LUN,即最大支持16个target。

对于LUN的理解,比较通俗就是磁盘分区、LVM卷组、RAID等等。在iSCSI通信中,都有一个发起I/O请求的启动端(Initiator)和响应请求并执行实际I/O操作的目标设备(Target),我们能够提供 BlockLevel I/O 给 Initiator 主机,其目的不外乎是“将硬盘的排线网路化”、“把Target 主机的共享磁盘幻化成Initiator 主机的磁盘”以达成更大空间、更高 I/O 速度及具有冗余与高延展度的应用。

Target 即储存设备(Storage Device),也就是存放数据的硬盘(以硬盘阵列居多),在使用iSCSI时,会在 iSCSI 储存设备上去建立 LUN来提供给具备 iSCSI Initiator 功能的主机来存取数据的。可以把Target主机看作是服务端,把Initiator主机看作是客户端。LUN 好比是个“逻辑单位磁碟”,为追求效率、冗余与延展性,这个 LUN 通常会是由数个实体磁碟( RAID 或 LVM 技术的技术实现)所组成。

三、iSCSI initiator发现iSCSI target的过程:

  1. ISCSI initiator按照配置文件/etc/iscsi/iscsid.conf中配置的相应项目利用iSCSI的发现机制在网络中收索目标设备target
  2. ISCSI target将返回有效的iqn名称给iSCSI initiator
  3. ISCSI target按照配置的验证方式接受initiator的登录并返回目标设备target标识
  4. ISCSI initiator发生查询请求给target请求查询target的相关信息
  5. target响应initiator的查询请求,并将设备的有关信息返回给initiator
  6. initiator创建可以的目标设备target列表

四、iSCSI设备的特性:

  • 支持报头和数据摘要
  • 支持两种挑战握手协议CHAP(ChallengeHandshake Authentication Protocol)的认证方式
  • 目标端支持R2T(ReadytoTransfer)流控制
  • 从RHEL4U2开始支持多通道(multipath)
  • 支持sendtargets发现机制
  • 支持动态目标端发现
  • 具备异步事件通知入口
  • 支持即时数据更新
  • 支持动态设备重配
  • 支持自动挂接iSCSI技术
  • 支持IPV6技术

五、iSCSI设备名称
iSCSI设备在iSCSI启动端(Initiator)导入的时候,其内核将按当前的设备情况给i

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值