A BlueStore egy speciális célú tárolási háttértár, amelyet kifejezetten a Ceph OSD-munkaterhelések lemezen lévő adatainak kezelésére terveztek. Az elmúlt tíz év FileStore-t használó OSD-k támogatásával és kezelésével kapcsolatos tapasztalatok motiválták. A BlueStore legfontosabb jellemzői a következők:
A tárolóeszközök közvetlen kezelése. A BlueStore nyers blokkeszközöket vagy partíciókat használ. Ezáltal elkerülhetőek a közbeiktatott zavaró rétegek (például az XFS-hez hasonló helyi fájlrendszerek), amelyek korlátozhatják a teljesítményt vagy növelhetik a bonyolultságot.
Metaadatok kezelése a RocksDB-vel. A RocksDB kulcs/érték adatbázisát ágyazzuk be a belső metaadatok, például az objektumok nevének a lemezen lévő blokkhelyekhez való hozzárendelésének kezelésére.
Teljes adat- és metaadat-ellenőrzés. Alapértelmezés szerint a BlueStore-ba írt összes adat és metaadat egy vagy több ellenőrző összeggel van védve. Egyetlen adat vagy metaadat sem kerül beolvasásra a lemezről, vagy kerül vissza a felhasználóhoz ellenőrzés nélkül.
Inline tömörítés. A kiírt adatok opcionálisan tömöríthetők, mielőtt a lemezre íródnának.
Több eszközre kiterjedő metaadat-szintezés. A BlueStore lehetővé teszi, hogy a belső naplóját (write-ahead log) egy különálló, nagy sebességű eszközre (például SSD, NVMe vagy NVDIMM) írja a teljesítmény növelése érdekében. Ha jelentős mennyiségű gyorsabb tároló áll rendelkezésre, a belső metaadatok is tárolhatók a gyorsabb eszközön.
Hatékony copy-on-write. Az RBD és a CephFS pillanatfelvételek egy copy-on-write klónozási mechanizmusra támaszkodnak, amelyet a BlueStore hatékonyan valósít meg. Ez hatékony IO-t eredményez mind a hagyományos pillanatképek, mind az erasure kódolt poolok esetében (amelyek a klónozásra támaszkodnak a hatékony kétfázisú commitok megvalósításához).
Nincsenek nagyméretű dupla írások
A BlueStore először minden új adatot egy blokkeszköz nem kiosztott helyére ír, majd egy RocksDB tranzakciót indít, amely frissíti az objektum metaadatait, hogy hivatkozzon a lemez új régiójára. Csak ha az írási művelet egy konfigurálható méretküszöbérték alatt van, akkor tér vissza az írást megelőző naplózási sémára, hasonlóan a FileStore működéséhez.
Több eszköz támogatása
A BlueStore több blokkeszközzel is képes különböző adatokat tárolni, például: Merevlemez-meghajtó (HDD) az adatokhoz, SSD a metaadatokhoz, NVM vagy NVRAM vagy tartós memória a RocksDB write-ahead log (WAL) számára.
Hatékony blokkeszköz-használat
Mivel a BlueStore nem használ fájlrendszert, minimálisra csökkenti a tárolóeszköz gyorsítótárának törlését.