Ceph – это бесплатное программное решение для распределенного хранения с открытым исходным кодом, предназначенное для масштабирования для современной аналитики данных, искусственного интеллекта (AI), машинного обучения (ML), анализа данных и возникающих критически важных рабочих нагрузок.
В этой статье мы поговорим о том, как вы можете создать Ceph Pool с произвольным количеством групп размещения (PG).
В терминах Ceph, группы размещения (PG) – это фрагменты пула логических объектов, которые помещают объекты как группу в OSD.
Группы размещения сокращают количество метаданных для каждого объекта, когда Ceph сохраняет данные.
Расчет общего количества групп размещения.
(OSDs * 100) Total PGs = ------------ pool size
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]
Добрый день. Хоть статья и старая но мне стало интересно.
Подскажите как поступить:
Есть Кластер 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
Спасибо за статью.
Добрый день, Сергей! Спасибо за вашу обратную связь и приятные слова! Давайте разбираться – При мониторинге были показатели того, что кластер “пиковал”? и какая была конфигурация? Плюс вы это делали на своих мощностях или в облаке? Если да, то в каком?