Friday, December 14, 2007

What makes a SAN?

I'm sure others share my burning question, the one that keeps me up at night - WTF is a SAN? Dude, the data's in the network. Kinda reminds me of Owen Wilson in Zoolander.

By definition the SAN is accessed over it's own network - 4 Gbps fiber channel in the case of the EMC equipment I've dealt with.

In simple terms, you get this thing with hard drives in it that you plug your servers into. It's very flexible in terms of logically defining volumes that span these drives. You can then decide which computers get to access which volumes - they become local drives to the host through a combination of drivers and software. Suppose the host dies - it's easy enough to "cut over" the volume to another computer.

So it's flexible - what other advantages do you get? For starters it's on it's own fast network. You can do normal backups over the SAN without saturating your network like you would using a NAS. The gear is also engineered to be very reliable (read expensive). Everything can be redundant. Each host and storage processor is wired into 2 separate star topology fiber channel switches. Everything has redundant power supplies that can be plugged into 2 sources. The storage processor deals with things like read/write requests and all the typical RAID operations. It can do cool things like resizing LUNs on the fly, but those operations make the system grind for awhile. You have many levels of flexible configuration. Terminology probably varies between vendors. I'll give a broad overview, but not get into detail. Array enclosures fit on a rack and hold disks. Zones are basically VLANs for fibre channel - storage processors see all. Raid Groups have disks as members that share a common RAID type. LUNs are logical volumes that are typically subsets of Raid Groups, but could probably span them to make things confusing. Storage Groups are sets of LUN->Host mappings.

Nothing magical here. It's just like anything you've ever done with hard drives or RAID arrays, except that you get more logical levels to work with. You still don't want to let multiple computers control a LUN - lack of Cache Synchronization would corrupt data between them. It's possible by running clustering services to synch up the computers. In my experience the additional complexity for that type of solution often outweighs its purpose. We have a copy of that software but don't use it - just like we have a plugin for Backup Exec that reads from the SAN directly but we now just read from it as a logical volume - our ethernet backbone is sufficient for backups in the middle of the night. It's all about the simplest solution that meets your requirements.

Cool story - the contractor that introduced me to SANs used to sell them for EMC. Their big feature was a SAN automatic data replication scheme that sounded conceptually like offsite mirroring. I forget the exact numbers, but he was saying that some percentage, maybe half of the twenty something big customers of theirs residing in the Twin Towers on 9/11 that had that feature were back up quickly. All the companies without that feature couldn't come back up in a timely manner - bad juju for financial institutions and went out of business shortly thereafter. The only exception was a company that didn't go out of business - it was bought out for cheap.

No comments: