iscsi协议及实现
iSCSI协议介绍及典型组网配置

2)保证所选端口的正确,否则会导致ping通但是连接不上。
目录
iSCSI基础知识与协议 iSCSI组网与相关配置 iSCSI常见故障处理
常见故障处理-无法建立iSCSI连接
1)是否ping通
2)是否使能了CHAP
无法建立iSCSI连接-是否ping通
1)检查网络通信是否正常 物理链路的正常是保证iSCSI连接的基础,检测物理链路正常一般 使用ping命令,主机和阵列业务口互相能够ping通,阵列和阵列 能够相互ping通,并且无丢包现象(丢包导致iSCSI链路闪断)。
注意事项
主机与阵列连接 1)清除主机侧启动器内的原始保存信息(失败的连接) 保证主机重启后不会重连不存在的目标器造成频繁输出内容。
注意事项
2)清除主机侧启动器内的原始保存信息(失败的连接) 保证主机重启后不会频繁重连不存在的目标器造成输出内容。
注意事项
阵列与阵列连接 1)清除阵列侧启动器内的原始保存信息(失败的连接),否则会导致
iSCSI协议及典型组网配置
目标
学完本课程后,您将能够掌握: iSCSI基本概念和协议 iSCSI组网方式以及不同的配置方式 iSCSI组网中常见的故障处理方式
目录
iSCSI基本概念 iSCSI组网与相关配置 iSCSI常见故障处理
基本概念——SAN
SAN(Storage Aera Network):存储区域网络,一种通过网络方式连接 存储设备和应用服务器的存储构架,这个网络专用于主机和存储设备之间的 访问。当有数据的存取需求时,数据可以通过存储区域网络在服务器和后台 存储设备之间高速传输。
基本概念——IP SAN
IP SAN:通过百兆/千兆/万兆以太网络连接应用服务器和后端存 储系统。将SCSI指令和数据块通过高速以太网传输,继承以太网 的优点,实现建立一个开放、高性能、高可靠性,高可扩展的存 储资源平台。
iscsi存储的工作原理

iscsi存储的工作原理iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP网络的存储协议,它允许服务器通过网络连接到存储设备,并将其作为本地磁盘使用。
iSCSI存储工作原理的核心是将存储设备虚拟化为逻辑卷,并将其通过网络传输到服务器。
我们需要了解iSCSI存储的基本组件。
iSCSI存储系统通常由以下几个组件组成:iSCSI initiator(发起者)、iSCSI target(目标)、存储设备和网络。
发起者是指运行iSCSI协议的服务器,它负责将存储设备连接到本地系统。
目标则是存储设备上的逻辑卷,它被发起者访问和使用。
存储设备是实际存储数据的物理设备,可以是硬盘阵列、磁带库或闪存设备等。
网络则提供了发起者和目标之间的通信通道,可以是局域网(LAN)或广域网(WAN)。
当发起者启动时,它会发送一个iSCSI请求到目标,请求连接到一个逻辑卷。
目标接收到请求后,会验证发起者的身份和权限,然后建立一个iSCSI会话。
会话建立后,发起者和目标之间可以进行数据传输。
在数据传输过程中,发起者将数据块分割为小的数据包,并通过网络发送给目标。
目标接收到数据包后,将其缓存并写入存储设备。
为了确保数据的完整性和可靠性,iSCSI协议使用了一些技术,如数据校验和、流量控制和错误恢复机制。
除了数据传输,iSCSI还支持一些高级功能,如快照、镜像和复制。
这些功能可以在存储设备上进行,而无需对发起者进行任何修改。
这使得iSCSI存储系统非常灵活和可扩展。
总结一下,iSCSI存储的工作原理是通过网络将存储设备虚拟化为逻辑卷,并将其连接到服务器。
发起者通过iSCSI协议向目标发送请求,并在会话建立后进行数据传输。
iSCSI存储系统具有高级功能和灵活性,使其成为企业级存储解决方案的首选。
希望通过这篇文章,你对iSCSI存储的工作原理有了更清晰的了解。
iSCSI存储作为一种高效可靠的存储解决方案,正在被越来越多的企业采用。
iscsi协议

