Использование хранилища Ceph raw по сравнению с использованием пула
Я новый пользователь Ceph.
Мой Ceph сервер работает под управлением версии 12.2.5. Он имеет 3 узла, и каждый узел имеет 1 OSD с жестким диском 4 ТБ.
ceph.conf
osd pool default size = 3
osd pool default min size = 2
Я загрузил 252 ГБ данных в Ceph.
Насколько я понимаю, использование сырой памяти должно быть около 3 раз из-за настройки osd pool default size = 3
,
Но теперь мое глобальное необработанное хранилище почти в 6 раз больше моих данных (1605 ГБ / 252 ГБ = 6,3)
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
11165G 9560G 1605G 14.38
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
.rgw.root 8 1113 0 3000G 4
default.rgw.control 9 0 0 3000G 8
default.rgw.meta 10 21502 0 3000G 72
default.rgw.log 11 0 0 3000G 269
default.rgw.buckets.index 15 0 0 3000G 427
default.rgw.buckets.data 16 256G 7.88 3000G 6522963
У кого-нибудь есть такая же проблема на Ceph?
Обновить
Я думаю, я выясню причину. Большая часть моего файла - небольшой файл, но в Ceph версии 12.2.5 (bluestore) bluestore имеет минимальный размер выделения bluestore_min_alloc_size_hdd = 65536
поэтому, если файл меньше 64 КБ, он по-прежнему использует 64 КБ для его хранения.
Я протестировал загрузку 2000 файлов (каждый 64 КБ) и 3200 файлов (каждый 40 КБ), общий объем которых составил около 128 МБ.
Исходное использование файла 64 КБ составляет 410 МБ, близко к 384 МБ (2000 * 64 К * 3).
Исходное использование файла 40 КБ составляет 602 МБ, близко к 614 МБ (3200 * 64 К * 3).
0 ответов
У меня та же проблема. Я понял это только после создания бассейна. Вы можете изменить min_alloc на 4096, но я не знаю, как это будет работать для вас. Я бы посоветовал хотя бы пойти на полпути до 32к или 16к, но не ниже.