Изменения

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

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

1959 байтов добавлено, 17:04, 15 августа 2019
Нет описания правки
* Также жор CPU — одна из причин НЕ делать из Ceph «гиперконвергентное облако» (в котором совмещены узлы хранения и запуска виртуальных машин)
* Ещё можно отключить все mitigation-ы аппаратных уязвимостей: noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier
 
== Настройка виртуалок ==
 
* С дефолтными опциями qemu подключает RBD, увы, криво
* Криво — это значит, что а) используется медленная эмуляция lsi-контроллера б) используется режим с кэшированием чтения, но без кэширования записи
* Опция cache диска qemu автоматически влияет на включение RBD cache в клиентской библиотеке Ceph (librbd)
* Однако RBD cache сам по себе вносит небольшое торможение, заметное в случае SSD. Что-то там сделано с блокировками, что-то там однопоточное, всё это оптимизируют, но пока не оптимизировали.
* Есть следующие способы эмуляции дисков: lsi (самый медленный), virtio-scsi (достаточно быстрый), virtio (самый быстрый, но до QEMU 4.0 не умеет TRIM). Вообще virtio-scsi умеет multiqueue и поэтому на быстром хранилище должен быть быстрый — но в случае с Ceph librbd много очередей, по-видимому, значения не имеет.
 
Поэтому:
* Для HDD / SSD+HDD крайне желательно на уровне виртуалок включать опцию qemu cache=writeback
* Для SSD-only лучше выключать кэш вообще (cache=none)
* Лучше всего использовать драйвер virtio. Как всё это настраивается в вашем GUI виртуалок (Proxmox, Opennebula) - отдельная песня :) в опеннебуле сделано довольно-таки через жопу.
== Оценка производительности кластера ==

Навигация