VMware Cloud Community
Astro
Contributor
Contributor

Best practice I/O distribution large / small blocks

Hi all

My configuration:

  • 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

    • 2 DC

    • 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 ?

For example:

  • 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

or:

  • 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

Many thanks

Max

Tags (2)
0 Kudos
3 Replies
weinstein5
Immortal
Immortal

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

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
Rob_Bohmann1
Expert
Expert

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!

Lightbulb
Virtuoso
Virtuoso

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.

0 Kudos