Who is using Object Storage and why?
I think the commercial version of storage tank out today does NOT use OSD but, the developers have stated that: "Though not implemented (in the current release), Storage Tank was developed with the intent to use object-based storage devices, and the current research prototype supports object-based storage devices." IBM has an open source implementation of an OSD driver for Linux so we know they are making progress. Their project is on SourceForge. Also, IBM demo'd OSD at Storage Network World in April 2005
By the way, Intel also has a Linux OSD initiator project on SourceForge
Their stated reasons for wanting OSD are: "Storage devices that have knowledge of the objects (essentially files) being stored can add significant capability to a storage environment. For instance, the device can store specific keys with an object so that host systems that want to read or write the associated file are required to present the proper key before being allowed to access to the object. Such an approach eliminates SAN security problems and makes it feasible to extend Storage Tank beyond the machine room to become a compus-wide file system. Additionally, object storage devices can conceivably optimize data placement (having intimate knowledge of drive geometry) or participate in intelligent caching or remote copy operations that are beyond the ability of current storage devices"
I'm going to go into more on the disk data placement benefit in a later entry. There's a lot more benefit than just that!
Lustre is a high-performance parallel file system for Linux designed for high-performance computing. Lustre is open sourced but primarily created and maintained by Cluster File Systems Inc. According to their website, ten out of the top thirty supercomputers, including the number one ranked IBM BlueGene computer run Lustre.
Lustre currently uses a proprietary object protocol on top of IP, although they have stated they WANT to move to a standard. Today, of course, there are no readily available T10 OSD storage devices.
Lustre uses object storage for two main reasons. One, Lustre enables creation of highly parallel and scaleable computers using many commodity compute platforms. Centralizing block management in the storage device avoids a whole lot traffic on the interconnect to synchronize free/used block management. Two, the object storage device can keep track of which compute nodes have which objects (files) open for read and write access avoiding a whole lot more traffic on the interconnect to share files.
Panasas builds an object array and associated file system layer called PanFS. I think they also work with Lustre but I need to verify this. Panasas also uses a proprietary object interface and have also stated that they want to move to an open standard. Panasas is also driving pNFS as an open standard for a transport-agnostic metadata server.
Panasas uses Object Storage for for many reasons. Similar to Lustre they focus on high performance supercomputing and want the benefit of centralized block management and file sharing. In addition, Panasas uses the grouping of data to intelligently layout the data on the media and do smarter caching. This is valuable for HPTC workloads where they may create large data objects where high-speed streaming access is important. Finally, Panasas allows secure, authenticated access to objects.
Sun has demonstrated QFS running on T10 OSD storage and has stated their desire to move to OSD in a presentation at the U. of Minnesota DTC here. Nice slides Harriet - some of these look familiar :-). This presentation cites several benefits. As a high-performance parallel file system, centralizing block management and sharing are two key benefits.
1. Jai Menon, David Pease, Robert Rees, Linda Duyanovich, and Bruce Hillsberg, IBM Storage Tank - A heterogeneous scalable SAN file system", IBM Systems Journal 42, No. 2, 250-267. Also available online: Storage Tank Paper
2. Panasas, "Object Storage Architecture", White Paper