IO delay during backup

BitRausch

Renowned Member
Mar 16, 2009
140
0
81
Muenster
Hi @all,

Just 2 quick question:

1)
Is there a way to reduce IO delay during backup (vzdump)?
If I understood it correctly the --tmpdir param is not for LVM snapshots which I do most of the time. Currently I am reaching as much as 40% IO delay during backup. KVM are mainly idle during backup..
Specs: 1 PVE Server - Raid 10 - HW Raid Controller
(Sorry - I am not very familiar with LVM snapshots.)

output pveperf
Code:
CPU BOGOMIPS:      21336.92
REGEX/SECOND:      880183
HD SIZE:           49.22 GB (/dev/pve/root)
BUFFERED READS:    200.89 MB/sec
AVERAGE SEEK TIME: 7.99 ms
FSYNCS/SECOND:     2845.11
DNS EXT:           1051.28 ms
DNS INT:           1046.10 ms (local)

2) Is it possible to start KVM VM's with delay during autostart?
I need to have one kvm machine (firewall) up before the next one starts.

Thx in advance...

kind regards
BitRausch
 
1)
Is there a way to reduce IO delay during backup (vzdump)?

If you talk avbout KVM VMs you can try to use LVM volumes instead of qcow2 files - I gues that will reduce IO delays.

2) Is it possible to start KVM VM's with delay during autostart?
I need to have one kvm machine (firewall) up before the next one starts.

Currently not, sorry.
 
Hi @all,

Just 2 quick question:

1)
Is there a way to reduce IO delay during backup (vzdump)?
If I understood it correctly the --tmpdir param is not for LVM snapshots which I do most of the time. Currently I am reaching as much as 40% IO delay during backup. KVM are mainly idle during backup..
Specs: 1 PVE Server - Raid 10 - HW Raid Controller
(Sorry - I am not very familiar with LVM snapshots.)

output pveperf
Code:
CPU BOGOMIPS:      21336.92
REGEX/SECOND:      880183
HD SIZE:           49.22 GB (/dev/pve/root)
BUFFERED READS:    200.89 MB/sec
AVERAGE SEEK TIME: 7.99 ms
FSYNCS/SECOND:     2845.11
DNS EXT:           1051.28 ms
DNS INT:           1046.10 ms (local)
2) Is it possible to start KVM VM's with delay during autostart?
I need to have one kvm machine (firewall) up before the next one starts.

Thx in advance...

kind regards
BitRausch

you can also think of limiting the backup transfer speed.

just create the following file, e.g. set the bandwith used for vzdump to 10 mb/s:

Code:
nano /etc/vzdump.conf

bwlimit: 10000
 
If you talk avbout KVM VMs you can try to use LVM volumes instead of qcow2 files - I gues that will reduce IO delays.



Currently not, sorry.


Thank you dietmar. I will look into LVM Volumes. Need to read more about it. Currently all my KVM VM's (qcow2) are on one LVM Volume which was setup during pve install. Do I need to add another volume/harddisk as a seperate LVM volume ore should I change the current volume? Not sure if I understand you correctly...

Kind regards
BitRausch
 
Do I need to add another volume/harddisk as a seperate LVM volume

That is one option.

ore should I change the current volume?

You can also shrink the size of /dev/pve/data - that way you have some free space in the 'pve' volume group you can use. But its a bit complicated because you have to shrink a mounted filesystem (unmount first, shrink filesystem, shrink volume, ...)
 
Hi Tom,

Thank you for your replay.
This is my current vzdump.conf

Code:
dumpdir: /mnt/pve_backup
mode: snapshot
bwlimit: 20000

Note: /mnt/pve_backup is a mount on a NFS storage.

If I reduce my bwlimit to 10000 then backup time will increase right?
How does the --compress param impact the IO delay?
Would it help to use a different format instead of qcow2? maybe something like raw?

kind regards
BitRausch
 
Oh I see...

I would prefer the second option cause the HW controller is faster then another attached harddisk (can not add to the HW controller - it's already maxed out - need to add to the sata port on mainboard.)

Just to understand you here:
- reduce the current LVM
- create another LVM
- mount the new LVM to /dev/pve/data ???
or
- reduce the current LVM
- create another LVM
- mount the new LVM to /mnt/directory ???
- copy qcow2 files to that directory?
or
- add another HD to the mainboard
- change qcow2 to raw
- use --tmpdir to create temp files on the additional HD
(would that actually reduce IO at all ?? )

kind regards
BitRausch
 
In my ProxMox ( last version ) there isn't file vzdump.conf. Where is it?
Th

yes, default there is no file.

just create it and enter the values you need (see 'man vzdump' for the syntax)

Code:
nano /etc/vzdump.conf
 
Thank for you reply.
I've the same problem with 1.4 ... I created a VM with Win2k8 r2 and raw disk with e1000 eth...when I use that machine , I/O delay goes up...

IO Delays
77.42%​
 
By the way, did this bandwidth limit appear with Proxmox v1.4 only ?

Because, i have older proxmox servers and the backup logs confirm that speeds are greater than 10 Mo/s (and i never changer bwlimit value)...
 
2) Is it possible to start KVM VM's with delay during autostart?
I need to have one kvm machine (firewall) up before the next one starts.

as a workaround you may configure your bootloader in the KVM that needs to start later to wait some (more) time before booting.
another workaround would be to delay starting any services until the firewall is ready. i think you need to figure out what ready means and how it could me measured.
 
Hi pille,

thx for your answer!.
... i think you need to figure out what ready means and how it could me measured.
that is actually a very good question ... I need to figure that out...
Basically I run a Windows SBS 2008 server which is protected by an ASTARO firewall (both KVM). So my goal is to make sure that ASTARO is fully started so the SBS NIC can connect to the firewall. Currently I am starting the 2 VM's manually so I can decide when to start the SBS... So far it works...
But I have to do it every time when I reboot the pve server (does not happen very often :-) ) I try to figure out how to accomplish that without user interaction...
I thought there might be a sort of "wait" or "start VM with delay " command...
I don't know how to check the status of the firewall (NIC) in the SBS VM during the boot process...

kind regards
BitRausch
 
then use the first solution, letting the bootloader wait. i don't know, but believe the Win2008 bootloader is able to do that. if not you can use grub to boot, or at least chainload it.