Poor Man’s SAN

Wikipedia defines a SAN as:

A storage area network (SAN) is an architecture to attach remote computer data storage devices (such as disk arrays, tape libraries, and optical jukeboxes) to servers so the devices appear as locally attached to the operating system. A SAN typically has its own network of storage devices that are generally not accessible through the regular network by regular devices. The cost and complexity of SANs dropped in the late 2000s, allowing wider adoption across both enterprise and small to medium sized business environments.

SANs come in all flavors but despite what Wikipedia says about costs dropping, I don’t know of too many small schools that have adopted SAN storage. They are still generally cost prohibitive. Most small schools I know have adopted SAN’s cheaper cousin, NAS (Network Attached Storage). NAS has the advantage of being cheap because it uses existing technology like SCSI, USB or eSATA to connect external storage directly to servers.

NAS is great if you want to add storage to an individual server, or add storage on the network as a shared folder but if you want to build out a single storage node and slice it up to multiple servers, you really want a SAN. So what is a small school to do?

Enter FreeNAS. FreeNAS is an open source embedded operating system that turns regular PCs into super network storage devices. For small schools, its a great alternative to expensive commercial SAN offerings. Full disclosure here though, you’re not going to get all the bells and whistles you would with a true commercial hardware SAN. No redundant controllers, fiber channel interconnects or high speed drive back-planes but for the basic functionality of a SAN that allows you to consolidate storage and share it with multiple servers, FreeNAS is more than capable.

So how do I use FreeNAS? Well I use it in three distinct ways. Initially I setup a FreeNAS box so that I could share files and backup configurations on my ESXi VMware hosts much like I would a traditional NAS. Technically in this case, I am using FreeNAS as a central NFS file server and not a SAN but it was a good introduction to the OS for me. My first FreenNAS box was an old Dell GX270 tower with a couple 250GB EIDE drives in it. I installed FreeNAS onto a 512MB flash drive, enabled NFS and attached my VMWare hosts via the storage configuration in the VSphere Client. Easy.

The next project was to provide “off site” backup. I had my computer class build a white box system (the case is actually black) using a basic Intel Motherboard, an Intel e5200 CPU, 2GB of RAM and 6 1TB Western Digital Green hard drives. Total parts cost was less than $1000. Again, I installed FreeNAS to a flash drive and proceeded to format the drives in RAID 5, enable and configure the iSCSI service and place the system in the furthest building from the Server Room that I could. I ended up with a headless box and a bit over 4TB of storage sitting in the Cafeteria network closet waiting for data.

FreeNAS is the means but iSCSI is really what makes it all come together. I setup my Windows Server 2008 backup server running Backup Exec 12 to connect to the iSCSI targets on the FreeNAS box. Windows Server 2008 comes with the iSCSI initiator sofware that allows you to connect to an iSCSI target, if you are using Windows Server 2003, you can download the initiator from Microsoft here.

In FreeNAS I broke down the drives into 2TB parts. Once mounted through iSCSI, they showed up as regular drives under Windows. Then I created Backup-to-Disk folders on these drives and now every night, the backups run across the 1Gb link from the server room to the Cafeteria network closet using iSCSI. In the event my backup server ever died, I could install Backup Exec on another server, attach the iSCSI targets to the FreeNAS box and be back up and running in no time. And even though all that data is traversing the network, its way faster than the SCSI tape drive ever was.

I’m doing something similar for our network home folders. Again I’m using the iSCSI features of FreeNAS to share out storage to a windows file server. The home folders are located on the iSCSI drives and shared out through windows file sharing just like they would be if they were stored on locally attached storage. I also had my class build a dedicated FreeNAS box for this, again using off the shelf desktop Intel parts and 1TB western Digital Green Drives. I eventually plan to build a second FreeNAS box and use DFS with another windows server to build in redundancy for the home folders.

Recently I wanted to experiment with running VMWare guests off of a SAN. I got the idea when Drobo came out with their Drobo Pro certified for VM. So the third way I am using FreeNAS is to store and run guest VMs. Again, iSCSI is the protocol but this time instead of windows I have the VMware host connecting directly to the FreeNAS iSCSI targets. I am not running this with any production systems, but I have been running two test systems for the past few months without any issues.

The next step in my Poor Man’s SAN project is going to be to setup dedicated gigabit switches to create an isolated iSCSI storage area network. This may improve performance or it may just separate out the iSCSI traffic from my backbone network. I’ll know for sure when its up and running.

Ok, so maybe it’s not a real SAN, but for a small school with no budget FreeNAS on generic Intel hardware with cheap 1 or 2TB SATA drives is an affordable solution with a lot of potential.

“Storage area network – Wikipedia, the free encyclopedia.” Wikipedia, the free encyclopedia. N.p., n.d. Web. 24 Sept. 2010. .