Migrate the Red Hat Ceph Storage cluster
In the context of data plane adoption, where the Red Hat OpenStack Platform (RHOSP) services are redeployed in Red Hat OpenShift Container Platform (RHOCP), you migrate a director-deployed Red Hat Ceph Storage cluster by using a process called “externalizing” the Red Hat Ceph Storage cluster.
There are two deployment topologies that include an internal Red Hat Ceph Storage cluster:
- RHOSP includes dedicated Red Hat Ceph Storage nodes to host object storage daemons (OSDs)
- Hyperconverged Infrastructure (HCI), where Compute and Storage services are colocated on hyperconverged nodes
In either scenario, there are some Red Hat Ceph Storage processes that are deployed on RHOSP Controller nodes: Red Hat Ceph Storage monitors, Ceph Object Gateway (RGW), Rados Block Device (RBD), Ceph Metadata Server (MDS), Ceph Dashboard, and NFS Ganesha. To migrate your Red Hat Ceph Storage cluster, you must decommission the Controller nodes and move the Red Hat Ceph Storage daemons to a set of target nodes that are already part of the Red Hat Ceph Storage cluster.
Prerequisites Copy linkLink copied!
- Before you begin the migration, complete the tasks in your Red Hat OpenStack Platform 17.1 environment. For more information, see "Red Hat Ceph Storage prerequisites" in the Adoption overview chapter.
Red Hat Ceph Storage migration considerations for DCN deployments Copy linkLink copied!
Before you adopt your Distributed Compute Node (DCN) deployments that host Red Hat Ceph Storage clusters on Compute nodes at edge sites so that your architecture runs on Red Hat OpenStack Services on OpenShift (RHOSO) (RHOSO), be aware of important considerations.
- Supported edge storage topologies
-
DCN deployments support the following storage topologies at edge sites:
- Hyperconverged Infrastructure (HCI): Red Hat Ceph Storage daemons run on Compute nodes at each edge site.
- Director-deployed dedicated storage: Red Hat Ceph Storage runs on separate storage nodes deployed by director.
- External Red Hat Ceph Storage cluster: Edge sites connect to pre-existing Red Hat Ceph Storage clusters not managed by director.
- Central site Red Hat Ceph Storage migration
- For the central site, migrate Red Hat Ceph Storage daemons from the RHOSP Controller nodes by using the same process as a non-DCN deployment. For more information, see Red Hat Ceph Storage daemon cardinality.
- Edge site Red Hat Ceph Storage migration
-
For edge sites that use HCI or director-deployed dedicated storage, the Red Hat Ceph Storage daemons can continue to run on their current nodes without migration. The Compute nodes or dedicated storage nodes at edge sites are not decommissioned during adoption, so the Red Hat Ceph Storage daemons remain operational.
For edge sites that use external Red Hat Ceph Storage clusters, no migration is required because the Red Hat Ceph Storage cluster is not managed by director.
- Red Hat Ceph Storage back-end configuration and key distribution
-
In a DCN deployment, each site has its own Red Hat Ceph Storage cluster with its own configuration file and Red Hat Ceph Storage keyring. These must be stored in Kubernetes secrets and mounted into the appropriate Red Hat OpenStack Services on OpenShift (RHOSO) service pods.
Rather than storing all Red Hat Ceph Storage keys in a single secret accessible to every pod, the recommended approach is to create one secret per site containing only the keys that site actually needs. This limits the security impact if a site is compromised: a pod at an edge site can authenticate only to its local Red Hat Ceph Storage cluster and the central cluster, not to the Red Hat Ceph Storage keyrings of other edge sites.
The key distribution rule for N sites is:
- The central site (site 0) receives the Red Hat Ceph Storage keys and configuration for all clusters, because central services such as Image service use the
splitback end and must be able to copy images to and from any site. - Each edge site (site 1 through N) receives only the keys for the central cluster and its own local cluster.
For example, in a three-site deployment with a central site and two edge sites:
ceph-conf-central -> central.conf + central.keyring dcn1.conf + dcn1.keyring dcn2.conf + dcn2.keyring ceph-conf-dcn1 -> central.conf + central.keyring dcn1.conf + dcn1.keyring ceph-conf-dcn2 -> central.conf + central.keyring dcn2.conf + dcn2.keyringThe per-site secrets are created and then mounted into the appropriate pods by using
extraMountspropagation labels. The procedure in Configuring a Red Hat Ceph Storage back end covers both creating the secrets and applying the propagation labels so that each pod receives only its site-specific keys.
- The central site (site 0) receives the Red Hat Ceph Storage keys and configuration for all clusters, because central services such as Image service use the
Red Hat Ceph Storage daemon cardinality Copy linkLink copied!
Red Hat Ceph Storage 7 and later applies strict constraints in the way daemons can be colocated within the same node. Your topology depends on the available hardware and the amount of Red Hat Ceph Storage services in the Controller nodes that you retire.
The amount of services that you can migrate depends on the amount of available nodes in the cluster.
The following diagrams show the distribution of Red Hat Ceph Storage daemons on Red Hat Ceph Storage nodes where at least 3 nodes are required.
For more information, see Red Hat Ceph Storage: Supported configurations.
- The following scenario includes only RGW and RBD, without the Red Hat Ceph Storage dashboard:
| | | | |----|---------------------|-------------| | osd | mon/mgr/crash | rgw/ingress | | osd | mon/mgr/crash | rgw/ingress | | osd | mon/mgr/crash | rgw/ingress | - With the Red Hat Ceph Storage dashboard, but without Shared File Systems service (manila), at least 4 nodes are required. The Red Hat Ceph Storage dashboard has no failover:
| | | | |-----|---------------------|-------------| | osd | mon/mgr/crash | rgw/ingress | | osd | mon/mgr/crash | rgw/ingress | | osd | mon/mgr/crash | dashboard/grafana | | osd | rgw/ingress | (free) | - With the Red Hat Ceph Storage dashboard and the Shared File Systems service, a minimum of 5 nodes are required, and the Red Hat Ceph Storage dashboard has no failover:
| | | | |-----|---------------------|-------------------------| | osd | mon/mgr/crash | rgw/ingress | | osd | mon/mgr/crash | rgw/ingress | | osd | mon/mgr/crash | mds/ganesha/ingress | | osd | rgw/ingress | mds/ganesha/ingress | | osd | mds/ganesha/ingress | dashboard/grafana |
Migrate the monitoring stack to new Red Hat Ceph Storage nodes Copy linkLink copied!
To migrate the monitoring stack to target nodes, add the monitoring label to your existing nodes and update each daemon's configuration. You do not need to migrate node exporters. These daemons are deployed across the nodes that are part of the Red Hat Ceph Storage cluster (the placement is '*').
count: 1 allows you to migrate the existing daemons in a Hyperconverged Infrastructure, or hardware-limited, scenario without impacting other services.The Red Hat Ceph Storage Dashboard module adds web-based monitoring and administration to the Ceph Manager. With director-deployed Red Hat Ceph Storage, the Red Hat Ceph Storage Dashboard is enabled as part of the overcloud deploy and is composed of the following components:
- Ceph Manager module
- Grafana
- Prometheus
- Alertmanager
- Node exporter
The Red Hat Ceph Storage Dashboard containers are included through tripleo-container-image-prepare parameters, and high availability (HA) relies on HAProxy and Pacemaker to be deployed on the Red Hat OpenStack Platform (RHOSP) environment. For an external Red Hat Ceph Storage cluster, HA is not supported.
Prerequisites Copy linkLink copied!
You migrate and relocate the Ceph Monitoring components to free Controller nodes. Before you begin the migration, complete the tasks in your Red Hat OpenStack Platform 17.1 environment. For more information, see "Red Hat Ceph Storage prerequisites" in the "Adoption overview" chapter.
Migrate the existing daemons to the target nodes Copy linkLink copied!
This procedure is an example of an environment with 3 Red Hat Ceph Storage nodes or ComputeHCI nodes. This example extends the monitoring labels to all the Red Hat Ceph Storage or ComputeHCI nodes that are part of the cluster, which maintains 3 placements for the target nodes.
Before you begin Copy linkLink copied!
- Confirm that the firewall rules are in place and the ports are open for a given monitoring stack service.
Procedure Copy linkLink copied!
Migrate Ceph MDS to new nodes in the cluster Copy linkLink copied!
Migrate the MDS daemon from a hosts-based approach to a label-based approach. The Shared File Systems service (manila) must be deployed with either a CephFS-native or ceph-nfs back end. The MDS migration is performed by cephadm.
Before you begin Copy linkLink copied!
- Complete the tasks in your Red Hat OpenStack Platform 17.1 environment. For more information, see Red Hat Ceph Storage prerequisites.
About this task Copy linkLink copied!
The label-based approach ensures that you can visualize the status of the cluster and where daemons are placed by using the ceph orch host command. You can also have a general view of how the daemons are co-located within a given host, as described in the Red Hat Knowledgebase article Red Hat Ceph Storage: Supported configurations.
Procedure Copy linkLink copied!
Restore Ceph Dashboard failover settings after daemon migration Copy linkLink copied!
If the Ceph Dashboard is part of the enabled Ceph Manager modules, you need to reconfigure the failover settings.