如下图所示,OpenSolaris目标主机使用COMSTAR配置成存储阵列,发起访问的主机通过存储网络就能访问这些存储设备,而不用担心其上安装的是Linux、Windows、Solaris操作系统还是VMware ESX。
![Sun开放存储解决方案:COMSTAR_Comstar](http://developers.sun.com.cn/blog/functionalca/resource/COMSTAR/pic1.jpg)
COMSTAR的设计目标是为用户创建存储服务时,提供添加新传输协议和不同存储设备的一个简单易用的框架。这使用户能快速的向存储系统中添加新特性。虽然Windows、Linux上也有类似的服务,但它们并没有提供一个框架使不同的存储设备(像磁盘、软盘、SES等)能与多种传输信道(光纤, iSCSI, iSER,SAS, FcoE等)配合使用。COMSTAR则能够使Solaris操作系统,利用ZFS作为备份文件系统以及现有的存储设备阵列,把自己变成一个能被网络上任何主机访问的存储设备。
COMSTAR的体系结构图如下:
![Sun开放存储解决方案:COMSTAR_ZFS_02](http://developers.sun.com.cn/blog/functionalca/resource/COMSTAR/pic2.jpg)
STMF:负责事务管理(例如SCSI命令执行时的上下文和资源的管理),跟踪逻辑单元和端口,STMF也处理逻辑单元映射,分配内存,恢复错误操作,以及一些必要的I/O操作。
Port providers:为主机总线适配器(host bus adapters)或者网卡提供的本地连接
Logical unit providers:实现SCSI逻辑单元(例如,磁盘、磁带、virtual tape library等)的功能
Management library (libstmf):与STMF通信,并负责执行配置任务
这种分层模块化的框架将SCSI命令的执行和清除以及资源的分配隔离开来,使得实现SCSI功能的模块不直接与传输模块交互,实现传输协议的模块也不需要关系SCSI层的功能。从而简化了SCSI和传输等模块的编写。
COMSTAR的特性
COMSTAR具有以下关键特性:
OpenSolaris:COMSTAR被集成进OpenSolaris,这意味着只要你安装了最新版的OpenSolaris,就内置了STMF模块
COMSTAR具有丰富的API,并且支持多种平台
COMSTAR遵循T10技术委员会对SCSI存储接口的规范,并支持多路径
为每个SCSI命令并行传输
总结
COMSTAR提供了一个基于OpenSolaris的企业级的存储框架,它可以将各种存储介质(磁盘、磁带)结合各种通信信道(光纤、iSCSI,iSER, SAS, FcoE等)构成一个存储系统,供任何主机访问,极大的提高了系统的可扩展性。随着企业对存储服务需求的上升,可以预见COMSTAR将会成为存储领域的最耀眼的星星。也正因为COMSTAR的众多优点,社区现在有人把COMSTAR解释成“the STAR of the storage COMmunication”。