Knowledge Base
2025.10
GENERIC
Networking
Storage
Compute
Designate
Orchestration
Self-Hosted
Install
UPGRADE
Monitoring
Add-Ons
Title
Message
Create new category
What is the title of your new category?
Edit page index title
What is the title of the page index?
Edit category
What is the new title of your category?
Edit link
What is the new title and URL of your link?
VM Creation Fails Due to AIO (Asynchronous I/O) limit on Hypervisor
Summarize Page
Copy Markdown
Open in ChatGPT
Open in Claude
Problem
VM creation failed due to the following error on the hypervisor:
ostackhost.log
Unable to use native AIO: failed to create linux AIO context: Resource temporarily unavailableEnvironment
- Private Cloud Director Virtualization - v2025.4 and Higher
- Private Cloud Director Kubernetes – v2025.4 and Higher
- Self-Hosted Private Cloud Director Virtualization - v2025.4 and Higher
- Self-Hosted Private Cloud Director Kubernetes - v2025.4 and Higher
Cause
The asynchronous I/O (AIO) limit on the hypervisor is set too low, preventing libvirt/QEMU from allocating sufficient I/O handles for new VM disk operations.
Diagnostics
- Check current AIO limit:
command
$ sysctl fs.aio-max-nrfs.aio-max-nr = 65536 # example output- Review libvirt logs:
command
​x
$ journalctl -u libvirtd | grep aio​#example error:Unable to use native AIO: failed to create linux AIO context: Resource temporarily unavailableResolution
Increase the AIO limit:
- To increase the limit one time (this change will not persist a node reboot):
command
# 2097152 should be a safe value to start with and can be monitored against aio-nr for a longer term$ sudo sysctl -w fs.aio-max-nr=2097152- To increase the limit permanently (this change will persist a node reboot):
command
# 2097152 should be a safe value to start with and can be monitored against aio-nr for a longer term$ vi /etc/sysctl.conffs.aio-max-nr = 2097152Validation
- Confirm updated value:
command
$ sysctl fs.aio-max-nrfs.aio-max-nr = 2097152 # Expected output- Re-attempt VM creation and verify it is active and Running.
- If these steps prove insufficient to resolve the issue, reach out to the Platform9 Support Team for additional assistance.
Additional Information
- The AIO (Asynchronous I/O) limit is controlled by the Linux kernel parameter
fs.aio-max-nr, defines the maximum number of asynchronous I/O requests that can exist system-wide at any given time. - If the current number of I/O handles
/proc/sys/fs/aio-nrcomes too close to/proc/sys/fs/aio-max-nrtheir is high risk of encountering this failure. The parameter values can fluctuate based on several factors, including the number of LUNs, the number of VMs, whether multipath is enabled, and other relevant configurations. These variations directly impact the number of asynchronous I/O operations. - QEMU/libvirt uses Linux AIO to perform disk I/O operations efficiently for VMs.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
Last updated on
Was this page helpful?
Next to read:
Windows VM Performance Degradation on PCDDiscard Changes
Do you want to discard your current changes and overwrite with the template?
Archive Synced Block
Message
Create new Template
What is this template's title?
Delete Template
Message