Suggestions for new ESXi & Server 2008 Setup

I have just set up a new VMware ESXi 4.1 server. I am looking for suggestions so that my VMs run smoothly but aren't inefficiently using too much resources. If you were setting up the following VMs on this hardware as I am from scratch, how would you configure them?

**25 Users with 25 desktops in LAN office
**10 Users connect remotely to RDS 2008 Server
**25 users connecting to small SQL Express Database (500Mb)

Dell R710 running ESXi 4.1
Two 2.5GHz/Quad-Core Intel chips (8 cores total)
24Gb RAM
1.5TB Disk Space (six disk RAID5)

Production VM's:
1) Server Standard 2008 R2 - DC, File Server, SQL Express, Print Server, DNS, DHCP
2) Server Standard 2008 R2 - Remote Desktop Services (RDS) Role, for 10 users running apps: Office 2007, Quickbooks
3) Windows 7 Pro - Used as testing machine, just needs to be moderately fast
4) Vyatta router - this will take up minimal resources

What are your suggestions for RAM, Disk Space, CPU allocation for each VM that will allow them to run fast but not waste resources? How many cores should go to the servers? I plan on adding more VM's in the future so I want to be mindful of capacity. How much disk space should be allocated to system drives on the servers? Is it OK to set up these VM's to 'grow' as they need more data in the future? Basically how would you set this up from scratch.


p.s. I am NOT running Exchange, no need to size for that
Who is Participating?
Jon BrelieConnect With a Mentor System ArchitectCommented:
The beauty of vmware is that you can adjust on the fly.  I would start with the following:

1. 1cpu, 4gb RAM
2. 1cpu, 4gb RAM
3. 1cpu, 1gb RAM
4. 1cpu, 1gb RAM.

You may need to add cpu, but my understanding of ESXi is that each system waits to execute an instruction until the number of cores they are assigned are available, so it is best to start low.  IE: if you have a VM assigned 4 cores, and only 3 are free, it has to wait until another is freed up.

You might find that you need to tweak RAM, particularly on the Terminal Server, but again-start low adn build your way up.  You can increase memory with a simple reboot.
goldylamontAuthor Commented:
Regarding RAM--my server has RAM optimized so that there are three physical chips for each CPU (6x4GB Chips for 2 CPU's). With this in mind does it matter how I allocate RAMs in VMs or are these independent as far as performance is concerned?

RAM Memory seems easier to play with since it can be changed with a reboot. However how flexible are changing CPU and Disk Space allocations after creating a VM? I've read that changing the CPU count can cause issues in a VM. I'm not sure about disk space.

What's a good size for my system partitions on the server? If I set up a separate partition for file storage on these VM's, can they be set to grow as needed?

Jon BrelieSystem ArchitectCommented:
Growing a disk is easy.  Shrinking it, not so much.  Never had an issue with changing around CPU numbers.

Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

Cláudio RodriguesFounder and CEOCommented:
Couple points:
1. For the VMs disk, always set it to use the real space and NOT to grow as needed. The main reason for NOT thin provisioning the disks (this is the correct term) is to avoid a possible issue where the server (host) runs out of disk space and in that case the VMs simply crash AND with a real chance of MAJOR corruption. So if you allocate 50GB to a VM, make sure you allocate the REAL 50GB when you create the VM.
2. Windows 7: several people mentioned 2vCPUs and at least 2GB RAM are required to make it run smoothly (follow @RonOglesby on Twitter).
3. I would start the RDS with 2 vCPUs and 4GB RAM.
4. Not sure what you are doing regarding disaster recovery in this case but with a single server, if it dies, ALL your VMs are dead. I would definitely considering a redundant setup, unless your business is ok with being with no computer access for a couple hours until you get all up and running again.

Cláudio Rodrigues
Microsoft MVP - Remote Desktop Services
Citrix CTP
Jon BrelieSystem ArchitectCommented:
Actually thin provisioning is incredibly powerful in environments where you have multiple ESXi hosts and multiple storage paths.  IE, I can put a 600gb server thin provisioned on 300 gb worth of disk while I perform maintenance on the original host.

Granted there IS the possibility of over-provisioning, but good documentation and accurate reporting can overcome this problem.  I thin-provision everything.
Cláudio RodriguesConnect With a Mentor Founder and CEOCommented:
As in the Spiderman movie, "with power comes responsibility" and for that reason Thin provisioning, in some environments, may lead to HUGE disasters (and I have seen this happen first hand). :-)

This thread is a good one to read:

There are for sure drawbacks and it will indeed cause performance issues depending on the environment. May not be the case here at all but it is worth reading.
VMWare's take on it:

Cláudio Rodrigues
Microsoft MVP - Remote Desktop Services
Citrix CTP
goldylamontAuthor Commented:
thanks guys, i have everything up and running now. i love it! I'm running 3 Server 2008R2, one Win7 and one WinXP and everything is FAST! :-D I only gave XP and Win7 1GB RAM each and they seem ok.
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.

All Courses

From novice to tech pro — start learning today.