Разъяснение необходимости использования Juju в чарме Ceph
У меня есть 3 сервера, которые я хочу использовать в качестве кластера хранения в настройке PoC Openstack.
На каждом сервере есть небольшой / dev / sda для ОС и т. Д. И большой / dev / sdb, который я надеюсь использовать в качестве хранилища Ceph.
Я могу использовать брелок Juju Ceph для развертывания Ceph на каждом сервере.
Как и ожидалось, Ceph Charm устанавливает Ceph Monitor на каждом сервере и сообщает, что кластер с кворумом сформирован.
В документах говорится, что основной брелок Ceph также настраивает Ceph-OSD для любых найденных дисков. В моем случае он настраивает OSD только на одном сервере.
Правильно ли я поняла основное очарование Сефа? Должен ли он установить 3 Ceph Mons, а также 3 Ceph-OSD (настроенные для /dev/sdb)?
Мои знания Ceph минимальны, поэтому я все еще собираю терминологию и понятия. Правильно ли я считаю, что один Ceph-OSD может управлять блочным И объектным хранилищем или Ceph выделяет некоторые OSD исключительно для блочных, а другие - исключительно для объектных хранилищ?
2 ответа
Не могли бы вы опубликовать файл конфигурации, который вы использовали для своего развертывания? Это было бы полезно.
Учитывая ваши данные об оборудовании, я бы подумал, что брелок настроит 3 OSD (по 1 на сервер в /dev/sdb).
Вы правы в том, что Ceph управляет одним блоком и пулом хранения.
Поначалу это может показаться немного запутанным: брелок ceph устанавливает как mon, так и OSD. Брелок ceph-osd только устанавливает OSD (без понедельника), но в остальном работает так же и с теми же параметрами. Вы будете смешивать их в зависимости от вашего развертывания, и вы можете связать прелести ceph и ceph-osd друг с другом.
Для минимального кластера из 3 серверов (таких как у вас) вам нужно 3 монс, и, таким образом, вы просто создадите 3 блока шарма 'ceph', который настроит как необходимые монеты, так и OSD на каждом блоке. Если у вас было больше серверов (например, 6), вы можете установить 3 модуля ceph и 3 модуля ceph-osd.
Хранилище, используемое ceph, может быть сконфигурировано с помощью опции osd-devices в charm, он может принимать либо пути к устройствам в / dev, либо местоположение файловой системы для размещения файлов, которые по умолчанию имеют значение / dev / vdb - вы, скорее всего, нужно поменять. Обратитесь к документации здесь: https://jujucharms.com/ceph/
Наконец, что касается блокирования и хранения объектов, ceph на более низком уровне предоставляет услугу "rados", которая хранит объекты и доступна с использованием API-интерфейса rados низкого уровня. В кластере Ceph (который имеет несколько OSD) вы можете создать несколько "пулов" для хранения этих объектов. У каждого пула есть имя, и имена объектов уникальны в пределах пула (но вы можете использовать одно и то же имя объекта в разных пулах, они изолированы друг от друга) - вы также можете установить различные параметры для каждого пула, такие как количество копий для хранения каждого фрагмента данных. Однако следует помнить, что для каждого пула накладные расходы (в основном с точки зрения групп размещения), и вы не можете создавать их дико, но в вашей установке, скорее всего, будет несколько пулов.
На вершине этого кластера Ceph вы можете создать ряд сервисов, включая блочное хранилище (используя RBD - Rados Block Device) и хранилище объектов с помощью REST API (используя radosgw). Обе эти службы используют API-интерфейс rados на низком уровне для хранения объектов и управления ими, но предоставляют услугу более высокого уровня, такую как блочное устройство или интерфейс HTTP REST для объектов.
С помощью шлюза хранения объектов (radosgw) ваши объекты обычно именуются и создаются так же, как они находятся внутри шлюза, что может быть очевидным, однако блочное устройство радиостанции RBD разделяет объем хранилища на куски (например, куски по 4 МБ) и создает объект для каждого чанка и некоторые дополнительные объекты, которые хранят метаданные обо всем блочном устройстве.
Вы можете запускать обе службы (или более) в одном и том же кластере ceph и OSD, но, как правило, каждая служба помещается в отдельный пул (в действительности, radosgw использует несколько пулов).
Я надеюсь, что это поможет вам начать с самого обаяния, некоторых основ о ceph и о том, как блочное и файловое хранилище могут сосуществовать в кластере ceph. Это может все еще немного сбивать с толку с точки зрения терминологии, поэтому я бы посоветовал просмотреть руководство и поискать на youtube один из различных выступлений, в которых представлен ceph, который действительно поможет вам разобраться с терминологией.