[fedora-virt] I/O load distribution
Pasi Kärkkäinen
pasik at iki.fi
Mon Jul 27 16:27:23 UTC 2009
On Mon, Jul 27, 2009 at 07:22:27PM +0300, Pasi Kärkkäinen wrote:
> On Mon, Jul 27, 2009 at 03:15:05PM +0200, Dennis J. wrote:
> > Hi,
> > What is the best way to deal with I/O load when running several VMs on a
> > physical machine with local or remote storage?
> >
> > What I'm primarily worried about is the case when several VMs cause disk
> > I/O at the same time. One example would be the "updatedb" cronjob of the
> > mlocate package. If you have say 5 VMs running on a physical System with a
> > local software raid-1 as storage and the all run updatedb at the same time
> > that causes all of them to run really slowly because the starve each other
> > fighting over the disk.
> >
> > What is the best way to soften the impact of such a situation? Does it make
> > sense to use a hardware raid instead? How would the raid type affect the
> > performance in this case? Would the fact that the I/O load gets distributed
> > across multiple spindles in, say, a 4 disk hardware raid-5 have a big
> > impact on this?
> >
> > I'm currently facing the problem where I fear that random disk I/O by too
> > many VMs on a physical system could cripple their performance even though I
> > have plenty of CPU cores/RAM left to run them.
> >
> > Has anyone experience with this problem and maybe some data to shed some
> > light on this potential bottleneck for virtualization?
> >
>
> Well, there's only so much IOPS you can get from a single disk.. (or raid1).
>
> IO generated from multiple virtual machines is pretty random, so you just
> need a lot of disks to make it faster.
>
> Single 7200 rpm SATA disk will give you only 100-150 IOPS (IOs per second)
> max.. 10 disks will give you 1000-1500 IOPS max.. it's pretty easy maths.
>
.. Or then get faster disks. Single 15k rpm SAS disk will give you up to 350
IOPS, so it's 2-3x faster than 7200 rpm SATA.
-- Pasi
More information about the Fedora-virt
mailing list