Skip to main content
Redhat Developers  Logo
  • AI

    Get started with AI

    • Red Hat AI
      Accelerate the development and deployment of enterprise AI solutions.
    • AI learning hub
      Explore learning materials and tools, organized by task.
    • AI interactive demos
      Click through scenarios with Red Hat AI, including training LLMs and more.
    • AI/ML learning paths
      Expand your OpenShift AI knowledge using these learning resources.
    • AI quickstarts
      Focused AI use cases designed for fast deployment on Red Hat AI platforms.
    • No-cost AI training
      Foundational Red Hat AI training.

    Featured resources

    • OpenShift AI learning
    • Open source AI for developers
    • AI product application development
    • Open source-powered AI/ML for hybrid cloud
    • AI and Node.js cheat sheet

    Red Hat AI Factory with NVIDIA

    • Red Hat AI Factory with NVIDIA is a co-engineered, enterprise-grade AI solution for building, deploying, and managing AI at scale across hybrid cloud environments.
    • Explore the solution
  • Learn

    Self-guided

    • Documentation
      Find answers, get step-by-step guidance, and learn how to use Red Hat products.
    • Learning paths
      Explore curated walkthroughs for common development tasks.
    • Guided learning
      Receive custom learning paths powered by our AI assistant.
    • See all learning

    Hands-on

    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.
    • Interactive labs
      Learn by doing in these hands-on, browser-based experiences.
    • Interactive demos
      Click through product features in these guided tours.

    Browse by topic

    • AI/ML
    • Automation
    • Java
    • Kubernetes
    • Linux
    • See all topics

    Training & certifications

    • Courses and exams
    • Certifications
    • Skills assessments
    • Red Hat Academy
    • Learning subscription
    • Explore training
  • Build

    Get started

    • Red Hat build of Podman Desktop
      A downloadable, local development hub to experiment with our products and builds.
    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.

    Download products

    • Access product downloads to start building and testing right away.
    • Red Hat Enterprise Linux
    • Red Hat AI
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat Developer Toolset

    References

    • E-books
    • Documentation
    • Cheat sheets
    • Architecture center
  • Community

    Get involved

    • Events
    • Live AI events
    • Red Hat Summit
    • Red Hat Accelerators
    • Community discussions

    Follow along

    • Articles & blogs
    • Developer newsletter
    • Videos
    • Github

    Get help

    • Customer service
    • Customer support
    • Regional contacts
    • Find a partner

    Join the Red Hat Developer program

    • Download Red Hat products and project builds, access support documentation, learning content, and more.
    • Explore the benefits

Storage isolation with OpenStack Services on OpenShift distributed zones

