Overview
The Xloud Image Service stores image data in a pluggable storage backend. The selection of backend affects availability, performance, and instance launch times. Multiple backends can be registered simultaneously — administrators select which backend stores each image at upload time. This guide covers configuration of all supported backends via XDeploy globals.Supported Backends
| Backend | Use Case | HA | Notes |
|---|---|---|---|
| Distributed Storage (RBD) | Production — fast clones, no single point of failure | Yes | Recommended for all multi-node deployments |
| File Store | Single-node or development deployments | No | Default backend; not HA |
| Xloud Object Storage (Swift) | Scalable distributed image storage | Yes | Suitable when Swift is already deployed |
| S3-Compatible | AWS S3 or S3-compatible object stores | Yes | Works with AWS, Ceph RGW, MinIO, Dell ECS |
| VMware Datastore | VMware vSphere integration environments | Yes | Stores images directly in vSphere datastores |
| Cinder (Block Storage) | Block storage as image store | Yes | Volumes used as image backing devices |
| HTTP (read-only) | Remote image sources without upload | N/A | Read-only; images fetched from external URLs |
Xloud Distributed Storage (RBD) — Recommended
RBD (RADOS Block Device) is the recommended backend for high-availability multi-node deployments. Images are stored as RBD objects in the Xloud Distributed Storage cluster, providing built-in redundancy and copy-on-write clones for fast instance launches.File Store
The file store writes image data to a local or NFS-mounted directory. It is the default backend and suitable for single-node deployments.File store configuration
glance) accessible at /var/lib/glance/images/ inside the Image API container.
To store images in a custom directory (e.g., on a dedicated volume):
glance-api.conf — custom directory
Prepare custom image directory
Apply glance configuration
Xloud Object Storage (Swift)
Images can be stored in Xloud Object Storage (Swift) containers. This backend is suitable when Object Storage is already deployed and disk-to-disk copy overhead is acceptable.Swift storage backend configuration
glance-api.conf parameters for Swift:
glance-api.conf — Swift backend
S3-Compatible Object Storage
The S3 backend driver supports any S3-compatible endpoint including AWS S3, Ceph RADOS Gateway, MinIO, and Dell ECS. This enables off-site or cloud-based image storage.glance-api.conf — S3 backend
XDeploy globals — S3 backend
VMware Datastore
The VMware datastore backend stores images in vSphere datastores. This is required when the compute layer uses the VMware vSphere driver and images must reside on vCenter-managed datastores.glance-api.conf — VMware datastore backend
The
vmware_datastores value follows the format DatacenterName:DatastoreName:Weight. Multiple datastores can be listed to distribute images across datastores.Cinder (Block Storage as Image Store)
The Cinder backend stores images as Cinder volumes. Each image is backed by a block volume in the configured Cinder pool. This backend is useful when block storage is the primary shared storage medium.glance-api.conf — Cinder backend
image-store) must exist and map to a backend with sufficient capacity.
HTTP (Read-Only Remote)
The HTTP backend allows the Image Service to serve images stored at external URLs without downloading or storing them locally. This backend is read-only — images cannot be uploaded through the HTTP backend.glance-api.conf — HTTP backend
Register an image from an HTTP URL
Verify Backend Configuration
After deployment, confirm the Image API is using the expected backend:Check Image API configuration
Upload a test image and verify storage
Check RBD pool contents (if using RBD)
Next Steps
Architecture
Understand how the storage backend fits into the overall Image Service topology.
Image Templates
Use images as templates, manage catalogs, and export images.
Image Cache
Layer a local cache over your storage backend to reduce launch times.
Admin Troubleshooting
Diagnose storage connectivity and upload failure issues.