linuxI/O栈之SCSITARGET(1)基础介绍-创新互联

   我们之前介绍了,linux I/O 栈的预习方面。简单地了解了一下整个linux I/O 栈的组成。

创新互联是一家集网站建设,遂溪企业网站建设,遂溪品牌网站建设,网站定制,遂溪网站建设报价,网络营销,网络优化,遂溪网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

从今天开始我们仔细介绍linux I/O栈的导出I/O栈,linux I/O target。

一、基础介绍

    I/O导出协议栈是什么?

    从广义上讲,大家每天可能都会去接触这个东西。

   比如:我们每天使用的移动硬盘,它的内部也是一个I/O导出协议栈,但是由于它不涉及于I/O命令的解析,它仅仅是做了从SATA转USB的工作。

   其实硬盘本身也是一个I/O导出的标准规范,它用的规范往往是在后端存储协议实现(SAS 、SATA等)。

   那么我今天主要介绍的是前端导出I/O协议栈,主要是包括:iscsi、fiber channel等大家比较常见的方式。

   历史上很多导出I/O协议栈,如我最早接触的IET(iSCSI Enterprise Target),他只能导出iscsi target,还有SCST,他比较全面debug,很多hba板卡厂商推荐它。

    我们重点介绍的是:linux 主线维护的LIO,也就是内核里的target模块。

   linux I/O栈 之 SCSI TARGET (1) 基础介绍

       linux I/O target的架构是很清晰的,从最上层的管理由CLI实现。

       CLI由/usr/lib/python3/dist-packages/rtslib_fb等支持。

   rtslib_fb通过操作/sys/kernel/config/target目录下面的目录和文件来创建target内核支持。

   target在内核的configfs是一套比较复杂的代码,用来管理kernel里的target的各个实例。

       target core模块由内核实现,它主要是做SCSI CMD的仿真工作,能够提供各样先进的能力。

   比如在cluster的角度,支持persistent reservations,ALUA(asymmetric logical unit assigntment),

REFERRALS特性,fence特性等。能够实现高级VAAI特性,这主要用于vmware exsi。

   这其中主要的SCSI命令unmap,zero,write same,xcopy等也可以适用于其他虚拟化存储平台。

   存储管理引擎包括:标准storage,内存map和RDMA等功能。

       最下层的fabric mod主要是导出协议驱动的支持。

       storage mod,主要是提供backend的种类支持。

【本文只在51cto博客作者 “底层存储技术” https://blog.51cto.com/12580077  个人发布,公众号发布:存储之谷】,如需转载,请于本人联系,谢谢。

       

   

       


新闻标题:linuxI/O栈之SCSITARGET(1)基础介绍-创新互联
文章来源:http://ybzwz.com/article/cejohc.html