4 ESX 3.5 host (Foundation, no vCenter) - 2 x QuadCore - 32 GB - 2 x HBA FC
HP EVA 4400 storage
25 physical server Windows
3 file server (700-1000 users): large I/O blocks (64K ?)
1 print server (same users): large I/O blocks (64K ?)
1 Domino mail server: smaller I/O blocks (4K ?)
3 Domino Application server: smaller I/O blocks
15 servers: Antivirus, DHCP, small DB, intranet Web server, etc.
As best practice, for I/O optimization, it's better concentrate guests having similar I/O (large or small blocks) on the same host or assign them to different host ?
ESX1: 2 file server + other guests
ESX2: 1 file server + 1 print server + other guests
ESX3: 1 Domino mail + 1 Domino application + other guests
ESX4: 2 Domino application + other guests
ESX1: 1 file server + 1 Domino mail + other guests
ESX2: 1 file server + 1 Domino application + other guests
ESX3: 1 file server + 1 Domino application + other guests
ESX4: 1 print server + 1 Domino application + other guests
It is better to distribute the load so you are not placing vms with similar load profiles particularly for disk i/o on the same esx server -
If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
Hey Max, Another consideration is how to distribute the worklaods on the luns themselves.
While you defintely want to be concerned about distributing the i/o load across the hosts, the i/o activity per lun may be just as critical to achieve best performance.
Think about how many luns you want, and also, if you need a vmdk bigger than 256 GB, to make the block size of the lun appropriate for the largest file size you anticipate. (1MB block size = 256 GB max file size, 2MB block = 512 GB block size,etc.).
I would first look at the absolute amount that each of these servers are generating in terms of the amount of i/o, (iops/s, MB/s) and then look at spreading a high i/o server with a few small i/o servers per lun, and then per host. You don't want to put all your "heavy hitters" on the same lun or the same host.
Your examples seem to likely to distribute the load fairly evenly without looking at any actual data. Spreading the file servers and the database servers seems to make the most sense.
Another consideration you probably have already thought about, is to distribute mission critical workloads across different servers so if one host has problems. people do not lose the ability to print and read their email, and some other critical app(dhcp,dc, etc), whatever is most important in your organization. Good luck!
One quick thought would be the SMTP queue of your mailserver. You might want to create a single high performance LUN (RAID 10 with a good number of spindles) and present as RDM. The SMTP queue can be very I/O intensive and in Exchange (I have no Domino experience) I have seen the mail queue come to a halt when I/Os exceed the capability of the underlying storage. Just a thought.