Создание RBD-хранилища
Вы можете подключить хранилище Ceph при создании кластера VMmanager или в карточке кластера. Подробнее см. в статьях Создание кластера и Управление хранилищами кластера.
Статья описывает действия платформы при подключении хранилища Ceph.
Логика работы
Для работы RBD-хранилища VMmanager создаёт пул. Пул — это логический контейнер для хранения данных. Физически пул может находиться на одном или нескольких дисках кластера.
VMmanager создаёт пул со стандартным типом replicated. Работа с пулами типа erasure-code не поддерживается.
Пулы состоят из групп размещения (PG), в которых хранятся объекты с данными. Требуемое число PG вычисляется по формуле:
PG = OSD * 100 / количество реплик
где OSD — это количество устройств для хранения данных. Результат нужно округлить до ближайшей степени числа 2.
Например, если кластер Ceph состоит из 10 OSD и число репликаций равно 4, то общее число PG = 10 * 100 / 4 = 250. После округления до ближайшей степени числа 2 общее количество PG равно 256.
В процессе подключения VMmanager использует программное обеспечение ceph и инструменты библиотеки libvirt. Подробнее см в документации libvirt и документации ceph по работе с libvirt.
Добавление хранилища
Для добавления хранилища VMmanager:
- Подключается с заданными настройками к серверу-монитору кластера Ceph.
Если требуется, создаёт пул с заданными настройками:
CODEИнициализирует пул для работы RBD:
CODE- Если пользователь для работы с пулом уже создан, проверяет его права. Если прав недостаточно, дополняет их.
Если требуется, создаёт нового пользователя для работы с пулом и генерирует ключ аутентификации:
CODEСоздаёт файл secret.xml с полученным ключом и добавляет его в качестве "секрета" libvirt:
CODEПолучает ключ пользователя:
CODEУстанавливает ключ пользователя для "секрета" libvirt:
CODE- Создаёт пул с "секретом" libvirt.
Может быть полезно
Связанные статьи: