「BlueStore」修訂間的差異

出自ChevyneWiki
跳至導覽 跳至搜尋
行 11: 行 11:
 
== BlueStore 的邏輯架構 ==
 
== BlueStore 的邏輯架構 ==
 
[[Image:BlueStore.png|link=]]
 
[[Image:BlueStore.png|link=]]
# BlueStore 實做了直接管理設備的方式,拋棄了本機檔案系統
+
* BlueStore 實做了直接管理設備的方式,拋棄了本機檔案系統
 
: BlockDevice 實做在用戶狀態下使用 linux aio 直接對設備進行 I/O 操作,去除了本機檔案系統的消耗,減少系統複雜度,更有利於 SSD 發揮性能優勢;
 
: BlockDevice 實做在用戶狀態下使用 linux aio 直接對設備進行 I/O 操作,去除了本機檔案系統的消耗,減少系統複雜度,更有利於 SSD 發揮性能優勢;
  +
* 管理設備需要一個磁碟空間管理系統,BlueStore 採用 Allocator 進行設備空間管理
  +
: 目前支援 StupidAllocator 和 BitmapAllocator 兩種模式;
  +
* BlueStore 的 metadata 是以 Key-Value 的形式存在 RockDB 裡
  +
: 而 RockDB 不能直接操作設備,為此,BlueStore 實做了一個 BlueRocksEnv,繼承自 EnvWrapper,為 RocksDB 提供底層檔案系統的抽象介面支援;
  +
 
== 參考連結 ==
 
== 參考連結 ==
 
* [https://kknews.cc/tech/yzvgpqn.html 史上最詳細的ceph工作原理解析]
 
* [https://kknews.cc/tech/yzvgpqn.html 史上最詳細的ceph工作原理解析]

於 2021年1月21日 (四) 04:06 的修訂

Ceph 存儲引擎

  • Ceph 支援多種存儲引擎,以插件的方式來進行管理使用
  • 目前支援 filestore,kvstore,memstore 以及 bluestore 等
  • Ceph Luminous (12.2.Z) 以後預設是 bluestore
  • BlueStore 目前基本已經穩定

BlueStore 的優勢

  • 減少寫放大;
  • 針對 FLASH 媒體磁碟進行了優化;(SSD)
  • 直接管理設備,進一步減少檔案系統部分的開銷。

BlueStore 的邏輯架構

BlueStore.png

  • BlueStore 實做了直接管理設備的方式,拋棄了本機檔案系統
BlockDevice 實做在用戶狀態下使用 linux aio 直接對設備進行 I/O 操作,去除了本機檔案系統的消耗,減少系統複雜度,更有利於 SSD 發揮性能優勢;
  • 管理設備需要一個磁碟空間管理系統,BlueStore 採用 Allocator 進行設備空間管理
目前支援 StupidAllocator 和 BitmapAllocator 兩種模式;
  • BlueStore 的 metadata 是以 Key-Value 的形式存在 RockDB 裡
而 RockDB 不能直接操作設備,為此,BlueStore 實做了一個 BlueRocksEnv,繼承自 EnvWrapper,為 RocksDB 提供底層檔案系統的抽象介面支援;

參考連結