Если в вашем сервере есть HDD и SSD, то не следует их смешивать в одном пуле т.к. запись данных будет балансироваться по быстрому и медленному дискам.
Более разумно создать два пула ресурсов, один быстрый на SSD и другой медленный на HDD.
Ниже изложенное делалось на Proxmox 7.0-11 в кластере из 5 серверов.
Содержание
Вынос журнала и метаданных OSD на SSD[править]
Можно, конечно, попытаться ускорить работу Ceph выносом журнала и метаданных на SSD, но надо иметь в виду, что сильно этим не ускориться т.к. журнал не будет работать как кеш чтения и только лишь ускорит запись, к тому же его не имеет смысла делать большим размером.
Важно также, что нельзя один физический SSD отдать и под журнал и под метаданные. При этом один физический SSD может использоваться под журналирование всех HDD в сервере, аналогично и про метаданные.
Т.о. попытка такого ускорения потребует отдать два физических SSD на один сервер. Попытки нарезать LVM и отдать вместо физического диска LVM у меня не получилась.
ssd pool и hdd pool в Ceph и Proxmox[править]
Из GUI всё сделать не получится, надо будет ввести пару команд в консоли.
Шаг 1: создаем OSD[править]
В начале надо создать хотя бы один OSD из HDD и хотя бы один OSD из SSD, без этого не получится следующий шаг.
Шаг 2: создаём роли репликации для CRUSH на ssd и hdd[править]
На любом из хостов выполните:
ceph osd crush rule create-replicated replicated_hdd default host hdd ceph osd crush rule create-replicated replicated_ssd default host ssd
Здесь replicated_hdd и replicated_ssd просто названия ролей, вы можете подставить свои.
Если ругается типа:
ceph osd crush rule create-replicated device class ssd does not exists
... значит вы не выполнили Шаг 1. Пока у вас не будет хоть одного OSD типа hdd, ssd, nvme - ceph не даст создать роль.
Шаг 3: создание пула с привязкой к нужной роли[править]
В GUI любого хоста идёте в Ceph->Pools и по Create создаёте новый пул, у которого в качестве роли указываете одну из созданных на шаге 2.
Всё, теперь у вас есть пул на SSD-дисках.