iscsi协议iSCSI协议。
iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP网络的存储协议,它将SCSI协议封装在TCP/IP协议之上,使得SCSI命令可以在TCP/IP网络上进行传输,从而实现远程存储访问。
iSCSI协议的出现,极大地简化了存储网络的部署和管理,为企业提供了更加灵活和高效的存储解决方案。
iSCSI协议的特点。
1. 灵活性,iSCSI协议可以在现有的IP网络基础上进行部署,不需要单独建立存储网络,大大降低了存储网络的部署成本。
2. 高性能,通过使用高速以太网技术,iSCSI可以提供与Fibre Channel相媲美的性能,满足企业对存储性能的需求。
3. 易管理,iSCSI协议的部署和管理相对简单,可以通过标准的网络管理工具进行管理,降低了对专业存储人员的需求。
4. 兼容性,iSCSI协议可以与现有的存储设备兼容,无需更换现有的存储设备,降低了存储升级的成本。
iSCSI协议的工作原理。
iSCSI协议的工作原理可以简单概括为以下几个步骤:1. 初始化连接,客户端发起连接请求,与存储设备建立连接。
2. 登录认证,客户端进行登录认证,验证身份并获取访问权限。
3. 数据传输,客户端通过iSCSI协议发送SCSI命令到存储设备,存储设备执行命令并返回结果。
4. 连接释放,数据传输完成后,客户端释放连接,断开与存储设备的连接。
iSCSI协议的应用场景。
iSCSI协议广泛应用于企业存储网络中,主要包括以下几个方面:1. 数据中心存储,企业可以通过iSCSI协议实现数据中心存储的部署,提供高性能、高可靠性的存储解决方案。
2. 虚拟化存储,虚拟化环境中的存储可以通过iSCSI协议进行访问,为虚拟机提供高性能的存储服务。
3. 远程备份,通过iSCSI协议,企业可以实现远程备份,将数据备份到远程存储设备上,提高数据的安全性和可靠性。
4. 数据共享,iSCSI协议可以实现多台服务器共享存储设备,提供统一的存储服务,简化存储管理。
华为服务器存储方案(IPSAN)

综合业务处理系统的数据备份是保证数据高可靠、高可用的基本手段。在本地及异地建立与业务系统相同的备份系统,或将综合业务处理系统的数据进行实时备份,将大大提高数据资源的可靠性。
5、提高效率降低成本
传统的数据由于比较分散,管理和备份都相当困难,容易造成损坏或丢失,安全性很低。在综合业务处理系统下,数据高度集中,管理和备份都非常方便,提高了工作效率同时也降低了系统成本。
3、经济性
设计方案不但要考虑采用技术的先进、可靠,而且还必须考虑用户的经济负担。因此,设计方案必须具备很高的性能价格比。
4、高可管理性与高可靠性
由于整个业务系统的数据采取集中式的存储策略,所以存储系统必须具备很高的可管理性。另外,计算机网络系统的外部环境是多变的,设计方案必须是强健的,能够很方便地进行调整,以满足外部环境的变化。
☉设备集中管理
所有设备(磁盘阵列、存储交换机、网络交换机等)都支持SNMP协议可以通过相应的图形化网管软件对设备进行管理。
IP存储御风而行
简单地说,iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术最重要的贡献在于其对传统技术的继承和发展上:其一,SCSI(Small Computer Systems Interface,小型计算机系统接口)技术是被磁盘、磁带等设备广泛采用的存储标准,从1986年诞生起到现在仍然保持着良好的发展势头;其二,沿用TCP/IP协议,TCP/IP在网络方面是最通用、最成熟的协议,且IP网络的基础建设非常完善。这两点为iSCSI的无限扩展提供了夯实的基础。
丰富的存储业务功能
√远程复制:S1200支持增量、加密和压缩等多种基于用户策略设置的远程复制功能。
iSCSI协议精辟讲解

SCSI协议的高端性
• 任务和事件模型
– – – – – – Initiator端发起IO请求时,就会生成一个任务 Target端接收到请求时,也会生成一个任务 任务可以被事件或动捉中止 事件:加电(Power on)、重启(Reset)、连接丢失等。 任务是有优先级 任务的状态:
• Enabled、Blocked、Dormant、Ended
• SCSI是硬盘中的高端协议
– 最早的SASI规格书只有短短20页,但与几年后ATA接口(据说当初 WD仅用三天时间就完成了接口规范的设计)相比还是完善许多。 – SCSI接口是一个通用接口,外设可以包括磁盘、磁带、CD-ROM 、可擦写光盘驱动器、打印机、扫描仪和通讯设备等。 – SCSI有多工能力,而 ATA通道是独占式的,一条通道内主 (Primary)设备具有优先使用权,但不论哪个设备占据通道,在 其完成操作并释放通道控制权之前,另一个设备都不能访 – SCSI设备还具有智能化,SCSI卡自己可对IO指令进行排队。在多 任务时硬盘会在当前磁头位置,将邻近的任务先完成,再逐一进 行处理。
SCSI RDMA Protocol (SRP, SRP-2)
iSCSI
Serial Attached SCSI (SAS, SAS-1.1)
传输协议
Related standards and technical reports (SDV, PIP, SSM, SSM-2, EPI)
IEEE 1394
提纲
1
2 3
SCSI介绍
iSCSI简介
iSCSI协议
为什么要先介绍SCSI
• iSCSI是SCSI协议中的一种传输层协议 • SCSI协议是一个协议族,包含了存储各个方面的协议,包 括了物理接口协议及传输层协议和一些指令集协议。
iscsi协议

iscsi协议iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP协议的网络存储协议,它允许计算机通过以太网传输存储设备的数据。
iSCSI协议将SCSI(Small Computer System Interface)命令封装在TCP/IP包中,以实现计算机与存储设备之间的通信。
iSCSI协议的本质是将SCSI协议通过以太网传输,使得计算机能够使用网络访问存储设备。
传统的存储系统连接方式是通过SCSI总线连接,但在实际应用中存在一些问题,例如距离限制、设备共享困难等。
而iSCSI协议解决了这些问题,使得存储设备能够通过以太网传输数据,极大地扩展了存储系统的应用范围。
iSCSI协议主要由两个部分组成:iSCSI Initiator和iSCSI Target。
iSCSI Initiator是客户端,它请求数据并发送SCSI命令。
iSCSI Target是存储设备,它处理客户端的请求并返回数据。
在通信过程中,客户端和存储设备通过TCP/IP建立连接,并进行数据的传输和交互。
iSCSI协议的优点是灵活性和扩展性。
通过使用iSCSI协议,存储设备可以与计算机之间实现长距离连接,克服了传统SCSI的距离限制。
此外,iSCSI协议还支持设备共享,多台计算机可以同时访问同一存储设备,提高了存储资源的利用率。
iSCSI协议的使用过程如下:1. 首先,客户端通过DHCP或静态配置获取IP地址和网络相关信息。
2. 客户端启动iSCSI Initiator,将存储设备的IP地址和端口号配置为目标地址。
3. 客户端向存储设备发送登录请求,建立TCP连接。
4. 客户端与存储设备进行身份验证,确认身份后,登录成功。
5. 客户端发送SCSI命令给存储设备,请求读取或写入数据。
6. 存储设备接收SCSI命令,并根据命令执行对应的操作。
7. 存储设备返回执行结果给客户端,包括读取或写入的数据。
iSCSI详解手册

