Gathering opinions for/against sql server 2008R2 on VM ware
we are beginning discussions for the Sql Server 2008 databases to move to Sql 2008 on a production server I am in favor of VM technology IF and ONLY IF - - a physical server that can handle over 8 processors to the cabinet - RAM allocations up to and including 128 GB - each VM would use Windows operating system ENTERPRISE EDITION ONLY Preferable : VM replication via Double-Take to remote site - Sql Server would use Sql Server 2008 R2 optional: logshipping of dbs to remote site - ETL operations in its own database as BULK LOAD
There's no reason not to go to VMWare assuming, as you say, you have enough hardware. As a matter of fact, assuming you have enough hardware, AND, the databases you're putting there are not EXTREMELY I/O heavy, there's every reason to look into using virtual servers. I work for an insurance company. We keep lots of data, but it's in many, many small databases with relatively low I/O. Virtualization has proven to be a huge win for us.
You list some very specific hardware requirements, and they may indeed be required for your specific situation, but those are not hard and fast minimums for virtualizing SQL Server. As Grant said, you need to make sure your hardware is sufficient to your needs, and depending on your situation those needs could be vast or relatively small. Virtualizing servers has a lot of obvious advantages. It is important to remember the disadvantages as well though. Even the best virtualization comes with overhead, but this is a problem easily solved by throwing hardware at it. The other larger concern are that it adds complexity to the situation (the VM software itself provides yet another possible place for a problem to arise and assuming you have multiple VMs running at once on the hardware than having a sudden spike in activity in a completely unrelated VM could degrade the performance of your SQL system unless you have set governors and resource allocations very carefully...) The advantages very often outweight the disadvantages, but you need to evaluate on a nearly case by case basis to see if it makes sense for your situation.
+1 to both Grant and Timothy - but I wanted to touch on a point that you don't seem to have looked at - which is the I/O requirement for the system. It's fine having a gazillion gigs of RAM, but if you only have a single hard disk on the back end, performance is still going to suck. So make sure that each VM has access to enough I/O for it's workload. Although, having said that, that's a requirement that applies to any SQL Server, virtualised or not. Take a look at the usual practices for I/O separation, where to put logs and data, which RAID levels are most appropriate for your workload. Check out Brent Ozar's blog. Very switched on guy.