2.9. Ceph ObjectStore
ObjectStore
为 OSD 的原始块设备提供低级别接口。当客户端读取或写入数据时,它会与 ObjectStore
接口交互。Ceph 写入操作本质上是 ACID 事务:即,它们提供 原子性、一致性、隔离 和持久性。ObjectStore
确保 Transaction
提供 原子性。ObjectStore
还处理对象语义。存储集群中存储的对象具有唯一标识符、对象数据和元数据。因此 ObjectStore
通过确保 Ceph 对象语义正确来提供 Consistency
。ObjectStore
另外,在写操作上调用 Sequencer
来提供 ACID 事务的 隔离 部分,以确保 Ceph 写入操作按顺序进行。相反,OSD 复制或纠删代码功能提供了 ACID 事务的可达 性 组件。因为 ObjectStore
是存储介质的低级别接口,所以它还提供性能统计。
Ceph 实施多种具体存储数据的方法:
- FileStore: 利用文件系统存储对象数据的生产级别实施。
- BlueStore: 利用原始块设备存储对象数据的生产评级实施。
- Memstore: 一种开发人员实施,用于直接在 RAM 中测试读/写操作。
- K/V 存储: 一种供 Ceph 使用键/值数据库的内部实施。
因为管理员通常只解决 BlueStore
,因此以下小节将只详细描述这些实现。