nasbackup.sh: add bandwidth throttle via -b flag#12846
Open
jmsperu wants to merge 1 commit intoapache:4.20from
Open
nasbackup.sh: add bandwidth throttle via -b flag#12846jmsperu wants to merge 1 commit intoapache:4.20from
jmsperu wants to merge 1 commit intoapache:4.20from
Conversation
Add -b/--bandwidth flag (MiB/s) to limit backup I/O impact on production workloads. For running VMs: uses virsh blockjob --bandwidth to throttle the QEMU push backup job per disk. For stopped VMs: uses qemu-img convert -r rate limit and ionice -c 3 (idle I/O class) to minimize impact on other VMs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
-b/--bandwidthflag (MiB/s) to limit backup I/O impact on production workloadsvirsh blockjob --bandwidthper diskqemu-img convert -rrate limit +ionice -c 3(idle I/O class)Motivation
Backup jobs on shared storage can saturate I/O bandwidth and degrade performance for production VMs on the same host or NAS. This is especially problematic during business hours or when multiple VMs are being backed up concurrently.
The bandwidth limit can be passed by the CloudStack agent based on a global or per-repository setting, giving admins control over backup impact.
Test plan
-b— verify no throttling, identical to current behavior-b 50— verifyblockjob --bandwidthapplied, checkdomjobinfoshows throttled rate-b 50— verifyionice -c 3and-r 50Min process list