配置克里米亚

使用预置镜像进行部署,有效配置 crimson-osd 。 使用 Crimson 映像部署的群集不支持非 Crimson 池。

开始之前

在开始之前,请确保具备以下先决条件:
  • 第一个 Ceph Monitor 容器的 IP 地址,也是存储集群中第一个节点的 IP 地址。
  • cp.icr.io/cp的登录访问权。
  • 至少为 /var/lib/containers/提供 10 GB 可用空间。
  • 对所有节点的根级别访问权。

关于此任务

使用 bootstrap 选项安装新集群。 无法升级此集群,因为它处于试验阶段。 有关更多信息,请参阅配置日志记录日志记录
警告: 请勿在生产环境中使用Crimson。 在生产数据环境中使用可能会导致数据丢失。

过程

  1. 使用 --image 标志来使用克里米亚构建。
    cephadm --image cp.icr.io/cp/ibm-ceph/ceph-8-crimson-rhel9:latest bootstrap --mon-ip IP_ADDRESS --allow-fqdn-hostname --initial-dashboard-password PASSWORD --orphan-initial-daemons
  2. 登录到 cephadm shell。
    cephadm shell
  3. 启用深红色。
    重要:Crimson 是一项技术预览功能。 预计会出现故障,包括崩溃和数据丢失。
    ceph config set global 'enable_experimental_unrecoverable_data_corrupting_features' crimson
  4. 启用 OSD 地图标记。
    重要提示:这是一项不可逆转的操作。
    ceph osd set-allow-crimson --yes-i-really-mean-it

    如果没有 OSD 地图标记,显示器将不允许 crimson-osd 启动。

  5. 为 MON 启用 Crimson 参数,以指示将默认池创建为 Crimson 池。
    ceph config set mon osd_pool_default_crimson true
  6. 配置 Bluestore 选项。 由于 Bluestore 不是 Crimson 的本地后端,因此使用 Bluestore 部署 Crimson 需要配置特定参数。
    crimson_alien_op_num_threads
    为 Crimson 的异化ObjectStore后端分配的 CPU 线程数。
    默认值:6
    crimson_seastar_num_threads
    该选项可简化群集部署,避免为每个 OSD 手动设置 CPU 屏蔽。
    每个 OSD 都将使用 "crimson_seastar_num_threads数量的线程进行操作,所使用的 CPU 内核并不专属于任何一个 OSD。
    该参数未分配默认值,用户应在部署 OSD 前根据其系统配置和群集要求在 OSD 级别设置该参数。
    注:建议 "crimson_seastar_num_threads值乘以每台主机上的 OSD 数量,应少于主机上的 CPU 内核数量(nproc

    下面演示的是由 3 台 OSD 主机组成的 7 节点集群的 "crimson_seastar_num_threads参数计算,其中每台 OSD 主机配备 48 个 CPU 内核和 5 个备用磁盘。

    • 每个 OSD 主机上可部署的 OSD 总数:5
    • 每个节点可用的 CPU 内核数量:48
    • 分配给 Crimson 的异化 ObjectStore ( crimson_alien_op_num_threads ) 的线程数:6(假设默认值不变)
    • Seastar 线程总数应满足条件:
      (OSD计数 * crimson_seastar_num_threads) < nproc
      nproc / osd count
    • 分配给 Seastar 反应堆的线程数 ( crimson_seastar_num_threads ):
      (OSD count * crimson_seastar_num_threads) < nproc
      
      crimson_seastar_num_threads < nproc / OSD count  
      
      crimson_seastar_num_threads < 48 / 5
      
      crimson_seastar_num_threads < 9
    1. 使用 config get osd 命令检查 crimson_alien_op_num_threads OSD 参数的默认值。
      例如,
      [ceph: root@host01 /]# ceph config get osd crimson_alien_op_num_threads
      6
    2. 可选: 如有需要,请使用命令 ceph config set osd 修改 crimson_alien_op_num_threads OSD参数。
    3. 修改 crimson_seastar_num_threads OSD 参数。
      注: crimson_alien_op_num_threads OSD 参数也可以类似方式修改。
      ceph config set osd crimson_seastar_num_threads NUMBER_OF_THREADS
      例如,
      [ceph: root@host01 /]# ceph config set osd crimson_seastar_num_threads 8
    4. 使用 ceph config get 命令验证新配置。
      例如,
      [ceph: root@host01 /]# ceph config get osd crimson_seastar_num_threads 8
  7. 在启动 OSD 部署之前,手动将所有 OSD 主机上的 fs.aio-max-nr 值增加到 2097152