3.15. 标记主机


Ceph 编配器支持将标签分配到主机。标签是自由格式的,没有具体含义。这意味着,您可以使用 monmonitormycluster_monitor 或任何其他文本字符串。每一主机可以有多个标签。

例如,将 mon 标签应用到您要在其上部署 Ceph 监控守护进程的所有主机,mgr 适用于您要在其上部署 Ceph Manager 守护进程、rgw 用于 Ceph 对象网关守护进程等。

标记存储集群中的所有主机有助于简化系统管理任务,允许您快速识别每个主机上运行的守护进程。此外,您可以使用 Ceph 编配器或 YAML 文件在具有特定主机标签的主机上部署或删除守护进程。

3.15.1. 为主机添加标签

使用 Ceph 编排器向主机添加标签。标签可用于指定守护进程的放置。

几个标签示例是 mgrmonosd,基于主机上部署的服务。每一主机可以有多个标签。

您还可以添加以下主机标签,它们对 cephadm 具有特殊含义,它们以 _ 开头:

  • _no_schedule: 此标签会阻止 cephadm 调度或部署主机上的守护进程。如果它被添加到已包含 Ceph 守护进程的现有主机中,它会导致 cephadm 在其他位置移动这些守护进程,除了自动移除的 OSD 除外。当添加带有 _no_schedule 标签的主机时,不会在其上部署守护进程。当守护进程在删除主机前排空时,在该主机上设置了 _no_schedule 标签。
  • _no_autotune_memory :此标签不会在主机上自动微调内存。即使为 host 上的一个或多个守护进程启用了 osd_memory_target_autotune 选项,也会防止守护进程内存被调优。
  • _admin: 默认情况下,_admin 标签应用于存储集群中的 bootstrapped 主机,client.admin 密钥被设置为使用 ceph orch client-keyring {ls|set|rm} 功能分发到该主机。将此标签添加到其他主机通常会导致 cephadm/etc/ceph 目录中部署配置和密钥环文件。

先决条件

  • 已安装并引导的存储集群。
  • 对存储集群中所有节点的根级别访问权限。
  • 主机添加到存储集群中。

流程

  1. 登录到 Cephadm shell:

    示例

    [root@host01 ~]# cephadm shell

  2. 为主机添加标签:

    语法

    ceph orch host label add HOSTNAME LABEL

    示例

    [ceph: root@host01 /]# ceph orch host label add host02 mon

验证

  • 列出主机:

    示例

    [ceph: root@host01 /]# ceph orch host ls

3.15.2. 从主机中删除标签

您可以使用 Ceph 编配器从主机移除标签。

先决条件

  • 已安装并引导的存储集群。
  • 对存储集群中所有节点的根级别访问权限。

流程

  1. 启动 cephadm shell:

    [root@host01 ~]# cephadm shell
    [ceph: root@host01 /]#
  2. 删除标签。

    语法

    ceph orch host label rm HOSTNAME LABEL

    示例

    [ceph: root@host01 /]# ceph orch host label rm host02 mon

验证

  • 列出主机:

    示例

    [ceph: root@host01 /]# ceph orch host ls

3.15.3. 使用主机标签在特定主机上部署守护进程

您可以使用主机标签将守护进程部署到特定的主机上。使用主机标签在特定主机上部署守护进程的方法有两种:

  • 从命令行使用 --placement 选项。
  • 通过使用 YAML 文件。

先决条件

  • 已安装并引导的存储集群。
  • 对存储集群中所有节点的根级别访问权限。

流程

  1. 登录到 Cephadm shell:

    示例

    [root@host01 ~]# cephadm shell

  2. 列出当前的主机和标签:

    示例

    [ceph: root@host01 /]# ceph orch host ls
    HOST      ADDR     LABELS               STATUS
    host01              _admin mon osd mgr
    host02              mon osd mgr mylabel

    • 方法 1:使用 --placement 选项从命令行部署守护进程:

      语法

      ceph orch apply DAEMON --placement="label:LABEL"

      示例

      [ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"

    • 方法 2 将守护进程分配给 YAML 文件中的特定主机标签,请在 YAML 文件中指定服务类型和标签:

      1. 创建 placement.yml 文件:

        示例

        [ceph: root@host01 /]# vi placement.yml

      2. placement.yml 文件中指定服务类型和标签:

        示例

        service_type: prometheus
        placement:
          label: "mylabel"

      3. 应用守护进程放置文件:

        语法

        ceph orch apply -i FILENAME

        示例

        [ceph: root@host01 /]# ceph orch apply -i placement.yml
        Scheduled prometheus update…

验证

  • 列出守护进程的状态:

    语法

    ceph orch ps --daemon_type=DAEMON_NAME

    示例

    [ceph: root@host01 /]# ceph orch ps --daemon_type=prometheus
    NAME               HOST   PORTS   STATUS        REFRESHED  AGE  MEM USE  MEM LIM  VERSION  IMAGE ID      CONTAINER ID
    prometheus.host02  host02  *:9095  running (2h)     8m ago   2h    85.3M        -  2.22.2   ac25aac5d567  ad8c7593d7c0

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.