创建iSCSI存储应用COMSTAR与iSCSI挑大梁_第1页
创建iSCSI存储应用COMSTAR与iSCSI挑大梁_第2页
创建iSCSI存储应用COMSTAR与iSCSI挑大梁_第3页
创建iSCSI存储应用COMSTAR与iSCSI挑大梁_第4页
创建iSCSI存储应用COMSTAR与iSCSI挑大梁_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

COMSTAR简介COMSTAR是一种可以实现将任何Solaris主机转变为SCSI目标的软件框架。COMSTAR框架使所有SCSI设备类型(磁带、磁盘及类似设备)都可以连接到传输路径(如光纤通道),实现并行访问所有逻辑单元号(logicalunitnumber,LUN)和单点管理。在SCSI目标模式框架(SCSITargetModeFramework,STMF)和SCSI块设备(SCSIBlockDevice,SBD)中,COMSTAR也已添加了DTrace探测器。COMSTAR全称CommonMultiprotocolSCSITARget,支持iSCSI,FiberChannel,FCoE,Infiniband,SAS等协议。COMSTAR提供了一个基于OpenSolaris的企业级的存储框架,它可以将各种存储介质(磁盘、磁带)结合各种通信信道(光纤、iSCSI,iSER,SAS,FcoE等)构成一个存储系统。COMSTAR具有以下关键特性:OpenSolaris:COMSTAR被集成进OpenSolaris,这意味着只要你安装了最新版的OpenSolaris,就内置了STMF模块COMSTAR具有丰富的API,并且支持多种平台COMSTAR遵循T10技术委员会对SCSI存储接口的规范,并支持多路径为每个SCSI命令并行传输COMSTAR的设计目标是为用户创建存储服务时,提供添加新传输协议和不同存储设备的一个简单易用的框架。这使用户能快速的向存储系统中添加新特性。虽然Windows、Linux上也有类似的服务,但它们并没有提供一个框架使不同的存储设备(像磁盘、软盘、SES等)能与多种传输信道(光纤,iSCSI,iSER,SAS,FcoE等)配合使用。COMSTAR则能够使Solaris操作系统,利用ZFS作为备份文件系统以及现有的存储设备阵列,把自己变成一个能被网络上任何主机访问的存储设备。COMSTAR的体系结构图如图1:

图1COMSTAR的体系结构图COMSTAR主要的模块如下:STMF:负责事务管理(例如SCSI命令执行时的上下文和资源的管理),跟踪逻辑单元和端口,STMF也处理逻辑单元映射,分配内存,恢复错误操作,以及一些必要的I/O操作。Portproviders:为主机总线适配器(hostbusadapters)或者网卡提供的本地连接Logicalunitproviders:实现SCSI逻辑单元(例如,磁盘、磁带、virtualtapelibrary等)的功能Managementlibrary(libstmf):与STMF通信,并负责执行配置任务这种分层模块化的框架将SCSI命令的执行和清除以及资源的分配隔离开来,使得实现SCSI功能的模块不直接与传输模块交互,实现传输协议的模块也不需要关系SCSI层的功能。从而简化了SCSI和传输等模块的编写。iSCSI简介iSCSI,即internetSCSI,是IETF制定的一项标准,用于将SCSI数据块映射成以太网数据包。iSCSI技术是一种基于IPStorage理论的新型存储技术,这里就SAN与iSCSI做一比较,基本两者同属运行块协议的SAN架构,只不过前者透过FibreChannel,后者由IP传输数据罢了,而两者在管理及应用上也大同小异。这里在此还是尽量做一番归纳整理,以供参考,见表1。表1iSCSI和SAN综合对比

表-1iSCSI和SAN综合对比iSCSI协议模型iSCSI使用TCP/IP协议在不稳定网络上进行可靠的数据传输。iSCSI层和标准SCSI集在协议栈中的位置如图1所示。iSCSI层包括了已封装的SCSI命令、数据和状态如图2所示。

图2iSCSI协议栈iSCSI属于端到端的会话层协议,它定义的是SCSI到TCP/IP的映射,即Initiator将SCSI指令和数据封装成iSCSI协议数据单元,向下提交给TCP层,最后封装成IP数据包在IP网络上传输,到达Target后通过解封装还原成SCSI指令和数据,再由存储控制器发送到指定的驱动器,从而实现SCSI命令和数据在IP网络上的透明传输。它整合了现有的存储协议SCSI和网络协议TCP/IP,实现了存储与TCP/IP网络的无缝融合。iSCSI体系结构模式和两个术语iSCSI体系结构模式如图3。

