[ English | русский | Indonesia ]
AIO (All-in-One) развертывание Ceph¶
OpenStack-Ansible предоставляет специализированный сценарий AIO Ceph, который развертывает OpenStack вместе с минимальным кластером Ceph на одном хосте.
Важно
Сценарий AIO Ceph предназначен только для тестирования и разработки. Его нельзя использовать в производственных окружениях. Для использования в производственном окружении разверните выделенный многоузловой кластер Ceph.
В этом документе описывается, как включить сценарий AIO Ceph, используя стандартную процедуру быстрого запуска AIO.
Для стандартного развертывания AIO обратитесь к Руководству по быстрому запуску OpenStack-Ansible AIO
Обзор¶
Сценарий AIO Ceph расширяет стандартное развертывание All-in-One, добавляя минимальный кластер Ceph на тот же хост. Во время подготовки службы Ceph устанавливаются и настраиваются автоматически.
В основе Ceph OSD лежат sparse файлы, созданные локально на хосте AIO. Это позволяет Ceph работать без выделенных блочных устройств, что делает этот сценарий подходящим для лабораторных и CI сред.
Включение сценария AIO Ceph¶
Подготовьте хост в соответствии со стандартным руководством по быстрому запуску AIO.
Перед запуском bootstrap скрипта AIO установите переменную сценария, чтобы включить шаблон с поддержкой Ceph:
export SCENARIO='aio_ceph'
Затем запустите процесс подготовки:
scripts/bootstrap-aio.sh
Процесс подготовки¶
В процессе подготовки OpenStack-Ansible подготавливает хост, создает необходимые контейнеры и развертывает минимальный кластер Ceph.
В рамках этого процесса автоматически создаются три sparse файла. Эти файлы используются в качестве Ceph OSD и вместе образуют кластер Ceph на одном узле AIO.
Поскольку OSD работают на основе файлов, а все службы запущены на одном хосте, данная конфигурация предназначена исключительно для функционального тестирования.
Сервисы Ceph и объектное хранилище¶
В развертывание входят сервисы Ceph MON, OSD и MGR, а также Ceph RADOS Gateway (RGW).
После завершения подготовки RGW настраивается для предоставления совместимой со Swift точкой доступа объектного хранилища. Это позволяет Ceph RADOS Gateway выступать в качестве замены Swift и использоваться в качестве бекэнда объектного хранилища в среде AIO.
После настройки объектное хранилище также будет доступно пользователям через панели управления Skyline и Horizon.
Для получения более подробной информации об использовании Ceph в качестве замены Swift см.:
Использование Ceph для объектного хранилища, совместимого со Swift
Проверка¶
После выполнения плейбуков OpenStack-Ansible вы можете проверить состояние кластера Ceph. Поскольку службы Ceph работают внутри контейнеров LXC, команду следует выполнить в контейнере монитора Ceph.
Например, вы можете использовать команду Ansible:
ansible -m command -a "ceph -s" ceph_mon[0]
В работоспособном кластере должно быть три активных OSD и монитор в кворуме.
Для развертывания в производственном окружени используйте выделенные узлы Ceph с соответствующими устройствами хранения, резервированием и проектированием доменов отказоустойчивости, см. Пример настройки Ceph в рабочем окружении.
Enabling Ceph dashboard¶
The ceph-mgr role installs ceph-mgr-dashboard and enables the
dashboard module by default, but does not finish configuring it. The
steps below complete the setup.
Run the ceph commands on a monitor host (aio1 on an all-in-one or
ceph-mon container) as a user with the cluster admin keyring.
Configure the module. The simplest option is plain HTTP, which leaves dashboard traffic (including the admin login) unencrypted and is only suitable on a trusted network:
# ceph config set mgr mgr/dashboard/ssl false
Operators who require encryption can instead keep SSL enabled and load a certificate (self-signed or their own):
# ceph config set mgr mgr/dashboard/ssl true # ceph config-key set mgr/dashboard/crt -i dashboard.crt # ceph config-key set mgr/dashboard/key -i dashboard.key
Restart the module to apply the change:
# ceph mgr module disable dashboard # ceph mgr module enable dashboard
Create a dashboard user. Recent releases require the password from a file via
-i. Useadministratorfor full access orread-onlyfor a view-only account:# echo 'SecretPassword' > /tmp/dash_pw # ceph dashboard ac-user-create admin -i /tmp/dash_pw administrator # shred -u /tmp/dash_pw
Expose the dashboard through the load balancer by adding an HAProxy service in
/etc/openstack_deploy/user_variables.yml(matchhaproxy_portto the port set above):haproxy_extra_services: - haproxy_service_name: ceph-dashboard haproxy_backend_nodes: - name: "{{ groups[mon_group_name][0] }}" ip_addr: "{{ hostvars[groups[mon_group_name][0]]['ansible_facts']['br_storage']['ipv4']['address'] }}" haproxy_port: 8443 haproxy_balance_type: http
Apply it with:
# openstack-ansible openstack.osa.haproxy -t haproxy-config
The dashboard is then reachable on the external load balancer address, for
example http://<external_lb_vip_address>:8443 (use https if SSL was
left enabled). Log in with the account created above.