🗂️ Как создать пул в кластере хранения Ceph |

🗂️ Как создать пул в кластере хранения Ceph

Мануал

Ceph – это бесплатное программное решение для распределенного хранения с открытым исходным кодом, предназначенное для масштабирования для современной аналитики данных, искусственного интеллекта (AI), машинного обучения (ML), анализа данных и возникающих критически важных рабочих нагрузок.

В этой статье мы поговорим о том, как вы можете создать Ceph Pool с произвольным количеством групп размещения (PG).

В терминах Ceph, группы размещения (PG) – это фрагменты пула логических объектов, которые помещают объекты как группу в OSD.

Группы размещения сокращают количество метаданных для каждого объекта, когда Ceph сохраняет данные.

 

Большее количество групп размещения (например, 100 на OSD) приводит к лучшей балансировке.
Клиент Ceph вычислит, в какую группу размещения должен быть включен объект.
Он делает это путем хеширования идентификатора объекта и применения операции на основе количества PG в определенном пуле.

Расчет общего количества групп размещения.

             (OSDs * 100)
Total PGs =  ------------
              pool size
Например, предположим, что в вашем кластере 9 OSD и размер пула по умолчанию 3.
Таким образом, ваши PG будут
             9 * 100
Total PGs =  ------------ = 300
              3

Создаем пул

Синтаксис:

ceph osd pool create {pool-name} {pg-num}

Где:

  • {pool-name} – имя пула. Оно должно быть уникальным.
  • {pg-num} – общее количество групп размещения для пула.

Я создам новый пул с именем k8s-uat с количеством групп размещения 100.

$ sudo ceph osd pool create k8s-uat 100
pool 'k8s-uat' created
Теперь перечислим доступные пулы, чтобы подтвердить, что пул был создан.
$ sudo ceph osd lspools
1 .rgw.root
2 default.rgw.control
3 default.rgw.meta
4 default.rgw.log
5 k8s-uat

Привязка пула к приложению

Пулы должны быть связаны с приложением перед использованием.

Пулы, которые будут использоваться с CephFS, или пулы, которые автоматически создаются RGW, автоматически связываются.

--- Ceph Filesystem ---
$ sudo ceph osd pool application enable <pool-name> cephfs

--- Ceph Block Device ---
$ sudo ceph osd pool application enable <pool-name> rbd

--- Ceph Object Gateway ---
 $ sudo ceph osd pool application enable <pool-name> rgw

Пример:

$ sudo ceph osd pool application enable k8s-uat-rbd rbd
enabled application 'rbd' on pool 'k8s-uat-rbd'

Пулы, предназначенные для использования с RBD, должны быть инициализированы с использованием инструмента rbd:

sudo rbd pool init k8s-uat-rbd

Чтобы отключить приложение, используйте:

ceph osd pool application disable <poolname> <app> {--yes-i-really-mean-it}

Чтобы получить информацию ввода-вывода для определенного пула или всех, выполните:

$ sudo ceph osd pool stats [{pool-name}]

Удалить пул

Чтобы удалить пул, выполните:

sudo ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Сергей

    Добрый день. Хоть статья и старая но мне стало интересно.
    Подскажите как поступить:
    Есть Кластер Proxmox 6 хостов.
    12 OSDs созданы из 12 дисков.
    Все работает без проблем.
    Создан pool для хранения дисков виртуальных машин с базовыми настройками
    Size =3
    Min.Size = 2
    Crush rule: replicated_rule
    Of PGs: 32
    Pg Autoscale Mode: on
    Это как даёт сам PRoxmox после установки Ceph ceph-octopus
    ceph version 15.2.14 octopus (stable)
    Стоит ли поднять на пуле где есть диски VM PGs больше чем 32 ?
    Не повредить ли производительности кластера в общем?
    Количество групп размещения можно сделать для начала 64 на OSD)
    Это будет достаточно ?
    Если посчитать 12 OSD x 64 ÷ 3 то получается 256
    Спасибо за статью.

    Ответить
    1. cryptoparty автор

      Добрый день, Сергей! Спасибо за вашу обратную связь и приятные слова! Давайте разбираться – При мониторинге были показатели того, что кластер “пиковал”? и какая была конфигурация? Плюс вы это делали на своих мощностях или в облаке? Если да, то в каком?

      Ответить