图3iSCSI体系结构模式在iSCSI体系结构模式中通常有两个角色Target与Initiator分别叙述如下:(1)Target称为Target的通常是存储设备(StorageDevice),也就是存放数据的磁盘(以磁盘阵列居多)。在我们使用iSCSI期间,会在iSCSI存储设备上去建立LUN(LogicalUnitNumber),提供给有iSCSIInitiator功能的主机来存取iSCSI存储设备。(2)InitiatorInitiator的主要功能是提供计算机主机联机到Target作磁盘存取。这个Initiator可使用硬件方式Initiator或者软件方式Initiator,本文下面的iSCSI操作,皆是使用软件方式Target与Initiator。主流操作系统对iSCSI支持对于蓄势待发已久的iSCSI而言,迟迟未能全面普及的主要原因之一,就在于各类平台支持性的不够完备。是否能得到各式平台充份支持的关键,则在于协议的标准化上。表2是主流操作系统对iSCSI支持情况。

表2主流操作系统对两个角色Target与Initiator支持iSCSI的装置识别、存取、安全认证iSCSI是透过iSCSI认证名称(iSCSIQualifierName,IQN)来识别iSCSI装置,当前端设备发起存取要求时,iSCSI设备即能依照映射设定,响应存取要求?用于识别iSCSI装置的iSCSI认证名(IQN)命名有一定的规则可循,每家主要厂商都有一定的形式,如IBM为.ibm:xxxxxx;cisio为.cisco:xxxxxx。(1)iSCSI的命名和编址一个iSCSI名字由三部分组成:类型定义符、名字认证机构、由该认证机构分配的名字iSCSI地址格式·<domain-name>[:<port>]/<iSCSIName>(2)iSCSI的安全机制由于IQN可自行窜改,因此只依赖IQN作为识别发起者身分的机制相当不安全,所以iSCSI又提供了握手认证协议(ChallengeHandshakeAuthenticationProtocol,CHAP)来认证iSCSI发起方的身分。只有通过CHAP认证的发起端才会被允许存取。当然CHAP亦有遭破解的可能,因此也能选用效果更好的IPsec等适用于IP网络的加密机制。OpenSolaris下安装配置COMATAROpenSolaris本身带了一个iSCSITarget服务,运行在userland,性能一般,这里不使用它,使用COMATAR它可以通过ZFS管理。以下配置的逻辑图如图4。

图4配置的逻辑图1、服务器端配置安装StorageServer软件包:·pfexecpkginstallstorage-serverSUNWiscsit

·pfexecreboot2、ZFS存储池配置·$pfexeczpoolcreatesan_poolmirrorc9t0d0c9t1d0

·$zpoollistsan_pool

·NAMESIZEUSEDAVAILCAPHEALTHALTROOT

·san_pool1008M313K1008M0%ONLINE-

·$zpoolstatussan_pool

·pool:san_pool

·state:ONLINE

·scrub:nonerequested

·config:

·NAMESTATEREADWRITECKSUM

·san_poolONLINE000

·mirrorONLINE000

·c9t0d0ONLINE000

·c9t1d0ONLINE000

·errors:Noknowndataerrors3、创建磁盘卷·$pfexeczfscreate-V300Msan_pool/vol_osol

·$pfexeczfscreate-V300Msan_pool/vol_lx

·$pfexeczfscreate-V300Msan_pool/vol_win

·$zfslist-tvolume

·NAMEUSEDAVAILREFERMOUNTPOINT

·rpool/dump511M26.1G511M-

·rpool/swap512M26.5G137M-

·san_pool/vol_lx300M376M16K-

·san_pool/vol_osol300M376M16K-

·san_pool/vol_win300M376M16K-4、创建三个SCSILogicalUnitNumbers(LUN)·$pfexecsbdadmcreate-lu/dev/zvol/rdsk/san_pool/vol_osol

·$pfexecsbdadmcreate-lu/dev/zvol/rdsk/san_pool/vol_lx

·$pfexecsbdadmcreate-lu/dev/zvol/rdsk/san_pool/vol_win查看一下LUN情况:·$pfexecsbdadmlist-lu

图5查看一下LUN情况5、添加LUN到试图·pfexecstmfadmlist-lu-v