iSCSI详解手册iSCSI详解手册2003年,互联网工程任务组(IETF)批准 iSCSI(互联网SCSI)协议后,很多人开始将以太网作为分块存储网络使用(成为“基于IP的存储”)。
一直以来,人们采用iFCP 和FCIP等现有协议发送基于IP的SCSI命令行,主要允许FC存储区域网络(SAN)通过IP交换数据。
凭借iSCSI,SCSI命令行可以“端对端”地传送到世界各地的以太网中。
TechTarget中国存储站编辑经过仔细研究为大家奉献了一本非常详尽的iSCSI技术手册,供大家参考。
iSCSI应用技巧iSCSI的性能非常好,除了要求苛刻的事务应用程序。
以太网会发生网络堵塞和延迟,1 Gbps的以太网网络带宽远远小于2、4、甚至10 Gbps的光纤通道SAN,对此许多网络专家可能会惊奇不已。
但是,iSCSI也具有一些问题,任何用户都应该考虑到这些问题。
这一部分将对应用iSCSI时需要解决的若干问题进行列举,并对使用用户进行了指导。
●详解iSCSI技术●iSCSI故障查询列表●如何提高 iSCSI 性能●如何用iSCSI进行系统备份●iSCSI网络配置设计与优化●iSCSI怎样避免拥塞●在数据中心如何使用iSCSI?●应用iSCSI整合存储与网络资源(一)●应用iSCSI整合存储与网络资源(二)●应用iSCSI整合存储与网络资源(三)iSCSI还是FC?以前,FCoE比iSCSI应用的更广泛。
一部分是在上层市场上应用iSCSI需要额外的硬件和能力,这与它所宣称的低成本相违背。
现在,iSCSI的低端市场仍然在增长。
中小型企业,SOHO,甚至大一点的中小型企业。
同样,FCoE也会沿着企业逐步走向中小企业市场。
究竟是选择FCoE还是选择iSCSI?这部分的如下文章就为您分析这个问题,供您选用产品时进行参考。
●有了iSCSI我们还需要FCoE吗●iSCSI能“打倒”光纤吗●虚拟服务器环境下用iSCSI还是FC?●和FC相比 ISCSI得到了应有的地位(一)●和FC相比 ISCSI得到了应有的地位(二)●和FC相比 ISCSI得到了应有的地位(三)●和FC相比 ISCSI得到了应有的地位(四)●以iSCSI的价格获得光纤通道的性能?●如何集成iSCSI 和FC存储●如何集成iSCSI和光纤通道iSCSI与虚拟化有报道说iSCSI与虚拟化是非常匹配的一对,因为iSCSI技术允许快速的产品整合与服务器开发。
嵌入式iSCSI协议的简化与实现

