From 8e47f6b8335b8003952f6e8e33f1f2f43aaaa3bc Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Fri, 20 Nov 2020 08:46:51 +0000 Subject: [PATCH] docs: improve external Ceph docs * make each section independent * move enable flags to specific sections * move inventory changes to Cinder section * move Nova config that is actually for Cinder volumes to Cinder section * add an introduction about each integration Change-Id: Ie8d82010bf8d5b8af2c039f285744e5ae67316dc --- .../reference/storage/external-ceph-guide.rst | 107 +++++++++++------- 1 file changed, 69 insertions(+), 38 deletions(-) diff --git a/doc/source/reference/storage/external-ceph-guide.rst b/doc/source/reference/storage/external-ceph-guide.rst index b90a66e46f..bb2b0adad5 100644 --- a/doc/source/reference/storage/external-ceph-guide.rst +++ b/doc/source/reference/storage/external-ceph-guide.rst @@ -26,40 +26,22 @@ Requirements Refer to http://docs.ceph.com/docs/master/rbd/rbd-openstack/ for details on creating the pool and keyrings with appropriate permissions for each service. -Enabling External Ceph -~~~~~~~~~~~~~~~~~~~~~~ - -To activate external Ceph integration you need to enable Ceph backend. -This can be done individually per service in ``/etc/kolla/globals.yml``: - -.. code-block:: yaml - - glance_backend_ceph: "yes" - cinder_backend_ceph: "yes" - nova_backend_ceph: "yes" - gnocchi_backend_storage: "ceph" - enable_manila_backend_cephfs_native: "yes" - -Edit the Inventory File -~~~~~~~~~~~~~~~~~~~~~~~ - -When using external Ceph, there may be no nodes defined in the storage group. -This will cause Cinder and related services relying on this group to fail. -In this case, operator should add some nodes to the storage group, all the -nodes where ``cinder-volume`` and ``cinder-backup`` will run: - -.. code-block:: ini - - [storage] - compute01 - Configuring External Ceph ~~~~~~~~~~~~~~~~~~~~~~~~~ +Ceph integration is configured for different OpenStack services independently. + Glance ------ -Configuring Glance for Ceph includes the following steps: +Ceph RBD can be used as a storage backend for Glance images. Configuring Glance +for Ceph includes the following steps: + +#. Enable Glance Ceph backend in ``globals.yml``: + + .. code-block:: yaml + + glance_backend_ceph: "yes" #. Configure Ceph authentication details in ``/etc/kolla/globals.yml``: @@ -85,7 +67,24 @@ Configuring Glance for Ceph includes the following steps: Cinder ------ -Configuring Cinder for Ceph includes following steps: +Ceph RBD can be used as a storage backend for Cinder volumes. Configuring +Cinder for Ceph includes following steps: + +#. When using external Ceph, there may be no nodes defined in the storage + group. This will cause Cinder and related services relying on this group to + fail. In this case, operator should add some nodes to the storage group, + all the nodes where ``cinder-volume`` and ``cinder-backup`` will run: + + .. code-block:: ini + + [storage] + control01 + +#. Enable Cinder Ceph backend in ``globals.yml``: + + .. code-block:: yaml + + cinder_backend_ceph: "yes" #. Configure Ceph authentication details in ``/etc/kolla/globals.yml``: @@ -116,22 +115,42 @@ Configuring Cinder for Ceph includes following steps: ``cinder-backup`` requires two keyrings for accessing volumes and backup pool. -Nova ----- - -Configuring Nova for Ceph includes following steps: +Nova must also be configured to allow access to Cinder volumes: #. Configure Ceph authentication details in ``/etc/kolla/globals.yml``: * ``ceph_cinder_keyring`` (default: ``ceph.client.cinder.keyring``) - * ``ceph_nova_keyring`` (by default it's the same as ceph_cinder_keyring) + +#. Copy Ceph keyring file(s) to: + + * ``/etc/kolla/config/nova/`` + +Nova +---- + +Ceph RBD can be used as a storage backend for Nova instance ephemeral disks. +This avoids the requirement for local storage for instances on compute nodes. +It improves the performance of migration, since instances' ephemeral disks do +not need to be copied between hypervisors. + +Configuring Nova for Ceph includes following steps: + +#. Enable Nova Ceph backend in ``globals.yml``: + + .. code-block:: yaml + + nova_backend_ceph: "yes" + +#. Configure Ceph authentication details in ``/etc/kolla/globals.yml``: + + * ``ceph_nova_keyring`` (by default it's the same as + ``ceph_cinder_keyring``) * ``ceph_nova_user`` (default: ``nova``) * ``ceph_nova_pool_name`` (default: ``vms``) #. Copy Ceph configuration file to ``/etc/kolla/config/nova/ceph.conf`` #. Copy Ceph keyring file(s) to: - * ``/etc/kolla/config/nova/`` * ``/etc/kolla/config/nova/`` (if your Ceph deployment created one) @@ -144,8 +163,15 @@ Configuring Nova for Ceph includes following steps: Gnocchi ------- +Ceph object storage can be used as a storage backend for Gnocchi metrics. Configuring Gnocchi for Ceph includes following steps: +#. Enable Gnocchi Ceph backend in ``globals.yml``: + + .. code-block:: yaml + + gnocchi_backend_storage: "ceph" + #. Configure Ceph authentication details in ``/etc/kolla/globals.yml``: * ``ceph_gnocchi_keyring`` @@ -159,10 +185,15 @@ Configuring Gnocchi for Ceph includes following steps: Manila ------ -Configuring Manila for Ceph includes following steps: +CephFS can be used as a storage backend for Manila shares. Configuring Manila +for Ceph includes following steps: + +#. Enable Manila Ceph backend in ``globals.yml``: + + .. code-block:: yaml + + enable_manila_backend_cephfs_native: "yes" -#. Configure CephFS backend by setting ``enable_manila_backend_cephfs_native`` - to ``true`` #. Configure Ceph authentication details in ``/etc/kolla/globals.yml``: * ``ceph_manila_keyring`` (default: ``ceph.client.manila.keyring``)