10.6. 使用 BlueStore 管理工具重新划分 RocksDB 数据库


您可以使用 BlueStore 管理工具重新划分数据库。它将 BlueStore 的 RocksDB 数据库从一形转换为几列的系列,而无需重新部署 OSD。列系列的功能与整个数据库相同,但允许用户在较小的数据集上运行并应用不同的选项。它利用存储的不同密钥的预期生命周期。密钥会在转换过程中移动,而不会创建新密钥或删除现有密钥。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 对象存储配置为 BlueStore。
  • 部署在主机上的 OSD 节点。
  • 对所有主机的 root 级别访问。
  • ceph-commoncephadm 软件包在所有主机上都存在。

流程

  1. 登录 cephadm shell:

    示例

    [root@host01 ~]# cephadm shell

  2. 从管理节点获取 OSD_ID 和主机详情:

    示例

    [ceph: root@host01 /]# ceph orch ps

  3. root 用户身份登录对应的主机,再停止 OSD:

    语法

    cephadm unit --name OSD_ID stop

    示例

    [root@host02 ~]# cephadm unit --name osd.0 stop

  4. 进入已停止的 OSD 守护进程容器:

    语法

    cephadm shell --name OSD_ID

    示例

    [root@host02 ~]# cephadm shell --name osd.0

  5. 登录到 cephadm shell 并检查文件系统一致性:

    语法

    ceph-bluestore-tool --path/var/lib/ceph/osd/ceph-OSD_ID/ fsck

    示例

    [ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-0/ fsck
    
    fsck success

  6. 检查 OSD 节点的分片状态:

    语法

    ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding

    示例

    [ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding
    
    m(3) p(3,0-12) O(3,0-13) L P

  7. 运行 ceph-bluestore-tool 命令来重新划分。红帽建议使用命令中的参数:

    语法

    ceph-bluestore-tool --log-level 10 -l log.txt --path /var/lib/ceph/osd/ceph-OSD_ID/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard

    示例

    [ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard
    
    reshard success

  8. 要检查 OSD 节点的分片状态,请运行 show-sharding 命令:

    语法

    ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding

    示例

    [ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding
    
    m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P

  9. cephadm shell 退出:

    [ceph: root@host02 /]# exit
  10. root 用户身份登录对应的主机,再启动 OSD:

    语法

    cephadm unit --name OSD_ID start

    示例

    [root@host02 ~]# cephadm unit --name osd.0 start

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.