Wednesday, August 30th, 2006
Vmware server, iscsi, AOE, nas, fiber channel, WTF??
When navigating the remote storage forest you need to keep a level head and some focus about what you really want to accomplish. The jump from truly small business to enterprise level prices begins here, SAN, and ends with your clients wondering how somebody can ever afford to pay 63k for essentially a file server. Should Fiber Channel cards cost $750 when you can get a 1G ethernet for $19? Who knows. Whenever you tack “enterprise” to the front of something expect the price to rise accordingly.
What I know thus far is that I am having some real issues with vmware and their virtual filesystem. Let me contrast this to my experience with Xen. With Xen, I could create a LV (logical volume) and simply export that LV to the Dom (VM, Guest OS) and have it work. This was fantastic, I didn't realize just how fantastic it was until I decided to resize a Vmware disk.
I have Vmware running on my server that has Raid-1 with LVM so I can expand paritions with the best of them. For Vmware though, first you need to grow the file system, easy using their built in utility, I grew my disk from 10 to 20 gigs np. If you are not familiar with how Vmware stores its filesystem for Vms: it uses a bunch of files. When you expand it, it just creates a bunch more files. Here is the weird part, after the expansion I noticed that where I started the expansion, the filesize was normal size, but the file before it, the previous last file, was the same size that is was before, smaller. Now that I read that it sounds confusing. A better way to say it would be the last file in the list before I expanded it was smaller. This is just like any other archive format that I use, rar being the best example. When it expanded it just built a new file after the last old one, it did not start and change the old file, essentialy adding space to a single parition. Hmmmm. What does that mean? It seems it means that the disk was 'grown' by adding more files which makes it look like another partition on the drive.
Now I have multiple partitions that should would work as advertised. I cranked up the Vm and ran cfdisk, and there was the new space staring me down. Great, now just to take mounted drive off line and resize the partition, then the fs. What a pain. Yes, I know about mounting RAW partitions with Vmware, this however was not really supported with beta, so I steered away from it. Now I need to take a better look, because of what I am in need of right now: more space.
My client is really expanding fast. I sold them my current server for their shop of 8 people. They had burned through approximately 30 gigs in 20 years they had been around, so I figured 300 gigs should be about right. At least until I got a handle on what thier requirements were. Well now that they have 20 people in the course of six months, and a real addiction to Vmware-server, its time for plan B. I know they need a SAN, I feel it in my bones. I have not , as of yet , added some network storage to my hardware inventory. Its probably about time.
Kicking it up a notch is what its all about, so i decided to see what it would take to build a SAN. Madre de Dios , I have trouble believing people pay what they do for some hardware. I am really in the right business. My servers will perform with the best of them, I use all top rated hardware, so why not build a SAN that can do the same? The trouble is the communications channel that is needed to build the connection. If you go with 'enterprise' equipment, you are going to go with fiber channel, and of course pay out the wazoo. If you live someplace besides Boardwalk, you might opt for the next big performer, abet half as fast, ATA over Ethernet. This is Marvin Gardens right here, still pricey, like Applebees instead of Houstons (6k and below, sans drives). So down we go, gimme Baltic Ave, were looking at ISCSI. ISCSI will perform over standard Gigabit hardware, and can be utilized with Windows and Linux. Looks like we have a winner. Welcome to the Taco Bell of SANs, and right in my budget.
The dilemma here is the performance hit on the processors with ISCSI. You can offset this with a TOE device (TCP offload Engine). Is a TOE device really needed for my application, or could I deal with a hit in overhead? I think the cost of trying to incorporate a TOE in my 1u servers would out-weigh the benefits of the added cycles. I might be horribly wrong here, so more research is in order.
The case is a different beast. You can buy a large case with a hot swap back plain, now you just need a raid card that supports SATA raid-5 with a ton of ports. Of course the hit there is for the card. There is a solution with a port multiplier. The SATA II spec allows for a port multiplier, a device that will marry multiple SATA drives to a single port, and my Asus MB in my server supports SATA II. Bingo. However, I would like to be able to do this without a little device mounted in my case. So I think I will opt for the card. That means raid-5 on the card and better performance. Enough to allow me a little slack if I skimp on the TOE for now, go figure.
Bottom line, a SAN is going to be a little more expensive with the added cost of the Gigabit switch and the added card but well under 2k. That suits me, and better yet, my client just fine. Expect to see me offer my own line of low cost SANs in the near future.