May 5, 2026
Gregory Charot
Related topics:
Cloud servicesKubernetesVirtualization
Related products:
Red Hat OpenShift

    Building a truly reliable cloud environment requires more than redundancy. It demands architectural isolation to guarantee business continuity even when local infrastructure components fail. For environments leveraging high-speed, low-latency interconnections (i.e., large data centers or interconnected campus facilities), Red Hat OpenStack Services on OpenShift distributed zones (DZ) provide the necessary framework to deliver this level of resiliency. Distributed zones architecture is designed to allow cloud services to survive local and zone failures by splitting the cloud infrastructure into multiple autonomous failure domains similar to what is offered by public clouds. 

    While maximizing resiliency across these domains (e.g., racks, rows, or data centers), it still provides a unified experience through a single deployment, unified view, APIs, operations, and life cycle management. This allows organizations to strategically deploy workloads across zones to meet stringent service level agreements (SLAs). This article will explain how distributed zones leverage Red Hat OpenShift and OpenStack Services on OpenShift capabilities to achieve true operational isolation, focusing specifically on storage design.

    General approach

    Before we dive into storage considerations, let’s look at the bigger picture (Figure 1). To achieve true isolation, it’s necessary to isolate the control and data plane in case one zone goes down; the control plane still has two zones to rely on. It is especially important for services that are quorum based such as etcd and galera. 

    This graphic shows the distributed zone architecture for OpenStack Services on OpenShift.
    Figure 1: High level view of OpenStack Services on OpenShift distributed zone architecture.

    We need to ensure that the OpenShift and OpenStack Services on OpenShift control planes are evenly distributed. The architecture places one OpenShift master and a set of OpenShift workers per zone. We recommend having two or more workers per domain. Workers are the nodes hosting the OpenStack Services on OpenShift control plane services. Placing them across all zones ensures local resiliency.

    In terms of storage, we follow the same principles: one dedicated backend per zone. This allows confining the blast radius of a zone failure, keeping workloads in the other zones running (Figure 2).

    This graphic shows the node distribution of the OpenStack Services on OpenShift distributed zones.
    Figure 2: This shows OpenStack Services on OpenShift distributed zones node distribution.

    Because some control plane services are latency-sensitive, a 15ms maximum latency (RTT) is supported between zones. This makes the architecture particularly suited for isolation between data center failure domains (racks, rooms, floors) or between metro sites connected by fiber.

    Storage design

    Storage plays a crucial role in distributed zones. The backend as well as the associated OpenStack control services must be confined in their respective zones to ensure isolation. 

    Let’s dive into these storage aspects:

    • Image management with Glance
    • Persistent block storage with Cinder
    • File shared storage with Manila

    Image management with distributed zones

    In OpenStack Services on OpenShift distributed zones, images are served locally to the zone similar to what we do with distributed compute nodes. This allows for the following:

    • Direct local access with no cross-zone traffic.
    • No cross-zone impact after a local failure.
    • User choice regarding the zones of the images.

    To achieve this, we leverage Glance multi-stores (Figure 3). We configure one store per zone and configure each store to consume the local-to-zone backend. When using Red Hat Ceph Storage, configure Glance with an RBD Glance store for native consumption. Alternatively, Glance uses Cinder as an image backend store when using third-party storage solutions.

    View of Glance multistores with distributed zones.
    Figure 3: High level view of Glance multistores with distributed zones.

    When uploading an image, users decide the stores for uploading the images. They can also decide to copy or remove images later on.

    That covers the high-level view, but what about the control plane? To guarantee failure and traffic isolation, the deploy the Glance API services as follows:

    • 3 External Glance APIs: Distributed evenly across the zones.
    • 3 Internal Glance APIs: Distributed evenly across the zones to serve default requests.
    • 2 Dedicated Glance APIs per zone: Serving the local store.

    The key point here is the two dedicated Glance APIs per zone. These services are configured to serve local-to-zone image requests and scheduled to run only in their respective zones. Each local Glance service exposes a dedicated internal endpoint consumed by the local compute and cinder-volume services. Because Glance is not availability zone (AZ) aware, having a dedicated endpoint ensures locality awareness limiting cross-zone traffic.

    Figure 4 shows a diagram that summarizes the Glance services placement across the zones.

    This graphic shows the Glance design of OpenStack Services on OpenShift distributed zones.
    Figure 4: OpenStack Services on OpenShift distributed zones Glance design.

    Persistent block storage with distributed zones

    Persistent block storage plays a crucial role in cloud environments. With distributed zones, we ensure that volumes are:

    • Provisioned on the local-to-zone backend.
    • Avoiding cross-zone traffic.
    • Isolating outages to the local failure domain.

    Each Cinder storage backend is dedicated to its local zone, and one Cinder AZ is configured for each. The Cinder AZ name matches the Nova AZ name. When users create a volume, they decide which zone the volume should be created in via the AZ parameter.

    In terms of placement, we orchestrate the Cinder services as follows:

    • 3 Cinder APIs: Distributed evenly across zones.
    • 1 Cinder Scheduler: No zone affinity (can be scheduled anywhere, and scaling is not recommended).
    • 1 Cinder Volume service per backend: Scheduled in the same zone as its local backend.
    • 3 Cinder Backup services: Scheduled in the same zone as the backup target backend.

    The Cinder API is not pinned to a specific zone. It serves all API calls across the environment, and we ensure it is spread evenly.

    Things become interesting with cinder-volume. Because this service manages the relationship with the storage backend, we must schedule it in the same zone as that backend. One Cinder volume service is dedicated per backend. If two storage backends are present per zone, a total of six Cinder volume services will be deployed (two per zone).

    In terms of backup, we are currently limited to a single backup target backend. Administrators must choose which zone hosts the backups. While the backup target backend is not AZ-aware, we can back up the volumes and restore to any zone. To avoid unnecessary cross-zone traffic, the cinder backup services run in the same zone as the backup backend, or they can be distributed evenly if the backup target is completely external to the environment.

    In a future feature minor release of OpenStack Services on OpenShift, we’re planning to add backend AZ awareness so that volumes from a given zone are automatically backed up in a specific backend.

    Figure 5 summarizes the Cinder services placement across the zones.

    This graphic shows the Cinder design of OpenStack Services on OpenShift distributed zones.
    Figure 5: OpenStack Services on OpenShift distributed zones Cinder design.

    This deployment strategy allows the spreading of stateless services across the zones while keeping backend-dedicated services pinned to their respective zones.

    File storage with distributed zones

    File storage is a vital requirement for workloads that rely on shared file systems. When it comes to distributed zones, the objectives and design for Manila are very similar to Cinder:

    • Provision shares on the local-to-zone backend.
    • Isolate outages to the local failure domain.

    Similar to Cinder, each backend is dedicated to its local zone and a Manila AZ is configured for each.

    Manila allows cross-zone access to shares by design. Unlike block storage, shared file systems have legitimate cross-zone access patterns. For example, workloads across multiple zones may need to read from the same shared data set. If needed, administrators can prevent cross-zone share access at the network layer. 

    Manila's service distribution uses the same approach as Cinder:

    • 3 Manila APIs: Distributed evenly across zones.
    • 3 Manila schedulers: Distributed evenly across zones. Manila benefits from multiple schedulers for resilience since each scheduler can independently handle share provisioning requests across the environment.
    • 1 Manila share service per backend: Scheduled in the local backend’s zone.

    As with Cinder, stateless API and scheduler services spread across zones, while the backend-dedicated Manila share service is pinned to its respective zone.

    When using Red Hat Ceph Storage with CephFS and NFS-Ganesha, the NFS gateway that serves Manila shares must also be zone-local to maintain isolation. The Manila share service manages this relationship with the backend. Therefore, it is scheduled in the same zone.

    Figure 6 summarizes the different Manila services placement across the zones:

    This graphic shows the Manila design of OpenStack Services on OpenShift distributed zones.
    Figure 6: OpenStack Services on OpenShift distributed zones Manila design.

    User experience

    Now that we’ve reviewed the architectural design, let’s explore how it looks from a user perspective. Distributed zones act as a unified stretch cluster, meaning users still rely on traditional OpenStack Services on OpenShift APIs and leverage availability zones to schedule their workloads. Let’s look at an example where a user imports an image to Zone 2, creates a volume, and boots a virtual machine (VM) on that zone:

    # Import image to zone 2
    $ glance image-create-via-import \
    --disk-format qcow2 --container-format bare --name cirros \
    --uri http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img \
    --import-method web-download \
    --stores zone2
    
    
    # Create volume from image on zone 2
    $ IMG_ID=$(openstack image show cirros -c id -f value)
    $ openstack volume create --size 10 --availability-zone zone2 cirros-vol-zone2 --image $IMG_ID
    
    
    # Boot VM from volume on zone2
    $ VOL_ID=$(openstack volume show -f value -c id cirros-vol-zone2)
    $ openstack server create --flavor tiny --key-name mykey --network site2-network-0 --security-group basic \
    --availability-zone zone2 --volume $VOL_ID cirros-vm
    
    # Create an NFS share on zone2
      $ openstack share create --name shared-data-zone2 \
      --share-type zone2-gold --availability-zone zone2 NFS 50
    
     # List the export location for mounting
     $ openstack share export location list shared-data-zone2
    
      # Mount the share on the VM in zone2 (or any VM in another zone if networking permits)
      # the ability to cross attach makes Manila shares well suited for workloads that need
      # shared data across zones.
    
      $ sudo mount -t nfs <export_location> /mnt/shared-data

    If a zone goes down, the impact is confined to that zone's resources. Volumes, shares, and images provisioned in the remaining zones continue to operate normally with no cross-zone impact.

    Final thoughts

    With distributed zones, OpenStack Services on OpenShift fundamentally redefines how organizations architect for infrastructure failures and ensure resiliency. By splitting the infrastructure into autonomous domains with locally confined storage backends, it ensures robust local failure management where one zone's outage cannot impact the others. 

    Ultimately, distributed zones provide a unified stretch cluster experience that gives users full control over scheduling workloads. By leveraging availability zones, organizations can strategically deploy these workloads to survive isolated failures and seamlessly meet the strictest SLAs. OpenStack Services on OpenShift distributed zones is GA for Red Hat Ceph Storage and certified third-party vendors. If you’re looking for implementation details, consult our official deployment guide.

    Related Posts

    • Deploy TAP-as-a-Service in OpenStack Services on OpenShift

    • Enable Firewall-as-a-Service in OpenStack Services on OpenShift

    • Improve efficiency with OpenStack Services on OpenShift

    • Deploy hosted control planes with OpenShift Virtualization

    Recent Posts

    • Debugging image mode with Red Hat OpenShift 4.20: A practical guide

    • EvalHub: Because "looks good to me" isn't a benchmark

    • SQL Server HA on RHEL: Meet Pacemaker HA Agent v2 (tech preview)

    • Deploy with confidence: Continuous integration and continuous delivery for agentic AI

    • Every layer counts: Defense in depth for AI agents with Red Hat AI

    What’s up next?

    Learning Path OS_Virt_GitOps_featured_image

    Manage OpenShift virtual machines with GitOps

    Learn how to utilize GitOps in OpenShift to manage your virtual machines (VMs).
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Chat Support

    Please log in with your Red Hat account to access chat support.