Изменения

Перейти к: навигация, поиск

Производительность Ceph

3441 байт добавлено, 18:03, 20 марта 2020
Нет описания правки
При этом 4 Гб — слишком мало, 286 Гб — слишком много. Так что, по сути, правильно делать block.db размером 30 гб для всех OSD.
 
== Снапшоты ==
 
В реализации снапшотов в Ceph есть целый ворох проблем из-за количества параллельных реализаций и общего накопленного архитектурного бардака:
 
* На уровне RADOS снапшоты свои и их уже 2 вида: снапшоты пулов и снапшоты объектов.
* На уровне RBD тоже свои снапшоты, причём они отличаются от RADOS-снапшотов, хоть внутри и реализованы частично через них. RBD снапшоты, можно сказать, неюзабельны ни для чего, кроме быстрого снятия бэкапов, за которым тут же следует удаление снапшота. Откат к RBD снапшотам очень медленный и реализован не просто ужасно, а отвратительно — копированием содержимого снапшота поверх образа. Кроме того, при откате цепочка последующих снапшотов уничтожается.
* В Bluestore снапшоты эффективны — после снятия снапшота случайная запись практически не замедляется, в отличие от Filestore, где принцип работы снапшотов схож со старым LVM и при записи даже 4 КБ после снятия снапшота соответствующий 4 МБ объект копируется целиком.
* Но при этом эта оптимизация снапшотов — «виртуальные клоны» — реализована именно на уровне Bluestore, ни клиент, ни OSD о ней ничего не знают и поэтому она… ломается при ребалансе. Выглядит это так: ты добавляешь в кластер диск, он заполняется, а доступного места больше не становится. Почему? Потому что изначально, при записи, Bluestore получил запрос «клонировать 4 МБ объект в новую версию» и сделал это, реально не копируя данные, а потом перезаписал 4 КБ. Но потом, при ребалансе, эта связь порвалась и объект стал занимать все 4 МБ… Fail.
* Также на уровне RBD есть клоны, которые, с одной стороны, более юзабельны — реализованы они через ссылку на родительский образ — а с другой, для них не работает эта блюсторовская оптимизация, поэтому они опять-таки копируют объекты целиком при любой записи… что выливается в 40 иопс на запись (QD=1) в NVMe кластере.
* В CephFS ещё одна реализация снапшотов, и там отката нет вообще.
 
В общем, наговнокодили — мама не горюй…
== Контроллеры ==

Навигация