OpenSolaris = Storage Operating System
By pmonday on May 17, 2007
By now, you've hopefully heard about the OpenSolaris Storage Community. I am lurking in the community for the time being as I try to take care of a few jobs here. Hopefully I'll be more active in the coming weeks and months.
During my day job, I do spend quite a bit of time thinking about this and working to apply Solaris to practical storage problems. Often, the question of "What IS a Storage Operating System" comes up. A storage operating system, to me, is simply an operating system that either is, or can be, entirely focused on delivering, consuming, and/or transforming storage from one representation to another (such as block to file, or file to objects, etc...). Most general purpose operating systems can profess to do all of these things in one form or another so, in many ways, all operating systems are storage operating systems.
Still, there is something unique about OpenSolaris that makes it even "more" of a storage operating system than the others. Its not ZFS alone, though ZFS is interesting on many accounts. ZFS is truly a paradigm shift that every single company should be looking at for its availability characteristics, built-in checksum, built-in volume manager, etc...
When I look at the image showing the open source stack that relates to storage, I realize that these are tried and true, enterprise class storage technologies that are either in the open source community or being released to the open source community in the near future.
One of my favorite projects that was just added to the open source community is the Honeycomb Project. A true Content Addressable Storage API being added to the Open Source community should help advance CAS in the mainstream quicker than all of the slideshows about CAS on the planet. I have played with the Honeycomb API for about a year and as a web application programmer (on occasion), this thing really gets me excited. CAS APIs are truly closer to the application tier then the java.io API is. CAS also has the potential to disintermediate the database from unstructured data, like photo sharing sites and such. With standards, such as XAM, in the works, perhaps we are on a 2-3 year curve, but filesystems should be watching their back.
I can honestly say, I don't think any other operating system community has a CAS API sitting in it. Further, what makes the OpenSolaris Storage Operating System so unique is its coherency. All of the projects are under one umbrella for now, making it simple. I like simple.
Now one could argue that OpenSolaris is too BIG to be a Storage Operating System, to which you have to argue: "then strip it down". OpenSolaris is modular enough that you don't have to take the whole thing. I was working with Belenix this week. Distributions can certainly tune OpenSolaris all they want to focus the functionality and capabilities just on what is necessary. Need your Storage Operating System to attach to a SAN and serve NFS out the top end? How about using the NFS Server, UFS, SVM and a few of our fibre-channel drivers. No need to include iSNS or CIFS. Need your Storage Operating System to serve NFS over about 24 Terrabytes of disk? How about using NFS over ZFS? Piece of cake.
OpenSolaris as a Storage Operating System is going to open new doors in the storage world. A fully functioning, living, breathing, market penetrating, OPEN SOURCE operating system focused on consuming, delivering, and transforming storage. Couple the OpenSolaris storage capabilities with a particularly dynamic hardware system, perhaps focused on optimizing storage delivery itself, and you have the makings of a storage revolution.