Monday, September 17, 2007

Configuring LUNs for virtual machines

Two nice folks responded to my post on the VMTN forums regarding how to set up VMFS partitions and LUNS for virtual machines on our SAN.

Before I talk about all of this, Stephan Stelter from LeftHand Networks also included a link about "How to Align Exchange I/O with Storage Track Boundaries". Good to know...

But anyway, this is apparently what most people do:

  • Create VMFS partitions for system drives, and place virtual machines that you would back up together on the same LUN.
  • For data drives, map to the LUN directly with the OS iSCSI initiator.
I haven't decided if we should place all our system drives on a single LUN or break them up into groups. I think I want to place domain controllers on their own LUN so I can restore our entire AD without the possibility of a USN rollback. And all our other servers don't really fall into groups... if start to think about splitting them up, it gets to the point where I might as well make a LUN for each of them. And from what I've read so far, performance isn't really a problem if you have less than 16 VMs on a LUN.

So with all the system drives (except AD) on a single LUN, restores become a little more complicated. Not too hard.. just harder than using individual LUNs. We would need to bring up a snapshot on a new LUN, mount the LUN on ESX server (or maybe somewhere else), and copy the VMDK of the machine we're restoring over to the production LUN.

If there is a LUN for each system drive, restoring from a snapshot would just require a click on the EqualLogic array's web interface, and everything would be back.

So what are we going to do? I still don't know yet. And there's plenty of time to decide, and neither way is the "wrong way" (nor the "right" way). So we'll see...

3 comments:

Anonymous said...

What did you decide to go for?

I am in the same boat, and also considering one large VMFS partition presented to ESX for all system drives, and presenting additional LUN's (data) directly to the guest OS. You decision to put DC's on a seperate LUN sounds interesting however. One thing I would like to avoid though is causing any problems with failing over to a second ESX/Equallogic installation using Site Recovery Manager. As you are a few months ahead, I was wondering which configuration you used in the end?

Justin said...

We ended up going with the situation I talked about. I really should make a post with everything we've done in the past few months, but we're just so busy! We have the following LUNs presented to ESX:

vmfs-main (All server VMs)
vmfs-dc (Domain controllers)
vmfs-user (Virtual desktops, separate since we snapshot them less often and only keep the snapshots for a week)

vmfs-main and vmfs-user are 512 gig LUNs. I've read somewhere that making LUNs much larger that than can slow performance, which makes sense I suppose. We aren't at that point yet, but I may make a second server LUN if we max this one out, instead of extending it.

Quick rant about server disk sizes. Windows Server 2003 requires 4 gigs. I went with 8 originally, thinking that it would be plenty for an application, and any data will be kept in a separate LUN, or in SQL. But I forgot about the page file. The biggest VM we have is 4 gigs of RAM, so I made our server template 12 gigs (8 for the OS, and 4 extra for the page file). At this size, we can have about 40 server VMs.

EqualLogic will load-balance incoming iSCSI connections by initiator and LUN. So if you only have 1 LUN, each ESX server can only use 1 gig of bandwidth to the iSCSI SAN. In your situation, it sounds like you have a lot of VMs if you are also using Site Recovery Manager. I would group your VMs into LUNs that would hopefully half-fill a 512 gig LUN, leaving room for expansion. If you have less than 25 server VMs, you should be ok with one LUN, but if you have much more that that, I would split them up.

Disaster recovery shouldn't be applied to domain controllers. Don't fail them over, just have extra domain controllers in your DR site.

Unknown said...

I am working with a similar configuration, but have a different question:

Can a Raw Data Partition from the ESX Host Internal SCSI drives be presented to guest hosts for NTFS formatting?

I am looking for ways to offload some SQL Server I/O from the Equalogic array.