对比
1 | ceph后端支持多种存储引擎,以插件化的形式来进行管理使用,目前支持filestore,kvstore,memstore以及bluestore |
Bluestore原理说明
1 | 对象可以直接存放在裸盘上,不需要任何文件系统接口。 |
各层意义
1 | RocksDB :存储 WAL 日志和元数据(omap) |
RocksDB 存放的数据类型
1 | 对象的元数据 |
默认BlueStore模型
1 | 第一个小分区(XFS或者ext4),包括ceph files |
优点
1 | 每一部分都可以存放在不同的磁盘中,RocksDB WAL 和 DB 可以存放在不同的磁盘或者小分区中 |
添加osd
案例1
由于Luminous里默认使用Bluestore,可以直接操作裸盘,data和block-db会使用lv。综合成本及性能,我们把block.db使用ssd的分区,osd仍然使用sas,block.wal不指定. 这里vdb作为osd盘,vdc作为block-db盘
1 | 首先ssh到各个存储节点,block.db使用的ssd分区,这里node1举例: |
案例2
创建具有3个逻辑卷的OSD(模拟不同类型的存储介质)
1 | #pvcreate /dev/sdb |
完成逻辑卷的创建后我们就可以创建 OSD 了。
1 | ceph-deploy osd create \ |
wal& db 的大小问题
1 | 在 ceph bluestore 的情况下,wal 是 RocksDB 的write-ahead log, 相当于之前的 journal 数据,db 是 RocksDB 的metadata 信息。在磁盘选择原则是 block.wal > block.db > block。当然所有的数据也可以放到同一块盘上。 |