• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 344
  • Last Modified:

Raid vs LUN Does it matter.

I have two16 Bay servers Identical specs that I am using as SAN Storage devices (they will replicate for redundancy). Each has two 8 Port Raid Cards. Each card has 8 SAS drives attached. Each SAN server has:

Raid Card 1 has 8 drives x 136 GB each
Raid Card 2 has 8 drives x 79 GB each

I am setting up a hyper-V cluster. DUAL XEON Quadcore each at 1.87GHz with 30 GB Ram. The SAN servers will have my iSCSI targets connected via dedicated private network using gigabit ethernet cards and switches.

The virtual Machines I have for he cluster are as follows.
1 SQL Server 2005 on 2008 Server (accounting and CRM databases) 10 users
1 Terminal Server on 2008 Server 5 Terminal users
1 e-commerce on 2008 Server
1 Phone System Management on 2008 Server

I am trying to figure out what is the best way to divide the disks for best performance.

Should I make 4 raid10's and put each VM on it's own raid 10 which gives only 4 drives for each VM? Or should I make 2 large Raid10's and create 4 luns, 2 on each card.

The e-commerce and phone server are not huge and don't grow much but phone has decent activity recording calls, routing phones, voicemail, etc... and ecommerce has about 20 transactions a day.

the Hyper-V servers will have two MPIOs per server for load balancing and redundancy should a switch fail.

There are about 20 users accessing the various stuff through out the day.
1 Solution
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
If you are seeking best and ultimate performance,

more disks = more spindles = more performance = more IOPS for the VMs and Datastore.

Create a large ARRAY, with all disks, RAID 10 will be the fastest for some operations, versus RAID 5 or RAID 6, but that's a compromise between storage and performance.

and then you can carve-out suitable size LUNs for your VMs, we usually use 500-800GB, if the VMs are small.
Best is ALWAYS going to be individual RAID1s in terms of performance assuming all else is the same.  It is the only RAID level that insures that 100% of the read I/Os can be serviced by one of two disks.  

This holds true whether I/O is virtualized or not, but it does come with a few constraints. It obviously isn't as easy to manage as a RAID10, and unless you take the time to do some tuning and load balancing then a RAID10 isn't going to be much better than a pair of RAID1s.  But with proper tuning the sky is the limit.

Example, get a small pair of SSDs, do RAID1 and do vmdirect I/O (non virtualized) directly to the SQL server specifically for TempDB / scratch table space.  This could get you > 50K IOPS compared to a hundred any other way.
In my opinion, your infrastructure is such a huge overkill that you will not see performance difference regardless of your data storage configuration.
Obviously RAID 10 offers best resiliency and speed. This said, a thought should be given to the possibility assigning the VM's data storage in such way that the RAID's do not share a "spindle".
For example in a light  I/o load servers scenario I would favor having 4x mirrored drive sets each dedicated to each VM over a single RAID 10 shared by ALL VM's.
But in all fairness there are many other contributing factors that would lead to the best solution.  
Sometime it is best to set your infrastructure in the simplest form, work out any bugs and begin optimizing  after the system runs well and you need to make performance improvements.
Red-KingIT ManagerCommented:
I wasn't quite clear from your description whether the Storage Servers are going to be dedicated or will they be doing something else too.
Also, what OS will these Storage servers be running?

I assume the 79GB disks are faster than the 136GB ones?

I would be inclined to separate the storage based on disk speed.
Small, fast disks for performance and large, slow disks for storage.
I'd use RAID 5 on the small, fast disks to maximize your capacity while maintaining some level of survivability. It may be a little slower than RAID 10 but they're small disks so you don't want to waste space if you can avoid it.
RAID 10 would be choice for the larger disks, sacrificing storage for some performance gains. Though if you're going for maximum storage maybe RAID 6 would be better allowing for 2 disk failures and maintaining 6 disks for capacity.
Important information on the larger disks as they will have greater survivability in a RAID 10 or 6 configuration.

You are best presenting the resulting LUNs to the Hyper-V hosts in the largest capacity you can, i.e. the full RAID grouping of all disks in that array. If you really don't want to do this maybe hold back 10 or 20 percent.
In this way you can chop up the disk as you see fit from within Hyper-V and you have the maximum flexibility there. Making later changes is more difficult, and of higher risk, if you're going back to the storage controller to make changes. This is especially true when using an after-market storage setup. A Netapp or EMC array has a a UI and features that are designed to manage changes more safely.

Once you've presented and attached your iSCSI storage to the Hyper-V Hosts you will then want to create your cluster and in doing so specify the 4 LUNs you've presented to be your cluster storage. These will show up on your Hyper-V hosts as Cluster Volumes 1 to 4.
Once you do this successfully you'll be able to migrate your VMs between hosts and between storage if necessary.

You've glossed over the setup of your Hyper-V hosts a bit (Version of Windows, license type, number of Nics etc.) but you may want to look at these MS pages regarding deployment on Windows Server 2008 R2;

Hyper-V: Planning and deployment
Hyper-V: Live migration network requirements.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now