charm-ceph-rbd-mirror/src
Alex Kavanagh f64dd67c1b Updates for testing period for 20.01 release
* charm-helpers sync for classic charms
* rebuild for reactive charms
* ensure tox.ini is from release-tools
* ensure requirements.txt files are from release-tools
* On reactive charms:
  - ensure master branch for charms.openstack
  - ensure master branch for charm-helpers

Change-Id: If51c83b121eb90308d2e87ca06c73f826a5ce359
2021-01-15 15:27:58 +00:00
..
actions Add action to force resync of images in all pools on local endpoint 2019-04-02 09:23:22 +02:00
files Sync charm/ceph helpers, tox, and requirements 2019-09-30 20:59:14 -05:00
lib Handle RBD mirroring mode set in the relation 2020-12-15 15:52:01 +02:00
reactive Handle RBD mirroring mode set in the relation 2020-12-15 15:52:01 +02:00
templates Add configuration of public/cluster network 2019-03-06 13:31:23 +01:00
tests Fix ambiguous relation 2021-01-12 10:54:49 +01:00
HACKING.md Initial commit of charm skeleton 2019-01-10 16:11:41 +01:00
README.md Refresh README 2020-08-28 20:48:45 -04:00
actions.yaml Add action to force resync of images in all pools on local endpoint 2019-04-02 09:23:22 +02:00
config.yaml Use `ceph-rbd-mirror` interface, move boilerplate upstream 2019-02-06 08:00:12 +01:00
copyright Initial commit of charm skeleton 2019-01-10 16:11:41 +01:00
icon.svg Initial commit of charm skeleton 2019-01-10 16:11:41 +01:00
layer.yaml Remove inherited configuration options invalid for charm 2020-08-07 14:10:19 +00:00
metadata.yaml Remove Disco and Eoan bits 2021-01-13 12:20:13 +00:00
test-requirements.txt Sync release-tools 2020-12-11 13:54:44 +01:00
tox.ini Sync release-tools 2020-12-11 13:54:44 +01:00
wheelhouse.txt Updates for testing period for 20.01 release 2021-01-15 15:27:58 +00:00

README.md

Overview

Ceph 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 and other work to arrive at a complete solution.

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

See file config.yaml of the built charm (or see the charm in the Charm Store) for the full list of configuration options, along with their descriptions and default values. See the Juju documentation for details on configuring applications.

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 in the OpenStack Charms Deployment Guide.

Actions

This section lists Juju 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

Operational procedures touch upon pool creation, failover & fallback, and recovering from an abrupt shutdown. These topics are also covered under Ceph RBD Mirroring in the OpenStack Charms Deployment Guide.

Bugs

Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.