Create Open Storage Arrays out of x86 servers with this new OpenSolaris target technology.
COMSTAR is an open-source project that allows any Sun server to become a block-based storage device. The acronym stands for COmmon Multiprotocol SCSI TARget. The project is the world's first open-source enterprise-class target framework. The framework allows all SCSI device types (tape, disk, SES, and so on) to be connected to any transport (Fibre Channel, iSCSI, iSER, SAS, FCoE) with concurrent access to all LUNs (Logical Unit Numbers) and a single point of management.
Block-based storage has multiple sectors, or blocks, of consistently sized segments (usually 512 bytes) of storage. Blocks are fundamental to storage. They are simple and haven't really changed much in the past 50 years. Though storage in the industry is moving into objects, files, virtualization, and abstraction, underneath all this are blocks used for writing and reading. This is why COMSTAR is a basic and fundamental building block to using OpenSolaris as the storage operating system.
The COMSTAR project concepts themselves are not revolutionary--block-based storage is prevalent on the market today. What is revolutionary is that the software allows the Solaris OS to be used as microcode using ZFS as the backing store file system, using common off-the-shelf components to build a storage array. A key objective of COMSTAR is to provide a simple framework for users to add transport protocols and device types to build new block storage devices. This allows the user to quickly start adding new features to differentiate these new storage devices without spending time on the fundamental building blocks.
Block storage devices make up the bulk of the world's storage today. In fact, many enterprise applications are written assuming a block-based backing store. Although both Linux and Windows systems have block targets, neither provides a framework to handle multiple device types matched with multiple transports. The current NAS offerings provide a file-based interface as well as a block-based interface, usually iSCSI and Fibre Channel. Finally, the Linux platform has provided several OEM opportunities with iSCSI array vendors, so by providing this functionality on the Solaris platform, Sun expects to provide better opportunities for vendors and customers.
The COMSTAR framework (see Figure 1) introduces software concepts that match the storage industry in terms of nomenclature. A block-based array built with COMSTAR has 4 basic pieces:
What is unique about the framework is that all block storage devices can be built from one framework. This has not been accomplished in any other commercially available operating system. While Windows and Linux systems have had several block-based target architectures, they are built independently, which means as problems arise or new features are desired they must also be independently fixed or added to each architecture.
Similarly, this framework allows any port to access any LUN. This means that once a LUN is created, whatever access is provided to the storage device (iSCSI, Fibre Channel, or others) can be used to access the LUN in a concurrent fashion.
"I've been watching various storage-related projects spring up, and RFE putbacks, and have noticed (with a grin on my face) how Solaris is being positioned as the most excellent storage OS. A veritable Swiss army knife for tossing data to and fro."
"COMSTAR is very exciting to me as there are no other (noncommercial) target solutions available."
"First off, thanks to Sumit et al. for the great work on this amazing project. I'm a total Solaris newbie and have enjoyed tinkering with the OS the past couple days. The purpose of this whole endeavor is to try to create my own (cheap) 4Gb FC target and before COMSTAR was available it seemed my options were non-existent."
COMSTAR provides a single framework, developed in the open, based on the Solaris OS for all your block-based needs. No other operating system offers this on the market today. The single framework allows bugs and enhancements to be fixed in one place, and allows concurrent access to all LUNs created on the storage device with a single point of management. Because it is open-sourced, it prevents vendor lock-in, and allows users and deployers to quickly begin working on differentiation without spending time on the basic building blocks. Finally, the fact that it's based on the Solaris OS means you have enterprise-class features such as observability through FMA and serviceability with hot swap, and it works on any platform that is supported by the Solaris OS today.
Check it out on the OpenSolaris web site.