Since 2020, China Mobile Cloud has served the cloud volumes and VM disks on its OpenStack cloud with an Arm-based distributed block storage cluster running BC-Linux, its own distribution built on OpenAtom openEuler — 60 PB of raw capacity, and 100% higher random read/write IOPS and 30% lower latency than x86.

image

When people talk about OpenStack, they talk about virtual machines, Nova, Neutron. But in production, the first thing users actually feel is something else entirely: whether their cloud volumes read and write reliably.

That is exactly what China Mobile Cloud set out to solve — giving the block storage behind its OpenStack cloud a more solid foundation. Its choice was Arm: an Arm distributed block storage cluster running on BC-Linux, an operating system of its own built on OpenAtom openEuler. The cluster serves the OpenStack cloud above it, and the results are unusually easy to state.

Where the problem starts: the block storage experience on OpenStack

China Mobile Cloud is built on China Mobile’s proprietary Big Cloud architecture, offering on-demand compute, storage, network, security, big data, and an open cloud marketplace, so customers can scale flexibly and pay only for what they consume.

In this public cloud, OpenStack/KVM sits at the virtualization and cloud platform layer, carrying hundreds of virtual machines and workloads. And in OpenStack, cloud volumes and VM data disks are typically served by the block storage service, backed by a storage cluster that OpenStack reaches over protocols such as RBD and iSCSI. In other words, every workload on OpenStack that needs to persist data ultimately rests on this layer.

The difficulty follows from there: virtual machines need reliable volumes, workloads need predictable read/write performance, and the storage layer has to absorb multi-tenant, high-concurrency access without becoming the bottleneck. How well OpenStack performs often comes down to how stable and how fast the block storage beneath it is.

One foundation, serving the whole OpenStack cloud

To see where this fits, it helps to look at the layers. From top to bottom:

  • Workloads: hundreds of  virtual machines and services on OpenStack/KVM, alongside bare metal / VMware
  • Storage access: RBD and iSCSI network protocols
  • Storage layer: BC distributed block storage; cluster nodes run BC-Linux for Euler, deployed as MON/OSD on Kunpeng servers, with a unified management system
  • Operating system: OpenAtom openEuler 24.03 LTS SP4
  • Servers: Kunpeng (TaiShan 200)

Each layer plays a distinct role. OpenStack provides the virtual machines and the control plane that manages them. Under it, RBD and iSCSI expose the storage cluster to OpenStack — RBD as a native block interface, iSCSI as a standard and widely compatible one. Further down, a distributed block storage system spreads data across many servers while keeping it consistent, with cluster nodes running as MON/OSD and a unified management system operating the whole cluster.

The point of this picture is simple: this foundation is not for one workload — it serves the entire OpenStack cloud. How stable it is decides how stable every workload on OpenStack that needs to persist data will be.

Arm-based distributed block storage serves OpenStack/KVM and bare metal/VMware; BC-Linux for Euler clusters run as MON/OSD on Kunpeng servers. Source: OpenAtom openEuler 2026 OS Use Cases, used with permission; cropped from the original.

Why Arm and OpenAtom openEuler

Since this layer matters so much, China Mobile Cloud made a deliberate choice: build it on Arm, and carry it with a distribution it controls itself.

That is how BC-Linux, a distribution deeply customized on top of OpenAtom openEuler, came about. Choosing OpenAtom openEuler as the base gives the solution a place in an open ecosystem from the start; building its own distribution on top lets the team tune the kernel and add capabilities for a workload like block storage, and control the pace of its own upgrades and security fixes. For infrastructure that has to serve for years and support an entire OpenStack cloud, owning that foundation matters more than any single benchmark.

The most critical piece is the operating system running those storage nodes. BC-Linux is the distribution built for exactly this: on top of OpenAtom openEuler, it supports hot upgrades for core components, so the platform can be updated without interrupting OpenStack services; it strengthens virtualization and container capabilities and security for the workload; and it includes DPDK for high-performance networking plus centralized deployment and operations. Together with the Kunpeng Accelerator Engine (KAE), the software and the hardware optimize performance as a full stack, making the most of heterogeneous computing power.

The two hurdles to making Arm “run well”

Whether a solution holds up comes down to two things: the performance underneath it, and whether it stays stable over the long term — and both ultimately show up as how smoothly workloads run on OpenStack. The hard part was making Arm truly perform in a high-concurrency block storage scenario.

The first hurdle came during adaptation: getting every storage and virtualization component to run reliably on Arm means dealing with a fair number of platform differences from x86 — first “make it run,” then “make it run well.” The second hurdle was performance: once concurrency ramps up, overhead along the read/write path starts to show, and disk I/O on OpenStack virtual machines feels it. On top of OpenAtom openEuler, the team deeply optimized the CPU, memory, and network subsystems for a block storage workload, putting the multi-core, high-concurrency strengths of Kunpeng servers to real use.

At the same time, the team customized the distribution around the workload, tailoring hot upgrades, DPDK, and centralized operations to fit the business. For a cluster that has to run continuously at scale, and to keep serving OpenStack, getting those capabilities right in the base layer is what keeps operations manageable instead of fragile.

 

Results

  • Since 2020, Arm-based BC-Linux has been deployed at scale on China Mobile Cloud’s block storage cluster, providing robust support for 60 PB of raw storage capacity and maintaining stable operations ever since — continuously serving the virtual machines and workloads on its OpenStack cloud.
  • Under identical configurations, Kunpeng servers outperform x86 servers: random read/write IOPS increased by 100%, and latency dropped by 30%.

A few lessons

  • Swapping the foundation under OpenStack is about layering and coordination. Because OpenStack and block storage are decoupled, upgrading the underlying operating system and hardware affects the workloads above far less.
  • An open base plus Arm can deliver strong results in high-concurrency scenarios. The key is hardware-software co-optimization, not simply swapping hardware.
  • Customize the distribution around the workload. That is what sustains large-scale, long-term, continuous operation.

For a public cloud like China Mobile Cloud, a block storage foundation that has run for years, an operating system it controls itself, and performance better than x86 — together, that is what makes the layer beneath OpenStack something you can rely on.

Superuser