2.9. Ceph ObjectStore
对象存储
为 OSD 的原始块设备提供低级接口。当客户端读取或写入数据时,它会与 ObjectStore
接口交互。Ceph 写入操作基本上是 ACID 事务:即,它们提供 Atomicity、Consistency、Isolation 和 Durability。对象存储
可确保 交易
可以通过“全部或完全没有”的方式保证 原子性。ObjectStore
也会处理对象语义。存储集群中存储的对象具有唯一标识符、对象数据和元数据。因此,ObjectStore
通过确保 Ceph 对象语义正确来提供一致性
。ObjectStore
通过在写操作中调用 Sequencer
来提供 ACID 事务的 Isolation 部分,以确保 Ceph 的写入操作会按顺序进行。与之相反,OSD 复制或擦除编码功能提供了 ACID 事务的 Durability 组件。由于 ObjectStore
是存储介质的低级别接口,因此还提供性能统计数据。
Ceph 实施多种统一方法来存储数据:
- BlueStore:使用原始块设备来存储对象数据的生产评分实施。
- Memstore: 开发人员在 RAM 中直接测试读写操作。
- k/V 存储: Ceph 使用键/值数据库的内部实施。
由于管理员通常仅解决 BlueStore
,因此以下小节将更详细地描述这些实施。