I/O and bandwidth limit

tincboy

Renowned Member
Apr 13, 2010
466
3
83
I'm totally new to Proxmox and my question is that Does Proxmox have capability to limit HDD I/O and monitor it per VM and how about bandwidth limitation?
 
Use the search function of the forum for bandwith limitations, this is already discussed several times.
Limitations of HDD I/O is not really possible.
 
Limitations of HDD I/O is not really possible.
It's not possible with any other virtualization platform or it's not possible just with virtualization platforms that you've used in Proxmox?
Thanks for your quick replay.
 
As far as I know it should be possible with the CFQ scheduler, at least Citrix does the trick with that scheduler...
 
As far as I know it should be possible with the CFQ scheduler, at least Citrix does the trick with that scheduler...
What about KVM?
I think it's a good feature to be implemented in Proxmox, isn't it?
 
If your virtual machines are on separate block devices (i.e. LVM), you can view their IO activity with "iostat".

Can you please be more specific about separate block, do you mean each vm on separated disk or just separated partition for every vm?
 
That doesn't matter... a separate disk, separate partition or lvm volume...they're all block devices and can be monitored using iostat... So the default way in Proxmox, lvm, can be monitored with iostat
 
I can't install sysstat to start using iostat command using this command:
apt-get install sysstat
Reading package lists... Done
Building dependency tree... Done
E: Couldn't find package sysstat
 
I can't install sysstat to start using iostat command using this command:
apt-get install sysstat
Reading package lists... Done
Building dependency tree... Done
E: Couldn't find package sysstat
Hi,
runs for me without trouble:
Code:
# apt-get install sysstat
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut       
Lese Status-Informationen ein... Fertig
Vorgeschlagene Pakete:
  isag
Die folgenden NEUEN Pakete werden installiert:
  sysstat
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 218kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 901kB Plattenplatz zusätzlich benutzt.
Hole:1 http://ftp.de.debian.org lenny/main sysstat 8.1.2-2 [218kB]
Es wurden 218kB in 0s geholt (371kB/s)
...
Perhaps "atp-get update" before?

Udo
 
That's OK now,
I've used iostat command and it's output,
Linux 2.6.18-2-pve (vp) 04/26/10 _x86_64_

avg-cpu: %user %nice %system %iowait %steal %idle
0.31 0.00 0.93 1.11 0.00 97.65

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hdf 0.02 3.50 0.00 198288 0
sda 23.63 809.89 1553.44 45830142 87905808
sda1 0.00 0.03 0.00 1490 56
sda2 23.62 809.87 1553.44 45828540 87905752
dm-0 0.01 0.01 0.10 376 5728
dm-1 38.73 213.30 297.15 12070178 16814896
dm-2 165.57 596.55 1256.19 33757514 71085160

So how can I determine I/O rate per vm now?
 
iostat will give you per block device statistics.

If you have multiple guest images on one block device, you won't see much.

In other words: you will see stats per guest if each "guest disk" is placed on a separate LVM volume.

If you have guest images in files (i.e. qcow2) placed on one mount point, you won't get data which is interesting to you - in this case, you can try "iotop".
 
That's OK now,
I've used iostat command and it's output,
Linux 2.6.18-2-pve (vp) 04/26/10 _x86_64_

avg-cpu: %user %nice %system %iowait %steal %idle
0.31 0.00 0.93 1.11 0.00 97.65

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hdf 0.02 3.50 0.00 198288 0
sda 23.63 809.89 1553.44 45830142 87905808
sda1 0.00 0.03 0.00 1490 56
sda2 23.62 809.87 1553.44 45828540 87905752
dm-0 0.01 0.01 0.10 376 5728
dm-1 38.73 213.30 297.15 12070178 16814896
dm-2 165.57 596.55 1256.19 33757514 71085160

So how can I determine I/O rate per vm now?
Hi,
if you use lvm-volumes for a VM, you can find the right dm-device with
Code:
dmsetup info
In your case you have only swap, root and data.
E.G. at the following output
Code:
Name:              fc_1_vg-vm--104--disk--1
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        1
Event number:      0
Major, minor:      252, 12
Number of targets: 1
UUID: LVM-fosNqBYjAB8g493FXcnEavmlUJeA91Hc0SQEkFh9hfA8Ja0Xe8xcvNPQD66JB3wa
you have to use dm-12 (minor number) for iostat like
Code:
iostat -dm 5 dm-12

Udo
 
Code:
iostat -dm 5 dm-12

Udo
Would you please explain what does this command do?
I really need to get I/O rate per each VM and as I've about 10 vm on my server do you think it's a good idead to make a partition for each one?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!