主要是在bluestore的实例上执行低级管理操作的使用程序,是ceph bluestore的管理工具
命令
-
help显示帮助信息 -
fsck [--deep]对bluestore元数据进行一致性检查。如果指定了–deep,还要读取所有对象数据并验证校验和 -
repair运行一致性检查 并修复我们可以发生的任何错误 -
bluefs-export--path osd path
将bluefs的目录内容输出到指定目录,比如(rocksdb文件) -
bluefs-bdev-sizes–path osd path
将bluefs内部检查的设备文件大小打印到stdout -
bluefs-bdev-expand--path osd path --dev-target new-device
指示BlueFS检查其块设备的大小,如果它们已扩展,则使用额外的空间 -
bluefs-bdev-new-wal--path osd path --dev-target new-device
将WAL设备添加到BlueFS,如果WAL设备已存在则失败 -
bluefs-bdev-new-db--path osd path --dev-target new-device
将数据库设备添加到BlueFS,如果数据库设备已存在则失败 -
bluefs-bdev-migrate–dev-target new-device –devs-source device1 [–devs-source device2 ]
将BlueFS数据从源设备移动到目标设备,成功删除源设备(主设备除外)。目标设备既可以已经连接也可以是新设备。在后一种情况下,它被添加到OSD替换其中一个源设备。以下替换规则适用(按优先顺序,在第一场比
赛时停止):- 如果源列表具有数据库卷 - 目标设备将替换它
- 如果源列表有WAL卷 - 目标设备替换它
- 如果源列表仅具有缓慢的卷 - 不允许操作,则需要通过new-db / new-wal命令进行显式分配
-
show-label--dev 设备
显示设备标签
选项
-
--devdevice 将设备添加到要考虑的设备列表中 -
--devs-sourcedevice 将设备添加到设备列表中,以将其视为迁移操作的源 -
--dev-targetdevice`指定要添加的目标设备迁移操作或设备以添加新的DB / WAL -
--pathosd path
指定osd路径。在大多数情况下,设备列表是从osd路径中存在的符号链接推断出来的。这通常比使用–dev明确指定设备更简单 -
--out-dir *dir*bluefs-export的输出目录 - -l,
--log-filelog file 要登录的文件 -
--log-levelnum
调试日志级别。默认值为30(极其冗长),20表示非常详细,10表示详细,1表示不详细 -
--deep
深度清理/修复(读取和验证对象数据,而不仅仅是元数据)
使用
fsck需要停止osd后使用,以下工具都需要停止osd后使用才行bluefs-export把rocksdb导出成文件形式,因为本身bluestore是通过bluefs来管理元数据和数据的,但是在bluestore中是无法看到bluefs文件内容,此工具提供了一种导出成目录的方法show-label 显示dev或者path的一些标签set/rm-label-key 插入删除标签ceph-bluestore-tool set-label-key -k aaa -v bbb --dev /dev/sde2ceph-bluestore-tool rm-label-key -k aaa --dev /dev/sde2