-
Notifications
You must be signed in to change notification settings - Fork 23
2023.1: Add a page on upgrading Ceph #1167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
============== | ||
Upgrading Ceph | ||
============== | ||
|
||
This section describes show to upgrade from one version of Ceph to another. | ||
The Ceph upgrade procedure is described :ceph-doc:`here <cephadm/upgrade>`. | ||
|
||
The Ceph release series is not strictly dependent upon the StackHPC OpenStack | ||
release, however this configuration does define a default Ceph release series | ||
and container image tag. The default release series is currently |ceph_series|. | ||
|
||
Prerequisites | ||
============= | ||
|
||
Before starting the upgrade, ensure any appropriate prerequisites are | ||
satisfied. These will be specific to each deployment, but here are some | ||
suggestions: | ||
|
||
* Ensure that expected test suites are passing, e.g. Tempest. | ||
* Resolve any Prometheus alerts. | ||
* Check for unexpected ``ERROR`` or ``CRITICAL`` messages in OpenSearch | ||
Dashboard. | ||
* Check Grafana dashboards. | ||
|
||
Consider whether the Ceph cluster needs to be upgraded within or outside of a | ||
maintenance/change window. | ||
|
||
Preparation | ||
=========== | ||
|
||
Ensure that the local Kayobe configuration environment is up to date. | ||
|
||
If you wish to use a different Ceph release series, set | ||
``cephadm_ceph_release``. | ||
|
||
If you wish to use different Ceph container image tags, set the following | ||
variables: | ||
|
||
* ``cephadm_image_tag`` (`tags <https://quay.io/repository/ceph/ceph?tab=tags&tag=latest>`__) | ||
* ``cephadm_haproxy_image_tag`` (`tags <https://quay.io/repository/ceph/haproxy?tab=tags&tag=latest>`__) | ||
* ``cephadm_keepalived_image_tag`` (`tags <https://quay.io/repository/ceph/keepalived?tab=tags&tag=latest>`__) | ||
|
||
Be sure to use a tag that `matches the release series | ||
<https://docs.ceph.com/en/latest/releases/>`__. | ||
|
||
Upgrading Host Packages | ||
======================= | ||
|
||
Prior to upgrading the Ceph storage cluster, it may be desirable to upgrade | ||
system packages on the hosts. | ||
|
||
Note that these commands do not affect packages installed in containers, only | ||
those installed on the host. | ||
|
||
In order to avoid downtime, it is important to control how package updates are | ||
rolled out. In general, Ceph monitor hosts should be updated *one by one*. For | ||
Ceph OSD hosts it may be possible to update packages in batches of hosts, | ||
provided there is sufficient capacity to maintain data availability. | ||
|
||
For each host or batch of hosts, perform the following steps. | ||
|
||
Place the host or batch of hosts into maintenance mode: | ||
|
||
.. code-block:: console | ||
|
||
sudo cephadm shell -- ceph orch host maintenance enter <host> | ||
|
||
To update all eligible packages, use ``*``, escaping if necessary: | ||
|
||
.. code-block:: console | ||
|
||
kayobe overcloud host package update --packages "*" --limit <host> | ||
|
||
If the kernel has been upgraded, reboot the host or batch of hosts to pick up | ||
the change: | ||
|
||
.. code-block:: console | ||
|
||
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/reboot.yml -l <host> | ||
|
||
Remove the host or batch of hosts from maintenance mode: | ||
|
||
.. code-block:: console | ||
|
||
sudo cephadm shell -- ceph orch host maintenance exit <host> | ||
|
||
Wait for Ceph health to return to ``HEALTH_OK``: | ||
|
||
.. code-block:: console | ||
|
||
ceph -s | ||
|
||
Wait for Prometheus alerts and errors in OpenSearch Dashboard to resolve, or | ||
address them. | ||
|
||
Once happy that the system has been restored to full health, move onto the next | ||
host or batch or hosts. | ||
|
||
Sync container images | ||
===================== | ||
|
||
If using the local Pulp server to host Ceph images | ||
(``stackhpc_sync_ceph_images`` is ``true``), sync the new Ceph images into the | ||
local Pulp: | ||
|
||
.. code-block:: console | ||
|
||
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/pulp-container-{sync,publish}.yml -e stackhpc_pulp_images_kolla_filter=none | ||
|
||
Upgrade Ceph services | ||
===================== | ||
|
||
Start the upgrade. If using the local Pulp server to host Ceph images: | ||
|
||
.. code-block:: console | ||
|
||
sudo cephadm shell -- ceph orch upgrade start --image <registry>/ceph/ceph:<tag> | ||
|
||
Otherwise: | ||
|
||
.. code-block:: console | ||
|
||
sudo cephadm shell -- ceph orch upgrade start --image quay.io/ceph/ceph:<tag> | ||
|
||
The tag should match the ``cephadm_image_tag`` variable set in `preparation | ||
<#preparation>`_. The registry should be the address and port of the local Pulp | ||
server. | ||
|
||
Check the update status: | ||
|
||
.. code-block:: console | ||
|
||
ceph orch upgrade status | ||
|
||
Wait for Ceph health to return to ``HEALTH_OK``: | ||
|
||
.. code-block:: console | ||
|
||
ceph -s | ||
|
||
Watch the cephadm logs: | ||
|
||
.. code-block:: console | ||
|
||
ceph -W cephadm | ||
|
||
Upgrade Cephadm | ||
=============== | ||
|
||
Update the Cephadm package: | ||
|
||
.. code-block:: console | ||
|
||
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-deploy.yml -e cephadm_package_update=true | ||
|
||
Testing | ||
======= | ||
|
||
At this point it is recommended to perform a thorough test of the system to | ||
catch any unexpected issues. This may include: | ||
|
||
* Check Prometheus, OpenSearch Dashboards and Grafana | ||
* Smoke tests | ||
* All applicable tempest tests | ||
* Horizon UI inspection | ||
|
||
Cleaning up | ||
=========== | ||
|
||
Prune unused container images: | ||
|
||
.. code-block:: console | ||
|
||
kayobe overcloud host command run -b --command "docker image prune -a -f" -l ceph |
6 changes: 3 additions & 3 deletions
6
doc/source/operations/upgrading.rst → ...source/operations/upgrading-openstack.rst
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.