关于RocksDB::Env 是用来固化RocksDB运行过程中产生的.sst(Sorting string table,有序字符串表,键值对的磁盘存储形式)和.log(wal:write ahead log)文件。因为日志文件的功能是为了提升磁盘的写速度,所以在BlueFs的设计上支持将.sst和.log文件分开存储,以方便将.log文件单独使用速度更快的固态存储设备例如NVMSSD或者NVRRAM存储。
BlueFs将整个BlueStore的存储空间分为三个层次 :
- 慢速(Slow)空间
主要用于存储对象数据,可由普通大容量机械盘提供,由BlueStore自行管理
- 高速(DB)空间
存储BlueStore内部产生的元数据,可由普通SSD提供,需求小于(慢速空间)。
- 超高速(WAL)空间
主要存储RocksDB内部产生的.log文件,可由SSD或者NVRAM等时延相较普通SSD更小的设备充当。容量需求和(高速空间)相当,同样由BlueFs直接管理。
1. 部署osd
ceph-volume lvm create --bluestore --data /dev/sdx --block.db /dev/sdy
或者
ceph-volume lvm create --bluestore --data /dev/sdx
--block.wal /dev/nsdy --block.db /dev/sdz
1. 如果要重建osd
ceph-volume lvm zap /dev/sdc --destroy
2. 如果遇到逻辑卷无法删除
dmsetup remove {lv name}
注意:创建物理卷出现如下错误 Can't initialize physical volume的解决方法: pvcreate -ff -y /dev/sdb
参考资料