BlueStore - это новое хранилище для демонов OSD. В отличие от оригинального FileStore, BlueStore хранит объекты непосредственно на блочных устройствах без интерфейса файловой системы. Это повышает производительность кластера.
Ниже приведены некоторые из основных особенностей использования BlueStore:
• Прямое управление устройствами хранения: BlueStore использует необработанные блочные устройства или разделы. Это предотвращает любые промежуточные уровни абстракции, такие как локальные файловые системы, такие как XFS, которые могут ограничить производительность или добавить сложности.
* Управление метаданными с помощью RocksDB: BlueStore использует базу данных RocksDB key-value для управления внутренними метаданными, такими как сопоставление имен объектов с местоположениями блоков на диске.
• Полная контрольная сумма данных и метаданных: по умолчанию все данные и метаданные, записанные в BlueStore, защищены одной или несколькими контрольными суммами. Никакие данные или метаданные не считываются с диска и не возвращаются пользователю без проверки.
• Эффективное копирование при записи: Моментальные снимки блочного устройства Ceph и файловой системы Ceph основаны на механизме клонирования копирования при записи, который эффективно реализован в BlueStore. Это приводит к эффективному вводу-выводу как для обычных моментальных снимков, так и для пулов с кодированием стирания, которые полагаются на клонирование для реализации эффективных двухфазных коммитов.
• Отсутствие большой двойной записи: BlueStore сначала записывает любые новые данные в нераспределенное пространство на блочном устройстве, а затем совершает транзакцию RocksDB, которая обновляет метаданные объекта для ссылки на новую область диска. Он возвращается к схеме ведения журнала с опережением записи только тогда, когда операция записи ниже настраиваемого порогового размера, аналогично тому, как работает хранилище файлов.
• Поддержка нескольких устройств: BlueStore может использовать несколько блочных устройств для хранения различных данных. Например, жесткий диск для хранения данных, твердотельный накопитель для
метаданные, NVM (энергонезависимая память) или NVRAM (энергонезависимая оперативная память) или постоянная память для RocksDB WAL (журнал предварительной записи)