Внешний Ceph¶
Для подготовки и настройки кластера Ceph администраторам требуется специализированный инструмент, такой как ceph-ansible или cephadm. При выполнении этого условия становится возможным создавать нужные пулы и цепочки ключей с помощью Ceph CLI или аналогичного CLI.
Требования¶
Наличие инсталляции Ceph.
Наличие пулов хранения Ceph.
Наличие учетных данных в Ceph для сервисов OpenStack для подключения к Ceph (Glance, Cinder, Nova).
Подробнее о создании пула и наборов ключей с соответствующими разрешениями для каждого сервиса см. здесь.
Интеграция с Ceph настраивается для каждого из сервисов OpenStack по отдельности.
Примечание
Такие команды, как ceph config generate-minimal-conf, создают файлы конфигурации с ведущими вкладками. Эти вкладки нарушают работу ini-парсера Kolla Ansible. Обязательно удалите ведущие вкладки из файлов ceph.conf при их копировании в разделы, перечисленные далее.
Настройка внешнего Ceph для Glance¶
Ceph RBD можно использовать как бэкенд хранилища для образов Glance. Чтобы настроить Glance для Ceph, выполните следующие действия:
Включите бэкенды Glance Ceph в
globals.yml:glance_backend_ceph: "yes"
Настройте детали аутентификации Ceph в
/etc/kolla/globals.yml:ceph_glance_keyring(по умолчанию:client.glance.keyring);ceph_glance_user(по умолчанию:glance);ceph_glance_pool_name(по умолчанию:images).
Скопируйте файл конфигурации Ceph в
/etc/kolla/config/glance/ceph.conf:[global] fsid = 1d89fec3-325a-4963-a950-c4afedd37fe3 keyring = /etc/ceph/ceph.client.glance.keyring mon_initial_members = ceph-0 mon_host = 192.168.0.56 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx
Скопируйте набор ключей Ceph в
/etc/kolla/config/glance/ceph.<ceph_glance_keyring>.
Чтобы настроить несколько бэкендов Ceph с помощью Glance (что удобно для нескольких хранилищ), выполните следующие действия:
Скопируйте файлы конфигурации Ceph в
/etc/kolla/config/glance/, используя разные имена для каждого:/etc/kolla/config/glance/ceph.conf:[global] fsid = 1d89fec3-325a-4963-a950-c4afedd37fe3 keyring = /etc/ceph/ceph.client.glance.keyring mon_initial_members = ceph-0 mon_host = 192.168.0.56 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx
/etc/kolla/config/glance/rbd1.conf:[global] fsid = dbfea068-89ca-4d04-bba0-1b8a56c3abc8 keyring = /etc/ceph/rbd1.client.glance.keyring mon_initial_members = ceph-0 mon_host = 192.10.0.100 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx
Укажите бэкенды Ceph в
globals.yml:glance_ceph_backends: - name: "rbd" type: "rbd" cluster: "ceph" enabled: "{{ glance_backend_ceph | bool }}" - name: "another-rbd" type: "rbd" cluster: "rbd1" enabled: "{{ glance_backend_ceph | bool }}"
Скопируйте набор ключей Ceph в
/etc/kolla/config/glance/ceph.<ceph_glance_keyring>и аналогично в/etc/kolla/config/glance/rbd1.<ceph_glance_keyring>.Для копирования при записи запишите следующее в
/etc/kolla/config/glance.conf:[DEFAULT] show_image_direct_url = True
Внимание
show_image_direct_urlможет представлять угрозу безопасности при ином использовании, кроме использования Ceph в качестве драйверов Glance. Подробнее см. Glance show_image_direct_url.
Настройка внешнего Ceph для Cinder¶
Ceph RBD можно использовать как бэкенд хранилища для томов Cinder. Настройка Cinder для Ceph включает следующие шаги:
При использовании внешнего Ceph в группе хранения может не быть определенных узлов. Это приведёт к сбою Cinder и связанных сервисов, зависящих от этой группы. В этом случае оператор должен добавить несколько узлов в группу хранения — все узлы, на которых будут выполняться
cinder-volumeиcinder-backup:[storage] control01
Включите бэкенды Cinder Ceph в
globals.yml:cinder_backend_ceph: "yes"
Настройте детали аутентификации Ceph в
/etc/kolla/globals.yml:ceph_cinder_keyring(по умолчанию:client.cinder.keyring);ceph_cinder_user(по умолчанию:cinder);ceph_cinder_pool_name(по умолчанию:volumes);ceph_cinder_backup_keyring(по умолчанию:client.cinder-backup.keyring);ceph_cinder_backup_user(по умолчанию:cinder-backup);ceph_cinder_backup_pool_name(по умолчанию:backups).
Скопируйте файл конфигурации Ceph в
/etc/kolla/config/cinder/ceph.conf.Для
cinder-volumeиcinder-backupможно настроить отдельные параметры конфигурации, добавив файлыceph.confв/etc/kolla/config/cinder/cinder-volumeи/etc/kolla/config/cinder/cinder-backupсоответственно. Они будут объединены с/etc/kolla/config/cinder/ceph.conf.Скопируйте файлы наборов ключей Ceph сюда:
/etc/kolla/config/cinder/cinder-volume/ceph.<ceph_cinder_keyring>;/etc/kolla/config/cinder/cinder-backup/ceph.<ceph_cinder_keyring>;/etc/kolla/config/cinder/cinder-backup/ceph. <ceph_cinder_backup_keyring>.
Примечание
Для доступа cinder-backup к томам и резервному пулу требуется два набора ключей.
Чтобы настроить несколько бэкендов Ceph с помощью Cinder (что удобно при использовании с зонами доступности), выполните следующие действия:
Скопируйте их файлы конфигурации Ceph в
/etc/kolla/config/cinder/, используя разные имена для каждого:/etc/kolla/config/cinder/ceph.conf:[global] fsid = 1d89fec3-325a-4963-a950-c4afedd37fe3 mon_initial_members = ceph-0 mon_host = 192.168.0.56 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx
/etc/kolla/config/cinder/rbd2.conf;[global] fsid = dbfea068-89ca-4d04-bba0-1b8a56c3abc8 mon_initial_members = ceph-0 mon_host = 192.10.0.100 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx
Укажите бэкенды Ceph в
globals.yml:cinder_ceph_backends: - name: "rbd-1" cluster: "ceph" enabled: "{{ cinder_backend_ceph | bool }}" - name: "rbd-2" cluster: "rbd2" availability_zone: "az2" enabled: "{{ cinder_backend_ceph | bool }}"
Скопируйте файлы наборов ключей Ceph для всех драйверов Ceph:
/etc/kolla/config/cinder/cinder-volume/ceph.<ceph_cinder_keyring>/etc/kolla/config/cinder/cinder-backup/ceph.<ceph_cinder_keyring>/etc/kolla/config/cinder/cinder-backup/ceph. <ceph_cinder_backup_keyring>/etc/kolla/config/cinder/cinder-volume/rbd2.<ceph_cinder_keyring>/etc/kolla/config/cinder/cinder-backup/rbd2.<ceph_cinder_keyring>/etc/kolla/config/cinder/cinder-backup/rbd2. <ceph_cinder_backup_keyring>
Примечание
Для доступа cinder-backup к томам и резервному пулу требуется два набора ключей.
Nova также должна быть настроена так, чтобы был доступ к томам Cinder:
Настройте детали аутентификации Ceph в
/etc/kolla/globals.yml:ceph_cinder_keyring(по умолчанию:client.cinder.keyring).
Скопируйте файл(ы) наборов ключей Ceph в
/etc/kolla/config/nova/ceph.<ceph_cinder_keyring>.
Чтобы настроить разные бэкенды Ceph для хоста nova-compute (что удобно при использовании с зонами доступности), выполните следующее:
Скопируйте файл набора ключей Ceph в
/etc/kolla/config/nova/<hostname>/ceph.<ceph_cinder_keyring>.
Если включен сервис Zun, и вы хотите использовать тома Cinder с Zun, этот сервис тоже нужно настроить так, чтобы был доступ к томам Cinder:
Включите бэкенд Cinder Ceph для Zun в
globals.yml:zun_configure_for_cinder_ceph: "yes"
Скопируйте файл конфигурации Ceph в
/etc/kolla/config/zun/zun-compute/ceph.conf.Скопируйте файл(ы) набора ключей Ceph в
/etc/kolla/config/zun/zun-compute/ceph.<ceph_cinder_keyring>.
Настройка внешнего Ceph для Nova¶
Ceph RBD можно использовать как бэкенд хранилища для эфемерных дисков виртуальных машин Nova. В таком случае нет необходимости в наличии локального хранилища для ВМ на вычислительных узлах. Кроме того, производительность миграции при этом будет выше, поскольку эфемерные диски ВМ не нужно копировать между гипервизорами.
Настройка Nova для Ceph включает следующие шаги:
Включите бэкенды Nova Ceph в
globals.yml:nova_backend_ceph: "yes"
Настройте детали аутентификации Ceph в
/etc/kolla/globals.yml:ceph_nova_keyring(по умолчанию такое же, какceph_cinder_keyring);ceph_nova_user(по умолчанию такое же, какceph_cinder_user);ceph_nova_pool_name(по умолчанию:vms).
Скопируйте файл конфигурации Ceph в
/etc/kolla/config/nova/ceph.conf.Скопируйте файл(ы) набора ключей Ceph в
/etc/kolla/config/nova/ceph.<ceph_nova_keyring>.
Примечание
Если вы используете инструмент развертывания Ceph, который генерирует отдельные ключи Ceph для Cinder и Nova, вам придется переписать ceph_nova_keyring и ceph_nova_user для соответствия.
Чтобы настроить разные бэкенды Ceph для хоста nova-compute (что удобно при использовании с зонами доступности), выполните следующие действия:
Скопируйте файл конфигурации Ceph в
/etc/kolla/config/nova/<hostname>/ceph.conf.Скопируйте файл(ы) набора ключей Ceph в
/etc/kolla/config/nova/<hostname>/ceph.<ceph_nova_keyring>.