Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186330
  • 博文数量: 51
  • 博客积分: 689
  • 博客等级: 上士
  • 技术积分: 525
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-03 13:05
文章分类

全部博文(51)

文章存档

2014年(1)

2013年(2)

2012年(7)

2011年(11)

2010年(30)

分类:

2010-03-09 13:13:52

Linux通用SCSI目标子系统

Linux通用的SCSI 目标子系统(SCST)是一个为Linux SCSI目标子系统的另一种实现。它提供Linux内核之间和处理和SCSI目标 驱动程序的统一,一致的接口,同时提供Linux内核与存储后端句柄连接,连接真实或模拟的存储后端与目标驱动程序。

SCST允许创建复杂的存储设备,提供先进的功 能,例如复制自动精简配置重复数据删除技术高可用性自动备份等。另一个类别的应用是虚拟磁带库 (VTL)以及其他基于磁盘的备份解决方案。SCST创建不是仅限于IP网络的设备。他们可以使用任何链接,支持SCSI的数据交换 方式,包括光纤通道,iSCSI,SAS,InfiniBand并行(宽)的SCSI。当 然,很可能是您最喜爱的存储设备在固件中运行SCST。

SCST工程包括一些子项目:通 用SCSI目标中层本身(SCST核心)一套设备句柄,以及目标驱动程序用 户空间工具。

SCST核心特点
  • SCST核心简单,易于与 目标驱动器接口。SCST核心执行所有必需的前,后处理传入的请 求以及必要的错误恢复。
  • SCST承担最核心有关执行上下文的问题,,从 而实际上消除了在内核驱动开发的最复杂的问题之一。例如,Marvell的SAS适配器或 InfiniBand的SRP的目标驱动程序不足3000行代码长。
  • 极低的开销和 细粒度锁允许达到最佳的性能和可扩展性。特别是,传入请求可以处理在调用方的上下文或内 部SCST核心的tasklets,没有任何额外的上下文切换。
  • 设备句柄架构使各种I / O模式,在backstorage处理。例如,通过设备处理,允许导出的实际SCSI硬 件和vdisk装置处理程序允许导出为虚拟磁盘文件。
  • 先进的每发起设备可视化管 理(LUN屏蔽)允许不同的发起人必须看到不同的访问权限设置不同的设备。例如,发起器A可以看到出口的目标Ť设备的X和Y可读写,而发起器B可以看到同一目标Ť设备ý只读和Z可读 写。此功能对硬件目标器是必须的,这没有能力来创建虚拟目标(例如SAS适配器)。
  • SCST核心模拟SCSI主机适配器必要的功 能,因为从'远程发起人的角度来看,SCSI主机是作为一个拥有自己的设备的SCSI目标。这对于传递方式是一对多的关系特别重要,比如当 多个发起人可以连接到透传的导出设备。你可以找到更深入的阐述为 什么需要消息线程“关于目标器直通模式设计的问题”在Linux的邮件列表的SCSI。一些模拟的 职能如下:
    • 生成必要的单位注意事项,给存储和运送到所有连接的远端的发起者。
    • 保留/释放功能。
    • 各种重置和其他任务管理职 能的类型。
    • 报告的LUN命令以及SCSI地址空间的管理,以便对 所有远程发起者一致的地址空间,因为当地的SCSI设备不能了解彼此的报告通过报告LUN的命令。此外,SCST核心的响应 所有不存在的设备以错误,并提供访问控制,这样不同的远程发起人可以看到不同的设备。
    • 其他必要的功能(任务属性等),如SCSI标准规定。
  • SCST核心的多线程设 计和完整的SMP的支持,因此,如有必要,所有的CPU内核将参加命令处理。
  • 很好的文档化。

远端和本地之间的SCSI 发起者互操作性(如sd,st,等)的额外问题SCST会处理(它是尚未实现的)。这是必要的,因为本地SCSI发起者可以更改设 备的状态,保留该设备,或者它的一些参数的改变,SCST是不知道的,即远程发起者将不会知道,这可能导致各种问题包括数据损坏。因此,保留/释放命令,当地产生的单位注意事项 等,应被截获,并通过SCST核心。

你可以找到SCST比较与其他SCSI目标器的网页。一些重点功能,意味着最终用户可以找到在页。

SCST核心支持以下I / O方式
  • 透传模式支持一对多的关系,即当发起人可以连接到直通的导出设备,几乎所有SCSI设备类型:磁盘(输入 0),磁带(1型),处理器(3型),CDROM的(5型),磁光盘(7型),中换(8型)和RAID控制器(类型0xC)。在这种模式下,您可以,例如,分 享您的并行SCSI磁带或SATA的DVD - RW设备到iSCSI网络。
  • FILEIO模式,它允许使用的文件系统或块设 备文件,可以用虚拟远程SCSI磁盘或CDROM的收益与Linux的缓存。
  • BLOCKIO模式,它执行与块 设备直接块的IO,绕过页面缓存的所有操作。这种模式可以很好地与高端存储HBA协作,用于 应用程序要么不需要缓存或需要大宗吞吐量。
  • 用户空间模式使用scst_user设备处理程 序,它允许执行用户空间虚拟SCSI设备在SCST环境。
  • NULLIO模式处理器性能测试设备,提供一个 没有实际的数据传输性能开销直接测量方法的基本SCSI设备。
阅读(1240) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~