Skip to main content

Overview

The Xloud Image Service consists of an API tier, a registry database, and a pluggable storage backend. Upload and download traffic flows through the API, while metadata queries are handled by the registry backed by MariaDB. Understanding the architecture is essential for sizing deployments, selecting the right storage backend, and troubleshooting performance issues.
Administrator Access Required — This operation requires the admin role. Contact your Xloud administrator if you do not have sufficient permissions.

Service Topology


Component Reference

ComponentPortDescription
Image API9292REST API for image CRUD operations and data streaming
HAProxy9292Load balances requests across all Image API nodes
RegistryInternalStores image metadata in MariaDB
File StoreLocal filesystem storage (single-node or NFS)
RBD StoreXloud Distributed Storage (Ceph RBD) — recommended for HA
Object StoreXloud Object Storage (Swift)
Image CacheOptional local cache of frequently used image data

Upload Data Flow


Storage Backend Selection

BackendHAPerformanceUse Case
RBD (Ceph)YesHighestProduction HA deployments
File StoreSingle-node onlyGoodSingle-node dev/test or NFS-backed
Object StorageYesModerateWhen Swift is already deployed
For production deployments with Xloud Distributed Storage, use RBD as both the image and volume backend. This enables zero-copy RBD cloning — instances launch in seconds regardless of image size.

High Availability Considerations

Multiple API nodes

Deploy two or more Image API nodes for redundancy. HAProxy distributes upload and download requests across all healthy nodes. All nodes must share the same storage backend — RBD or Swift — to ensure images uploaded to one node are readable from another.
The file store writes to a local directory. In a multi-node Image API deployment, all nodes must mount the same NFS directory. If NFS is unavailable, all image operations fail. Use RBD for true HA without NFS dependencies.

Next Steps

Storage Backends

Configure RBD, file store, or Swift as the image storage backend.

Image Cache

Enable per-node caching to accelerate instance launch times.

Admin Troubleshooting

Diagnose backend connectivity and API-level failures.

Security

Configure image signing and property protections.