Best recommendations for SQL server 2008 on a VMWare ESXi Box.

I know there is a lot of info out there regarding this topic, but a lot of it is very generalized and I wanted to give you specific hardware specs that we have and what we are trying to accomplish.

I currently have a sql server 2008 on a VM via an iSCSI SAN. the Disk I/O is average at best.  So we are deciding to put that VM on its own ESXi Server. The server is a dual quad core processor with 8-10k SAS drives in a Raid 10 array.

My question is, should I do anything in particular to squeeze out the best performance from the Raid-10? Should I create a different size array? How should I set up the partitions? Thanks for the advice...
jhuntinAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
No, do not create a different sized array, use all the disks you have in one SINGLE RAID 10 ARRAY.

More disk = more spindles = more performance.

If using an Array Controller, e.g. Smart Array which can be configured for cache, change the cache to 75% Write, 25% Read at least, and if you do not have the BBWC - Battery Backup Write Cache module, purchase one for the best performance.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
coolsport00Commented:
RAID10 is your best performance array, but if you can get higher speed disks (15K?), that would help. Otherwise, not much else you can do. Also, not sure there is a need to put your SQL VM on a whole separate host, unless of course the SQL VM is sharing datastore storage with other VMs, which of course will potentially lead to I/O contention, albeit minimal IMO (but mainly depends on the read/writes happening). One other thing I would do is, if you have the disks, place a Log volume on a separate RAID than your Database volume. That'll help a little bit with performance is well. Just spec out the VM as you would if it was a phys box. (vCPU, RAM)

Hope that helps.

~coolsport00
0
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
How you setup the disks, partitions is up to you, as long as they all sit on the same fast datastore. You could still keep the OS, Database and Logs on separate disks, as they will all be on the same fast datastore (RAID 10 array!)
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

coolsport00Commented:
Found this MS KB on disk config best practices for SQL:
http://msdn.microsoft.com/en-us/library/cc966412.aspx#EEAA, which also references a 'Top 10 Storage Best Practice' link: http://msdn.microsoft.com/en-us/library/cc966534.aspx. Good stuff! :)
0
coolsport00Commented:
In the 'Top 10' link, especially reference #'s 5 & 6...
0
jhuntinAuthor Commented:
I guess what I'm realizing I should be asking is I should set up a Raid 10 and then just create 2 seperate datastores for the DB and Logs on the VM. The OS will reside on 1 VM instance on the Physical Box and sit with the DB, where the Logs will sit on another datastore. The OS will recognize them as two different drive partitions, correct?

I just want to make sure that I shouldnt be creating 2 raid arrays, and putting the vm with the os and DB on one and the logs on the other?
0
coolsport00Commented:
If you have enough disks to do so, I would create 2 RAID10s for DB & Logs. So yes...my recommendation is 2 RAIDs. I separate my DB & Logs myself...2 separate Datastores, 2 separate RAIDs. If you don't have the slots to add more disks, or if you do, but not enough for another RAID10, according to MS Best Practices, a RAID1 for the Logs will suffice, then you can have the RAID10 for the OS/DB volumes. If you create 2 logical volumes on your RAID in the BIOS, such that you can create 2 Datastores for your VM, both the DB and Log volumes will still be on the same disks. More than likely, you won't notice too much of a performance difference...if at all. But..that being said, if you wanna follow best practices, and gain as much performance as possible, place DB & Logs on separate disks.
0
jhuntinAuthor Commented:
so if at all possible split them up into seperate arrays, but if not then at least seperate datastores is what you are saying on a single array?
0
coolsport00Commented:
Correct.
0
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Personally, I would say NO.

If you remove disks from your Array set, you will reduce the IOPS of the Total Array.

and your smaller Array with have less IOPS.

The combination of both will be less performance overall.

You can do the maths, and work it out.

0
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Have a look at this recent Question about storage, for some IOPS calculations.

http://www.experts-exchange.com/Storage/Misc/Q_27375008.html
0
coolsport00Commented:
I wasn't meaning to remove disks from current array set...I believe I mentioned "add" disks ("if you have slots to add more disks"). My recommendation is to add...not take away. Not sure if that was entirely clear, but I did say "add" in my post above. My recommendation is to create a 2nd array with ADDITIONAL disks...not split the current ones into 2.
0
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
I would still add MORE disks to the Current ARRAY.

More IOPS per datastore.
0
jhuntinAuthor Commented:
no more room. 8 is all this 2U can handle. The DB is only about 4-5GB mind you.
0
coolsport00Commented:
Ok, then what you can do, if you suspect minimal DB growth over the next 2-3yrs is just keep everything on the same RAID10. My assumption is there is minimal Read/Writes happening on a DB so small? Just create separate virtual disks for OS, DB, & Logs.
0
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
He is a VMware Communities

Best Practices for SQL Server
http://communities.vmware.com/docs/DOC-8964

If you've got the time it's worth a long read, with a cup of tea!
0
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
that should have been here is a VMware Communities Best Practices for SQL Server

have a read...

Best Practices for SQL Server
http://communities.vmware.com/docs/DOC-8964
0
coolsport00Commented:
What did you call me??? :P hhaha j/k
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VMware

From novice to tech pro — start learning today.

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.