·$pfexecstmfadmlist-view-l600144F01EA8050000004B17FC0A0001LUN概念UN的全称是LOGICALUNITNUMBER,也就是逻辑单元号。我们知道SCSI总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用TARGETID(也有称为SCSIID的)来描述这些设备,设备只要一加入系统,就有一个代号。而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了LUN的概念,也就是说LUNID的作用就是扩充了TARGETID。UN是什么东西?LUNID不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的LUN可能是磁盘空间,可能是磁带机,或者是MEDIACHANGER等等.LUN的神秘之处(相对于一些新手来说)在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个TARGETDEVICE,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比TARGETDEVICE级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为LUN0,LUN1,LUN2....什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是LUNDEVICE,这是一个逻辑对象,所以很多时候被称之为LOGICALDEVICE。6、创建Target·$svcadmenable-rtarget

·$svcs-ltarget

·$pfexecitadmlist-target

·TARGETNAMESTATESESSIONS

·.sun:02:2eb787bd-e9ce-46ca-8d74-85e4e04b087conline07、OpenSolaris客户端配置安装iSCSIManagementUtilities·$pfexecpkginstallSUNWiscsi

·$pfexecreboot配置静态发前端·$pfexecitadmlist-target

·TARGETNAMESTATESESSIONS

·.sun:02:7de26418-fe5e-c386-a457-e0e06a16d723online0

·$pfexeciscsiadmaddstatic-config.sun:02:

2eb787bd-e9ce-46ca-8d74-85e4e04b087c,7配置发现·$pfexeciscsiadmlistdiscovery

·$pfexeciscsiadmmodifydiscovery--staticenable

·$pfexeciscsiadmlistdiscovery查看一下target:·$pfexeciscsiadmlisttarget查看磁盘视图如图6

图6查看磁盘视图使用磁盘·$pfexeczpoolcreatemypoolc0t600144F01EA8050000004B17FC0A0001d0

·$zpoollistmypool

·NAMESIZEUSEDAVAILCAPHEALTHALTROOT

·mypool286M112K286M0%ONLINE-

·$zfslist

·$pfexecmkfile100M/mypool/big_file

·$zpoollistmypool

·NAMESIZEUSEDAVAILCAPHEALTHALTROOT

·%ONLINE-8、Windows客户端的使用WindowsVista和Windows7已经内置了iSCSIinitiator,以Windows7为例,在管理工具中打开MicrosoftISCSI发起程序如图7。

图7打开MicrosoftISCSI发起程序在“发现”栏目的“发现目标门户”的IP地址处输入服务器IP地址,端口选择默认端口3260即可。在“收藏的目标”栏目的可以查看ISCSI设备详细信息。下面在计算机管理的磁盘管理界面可以看到一个新的卷设备,安装Windows7提示可以完成卷的添如。下面查看卷的属性可以看到“SUNCOMSTARSCSIDiskDivice”设备也就是说iSCSI磁盘设备已经可以使用了如图8。

图8iSCSI磁盘设备已经可以使用如果是Windowsxp下载安装MicrosoftiSCSIInitiator软件后运行。点击MicrosoftiSCSIInitiator—>Discovery—>Add—>输入target的IP地址和端口号点击MicrosoftiSCSIInitiator—>Targets—>Refresh,发现当前可用的Target点击MicrosoftiSCSIInitiator—>Targets—>选中target—>Logon—>OK,建立连接点击控制面板—>管理工具—>计算机管理—>磁盘管理,可以看见映射到本机的逻辑磁盘。然后可以与本地磁盘一样进行分区格式化操作。点击MicrosoftiSCSIInitiator—>Targets—>选中已经连接的target—>Details—>勾选相应的任务项目—>Logoff,断开连接。Discovery->Add,手工添加Target主机的IP地址。Targets->Logon,应该显示状态为“Connected”。然后上运行:diskmgmt.msc,一个转换磁盘的对话框会出现,相当于系统又增加了一个硬盘。不过一旦磁盘被格式化为NTFS分区,而又通过zfs命令修改文件系统大小,则NTFS的数据会全部丢失。要扩充的话,只能再新建一个zfs,把新的iscsi磁盘作为mount点挂接到原来的NTFS分区。9、Linux客户端使用以RedHatEnterprisLinux5为例启动服务:·#serviceiscsistart

·#chkconfigiscsion发现target,询问target名称,格式如下:·#iscsiadm-mdiscovery-tsendtargets-p<target_iqn_name>IP地址:端口号下面是一个例子:·#iscsiadm-mdiscovery-tsendtargets-p5:3260

·5:3260,1.sun:02:d6510807-8e78-4cb7-8dcc-fa37d066ca3a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论