COMSTAR(CommonMultiprotocol SCSITARget)SunOpenStorage架构下ZFS之外的又一个软件框架,它目前是OpenSolaris下的一个开源项目,其作用和Linux下的SCST类似,但它将SCST子系统分成独立的许多模块,这些模块由STMF(SCSI Target Mode Framework)统一管理。利用它你可以将一台主机变成一个能被网络上任何主机访问的存储设备。
如下图所示,OpenSolaris目标主机使用COMSTAR配置成存储阵列,发起访问的主机通过存储网络就能访问这些存储设备,而不用担心其上安装的是LinuxWindowsSolaris操作系统还是VMware ESX

COMSTAR的设计和实现
COMSTAR的设计目标是为用户创建存储服务时,提供添加新传输协议和不同存储设备的一个简单易用的框架。这使用户能快速的向存储系统中添加新特性。虽然WindowsLinux上也有类似的服务,但它们并没有提供一个框架使不同的存储设备(像磁盘、软盘、SES等)能与多种传输信道(光纤, iSCSI, iSER,SAS, FcoE)配合使用。COMSTAR则能够使Solaris操作系统,利用ZFS作为备份文件系统以及现有的存储设备阵列,把自己变成一个能被网络上任何主机访问的存储设备。
COMSTAR的体系结构图如下:

主要的模块如下:
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具有以下关键特性:
OpenSolarisCOMSTAR被集成进OpenSolaris,这意味着只要你安装了最新版的OpenSolaris,就内置了STMF模块
COMSTAR具有丰富的API,并且支持多种平台
COMSTAR遵循T10技术委员会对SCSI存储接口的规范,并支持多路径
为每个SCSI命令并行传输
总结
COMSTAR提供了一个基于OpenSolaris的企业级的存储框架,它可以将各种存储介质(磁盘、磁带)结合各种通信信道(光纤、iSCSI,iSER, SAS, FcoE等)构成一个存储系统,供任何主机访问,极大的提高了系统的可扩展性。随着企业对存储服务需求的上升,可以预见COMSTAR将会成为存储领域的最耀眼的星星。也正因为COMSTAR的众多优点,社区现在有人把COMSTAR解释成“the STAR of the storage COMmunication”。