---
title: Charmhub | Deploy Ceph Rbd Mirror using Charmhub - The Open Operator Collection
description: Deploy the latest version of Ceph Rbd Mirror on any cloud. Highly scalable
  distributed storage - Ceph RBD Mirroring
url: https://charmhub.io/ceph-rbd-mirror
---

# Ceph Rbd Mirror

[OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

* [OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")
* [Cloud](https://charmhub.io/?filter=cloud)
* [Storage](https://charmhub.io/?filter=storage)

Platform:

26.04

24.04

23.10

23.04

22.10

22.04

21.10

21.04

20.10

+3

quincy/stable 0b30d26c

```
juju deploy ceph-rbd-mirror --channel quincy/stable
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

# Overview

[Ceph](https://ceph.io/) is a unified, distributed storage system designed for excellent performance, reliability, and scalability.

The ceph-rbd-mirror charm deploys the Ceph `rbd-mirror` daemon and helps automate remote creation and configuration of mirroring for Ceph pools used for hosting RBD images.

> **Note**: RBD mirroring is only one aspect of datacentre redundancy. Refer to [Ceph RADOS Gateway Multisite Replication](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/app-rgw-multisite.html) and other work to arrive at a complete solution.

## [Functionality](https://charmhub.io/ceph-rbd-mirror#p-26277-functionality)

The charm has the following major features:

* Support for a maximum of two Ceph clusters. The clusters may reside within a single model or be contained within two separate models.
* Specifically written for two-way replication. This provides the ability to fail over and fall back to/from a single secondary site. Ceph does have support for mirroring to any number of clusters but the charm does not support this.
* Automatically creates and configures (for mirroring) pools in the remote cluster based on any pools in the local cluster that are labelled with the ‘rbd’ tag.
* Mirroring of whole pools only. Ceph itself has support for the mirroring of individual images but the charm does not support this.
* Network space aware. The mirror daemon can be informed about network configuration by binding the `public` and `cluster` endpoints. The daemon will use the network associated with the `cluster` endpoint for mirroring traffic.

Other notes on RBD mirroring:

* Supports multiple running instances of the mirror daemon in each cluster. Doing so allows for the dynamic re-distribution of the mirroring load amongst the daemons. This addresses both high availability and performance concerns. Leverage this feature by scaling out the ceph-rbd-mirror application (i.e. add more units).
* Requires that every RBD image within each pool is created with the `journaling` and `exclusive-lock` image features enabled. The charm enables these features by default and the ceph-mon charm will announce them over the `client` relation when it has units connected to its `rbd-mirror` endpoint.
* The feature first appeared in Ceph Luminous (OpenStack Queens).

# Usage

## [Configuration](https://charmhub.io/ceph-rbd-mirror#p-26277-configuration)

See file `config.yaml` of the built charm (or see the charm in the [Charm Store](https://jaas.ai/ceph-rbd-mirror)) for the full list of configuration options, along with their descriptions and default values. See the [Juju documentation](https://juju.is/docs/configuring-applications) for details on configuring applications.

## [Deployment](https://charmhub.io/ceph-rbd-mirror#p-26277-deployment)

A standard topology consists of two Ceph clusters with each cluster residing in a separate Juju model. The deployment steps are a fairly involved and are therefore covered under [Ceph RBD Mirroring](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/app-ceph-rbd-mirror.html) in the [OpenStack Charms Deployment Guide](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/index.html).

## [Actions](https://charmhub.io/ceph-rbd-mirror#p-26277-actions)

This section lists Juju [actions](https://jaas.ai/docs/actions) supported by the charm. Actions allow specific operations to be performed on a per-unit basis. To display action descriptions run `juju actions ceph-rbd-mirror`. If the charm is not deployed then see file `actions.yaml`.

* `copy-pool`
* `demote`
* `promote`
* `refresh-pools`
* `resync-pools`
* `status`

## [Operations](https://charmhub.io/ceph-rbd-mirror#p-26277-operations)

Operational procedures touch upon pool creation, failover & fallback, and recovering from an abrupt shutdown. These topics are also covered under [Ceph RBD Mirroring](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/app-ceph-rbd-mirror.html) in the [OpenStack Charms Deployment Guide](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/index.html).

# Bugs

Please report bugs on [Launchpad](https://bugs.launchpad.net/charm-ceph-rbd-mirror/+filebug).

For general charm questions refer to the [OpenStack Charm Guide](https://docs.openstack.org/charm-guide).

---

[Help improve this document in the forum](https://discourse.charmhub.io/t/ceph-rbd-mirror-docs-index/11006) ([guidelines](https://discourse.charmhub.io/t/how-to-write-docs-our-documentation-guidelines-for-contributors/1245)). Last updated 3 years ago.