设计 了新 的状态转换机制 ,同时保证了 iC I S S 的性能 。
表 1 固件协议 功能需求原型
和设施 ,非常 适合 用来 构建低成 本的 I —A 系统 ,为中小 PS N 企业提供 了低 投入、高性能 的网络存储解决方案 。
基于 iC I的 I—A 远程 引导技术支持客户主机开机 SS PS N
s o t l k n v r h e e o e i t t r Th i p i e r t c si t g a e n o I — m o h y t i g o e e OS k r l a t n m d i o . e sm l d p o o ol e r t d i t P SAN x e so OS, n p le o c in os t ni a i f i n e t n i n BI a d a p i d t le t h t h wi n c l t r g e i e . t c e sn t r o t a e n I S o l a o a ed v c s I a hive e wo k b o s d o P— AN. o s b
i 支 持 单
一
会话并建立单一连接,只支持常规型会话
后经授权认证 自动连接 到 iC IS N 上 ,并将 S N上 的存 S S A A 储卷 映射 给主机 ,可以从逻辑硬盘上 引导启动系统软件与应
用软件 。用户根据 需要从服 务器 下载、运行所需要 的操作系 统和应 用程序 ,然 后在 客户机 本地进 行计算 ,从而极大地降 低客 户机系统 的成 本,简化 管理 和维护 ,同时增强系统 的安
全性 。
针对如何将分配给某个登录 用户的存储卷 映射 成该远程
用户主机 的本地逻辑硬盘 问题 ,本文设计 并实现了一种嵌入
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Target_Emulator Scsi_Target_Template Scsi_Target_Device Target_Scsi_Cmnd scsi_request Target_Scsi_Message scsi_cmnd sg_io_hdr_t
STML的初始化
初始化一个struct Target_Emulator类型 的全局变量 创建线程scsi_target_process_thread处 理大多数的STML的工作 进入等待
iSCSI & NAS
在NAS上部署iSCSI协议很简单,因为不需要任 何硬件上的改动,只是驱动软件的安装
iSCSI & SAN
The end
iSCSI协议的实现
iSCSI代码来源
iscsi-Apr6.tgz:
Intel ()
kernel_emulator_10.tgz:
IOL(InterOperability Lab) of UNH(University of New Hampshire) () iSCSI research team of UML(University of Massachusetts Lowell) (/~mbrown/iscsi)
将STML和FETD分开的原因
增强程序的可重用性
STML是通用的 FETD是和底层采用的通讯协议(TCP/IP、 Fibre channel)相关的
程 序 功 能 模 块 图
STML提供给FETD的API
register_target_template() deregister_target_template() register_target_front_end() deregister_target_front_end() rx_cmnd() scsi_rx_data() scsi_target_done() scsi_release() rx_task_mgmt_fn()
Byte 0 4 8 12 16 20 24 28 + 44 CmdSN ExpStatSN or EndDataSN SCSI Command Descriptor Block (CDB) 0 Opcode 1 2 3 Reserved Opcode—specific fields Logical Unit Number (LUN) Initiator Task Tag Expected Data Transfer Length
iSCSI会话(session)
启动设备和目标设备之间的TCP连接构成 一次会话
一个会话包含一个或多个TCP连接 会话由会话号区分,会话号包括启动设备部 分和目标设备部分 会话中包含的TCP连接可以增加也可以删除, 这些连接由连接号(CID)区分
命令编号
从启动设备到目标设备SCSI层的命令由 iSCSI编号,该号码由iSCSI协议数据单元 中的命令序列号(CmdSN)携带 目标设备的iSCSI层必须按命令序列号的 顺序把命令传递给SCSI层 目标设备的SCSI层接收到命令后该命令 序列号即失效。命令序列号也能被用来 进行命令的流量控制
FETD的初始化
向STML注册,STML将其加入设备队列 创建线程iscsi_server_thread监听端口 4002 进入等待
FETD向STML的注册过程
FETD向STML注销过程
FETD对请求的响应
当在4002端口监听的线程接收请求后
创建线程iscsi_rx_thread接收SCSI命令 创建线程iscsi_tx_thread传送应答和状态
客户端:
程序的结构(目标设备)
1.STML(SCSI Target mid-level)
处理SCSI命令 将STML发来的命令数据封装成底层通讯协 议数据包的格式发送到网络上或者将从网络 接受到的数据包解包传递给STML
2.FETD(front-end Target driver)
读 类 型 命 令 的 处 理
iSCSI 的应用
采用iSCSI的设备的特点
采用了iSCSI协议的硬件设备是NAS和 SAN的中间产品,它能简单连接到企业内 部网,做到即插即用。而每一个远程用 户端对该存储设备的访问效果接近于在 本地直接访问SCSI盘。 为无法承担光纤通道SAN环境基础结构高 成本的中间市场客户提供利用SAN所带来 的好处
iSCSI地址格式
iSCSI的发现机制
启动设备可以通过下列方法发现目标设备:
在启动设备上设置目标设备的地址 在启动设备上设置默认目标设备地址,启动设备 可通过“SendTargets”命令从默认目标设备上获 取iSCSI名字列表 发出服务定位协议(SLP)广播请求,等待目标设 备回应 查询存储设备名字服务器获取可访问的目标设备 列表
iSCSI登录和协商
iSCSI登录是用来在启动设备和目标设备之间建 立TCP连接的机制 登录的作用包括鉴别通讯双方、协商会话参数、 打开相关安全协议并且给属于该会话的连接作 标记 登录过程完成后,iSCSI会话进入全功能相 (full feature phase),这时启动设备就能通 过iSCSI协议访问目标设备里的各逻辑单元了
Iscsi-0.1.tar.gz:
程序的运行
启动设备端:
insmod scsi_target.o insmod iscsi_target.o insmod iscsi.o insmod iscsi_client.o fdisk /dev/sda mke2fs /dev/sda1 mount –t ext2 /dev/sda1 /mnt/iscsi raiddev /dev/md0(多个目标设备)
iSCSI协议及实现
iSCSI协议简介
涉及到的SCSI的概念
启动设备和目标设备
启动设备(initiator):发起I/O请求的设备 目标设备(target):响应请求执行实际I/O操作 的设备 在启动设备和目标设备建立连接后,目标设 备在操作中作为主设备控制整个工作过程 一般情况下主机适配器HBA作为启动设备, 磁盘/磁带作为目标设备
涉及到的SCSI的概念
CDB:命令描述块。SCSI的命令及参数是填充 在一定长度的数据块内传输的
SCSI read(6) CDB
典型的SCSI系统
SCSI的缺点
SCSI是点对点的、直接相连的计算机到 存储器的设备接口,不适用于主机到存 储器的存储网络通讯 SCSI总线的长度被限制在25米以内,对 于Ultra SCSI长度限制为12米,不适于构 造各种网络拓扑结构 SCSI总线上设备数限制为15,不适用于 多服务器对多存储设备的网络结构
FETD创建一个Target_Scsi_Cmnd类型的 数据接收SCSI命令,将其加入命令队列, 唤醒STML的线程STT处理收到的SCSI命 令
STML对FETD的响应
调用handle_cmd处理命令队列 调用hand_to_front_end返回处理结果 处理结果加入FETD的发送队列 xmit_queue等待发送 在结果发送完成后调用 scsi_target_dones释放资源
响应/状态编号
从目标设备到启动设备的响应由iSCSI编 号,在iSCSI协议数据单元中用状态序列 号(StatSN)表示 启动设备提供期望状态序列号ExpStatSN 来确认状态 如果状态序列号和期望状态序列号不同 则意味着连接出现了错误
协议数据单元格式
iSCSI启动设备命令基本首部(BHS)
FETD提供给STML的API
detect() release() xmit_response() rdy_to_xfer() task_mgmt_fn_done() report_aen()
重要的数据结构
struct struct struct struct struct struct struct struct
iSCSI的命名和编址
iSCSI使用类似URL的iSCSI名字来唯一鉴 别启动设备和目标设备。 地址会随着启动设备和目标设备的移动 而改变,但名字始终是不变的
iSCSI的命名和编址
一个iSCSI名字由三部分组成:类型定义 符、名字认证机构、由该认证机构分配 的名字
.acme.sn.8675309 <domain-name>[:<port>]/<iSCSI Name>
பைடு நூலகம்
iSCSI产品
Cisco SN 5420 Storage Router
IBM TotalStorage IP Storage 200i
用Cisco SN 5420构造的存储系统
iSCSI协议结构
1.概述 2.协议数据单元格式 3.用于iSCSI协议的SCSI模式参数 4.登录相 5.登录相之外的工作参数协商 6.错误处理和恢复
SCSI 传 输 协 议
iSCSI的概念
iSCSI是关于SCSI的命令 、数据和状态到TCP/IP 网络的映射的 协议 对TCP层的改造和增加较 低功能层(对TCP层透明) 是为了适应大批量存储数 据传输的需要
iSCSI协议现状