Monday, April 2, 2007

Global namespace revisited

We defined the problem earlier as IT folks not being able to "glue" their storage together. In a very general way, I think this is what people mean when they say "global namespace". How do you take a new storage appliance or server, and make it appear like its a part of the old namespace? This is a tough technical problem to solve.

There seem to be 2 approaches to solve this problem:
1. Place the solution outside the storage server. This is the approach taken by Nuview (since acquired by Brocade), Rainfinity (acquired by EMC), Neopath (acquired by Cisco) -- notice a pattern here -- and Acopia, which is still independent. Attune Systems is another company which takes a similar approach, but for Microsoft environments only.

The idea here is to stick a virtualization layer between the client and the server, and have that layer provide a namespace that spans 2 or more fileservers. The advantage to this approach is that you don't need to change your storage servers. If you like working with your NetApp, EMC, SUN or Windows 2003 (hey it could happen) server, you can continue doing so. The disadvantage is that you have another network layer essentially to worry about. If all your users are going through your virtualization layer and that box goes down, what do you do? Brocade/Nuview solves this problem by surfing on top of DFS. The other guys (don't know about Attune) cluster their products together.

2. Place the solution inside the storage server. There are many innovative companies providing products here. One is Isilon. With their solution, you buy a storage array, when you run out of space on it you add another one. Everything automagically falls into place and you just increased your storage transparently. Another is Ibrix, which has an absolutely fascinating solution that you have to check out. The idea here is to really load-balance your storage so it can scale linearly, on the hardware of your choice. The grandaddy of all of these is Spinnaker, which was acquired by NetApp back in 2003, and has been reborn as Data OnTap GX.

At this point though, we get into the world of clustered filesystems. An interesting approach to clustered filesystems is from SGI. CXFS involves having a separate metadata server, which keeps track of which file is where, and distributes traffic to the appropriate members of the cluster that run XFS. This is not a simple solution: SGI sells you a warm body to install and deploy the metadata server for you, should you choose to go with this solution.

The advantage here with whichever solution you go with, is that its going to be integrated. There is no virtualization shim that you stick between the client and the server. Obviously the disadvantage is that you have a brand new OS your IT folks have to learn.

So which approach is going to win? The market will tell, obviously.

No comments: