3.15. 标记主机
Ceph 编配器支持将标签分配到主机。标签是自由格式的,没有具体含义。这意味着,您可以使用 mon
、monitor
、mycluster_monitor
或任何其他文本字符串。每一主机可以有多个标签。
从 Red Hat Ceph Storage 8.1 开始,Ceph 编排器支持将常规标签和拓扑标签分配给主机。标签可以使用任何文本字符串自由格式。拓扑标签使用硬件标识符和用户标签进行输入。
- 标签
标签是自由格式的用户指定文本。例如,在您要在其上部署 Ceph Monitor 守护进程的所有主机上使用
mycluster_mon
等标签。然后,将第二个标签mycluster_mgr
放置到您在其上部署 Ceph Manager 守护进程的所有主机上。标记存储集群中的所有主机有助于简化系统管理任务,允许您快速识别每个主机上运行的守护进程。此外,您可以使用 Ceph 编配器或 YAML 文件在具有特定主机标签的主机上部署或删除守护进程。
- topological 标签
- 从 Red Hat Ceph Storage 8.1 开始,您可以使用多机架环境中的拓扑标签来帮助为每个机架创建不同的服务。Topological 标签可在特定主机上启用升级操作。如需更多信息,请参阅 Staggered upgrade。
在标记主机前,请确定您安装了存储集群并引导。
3.15.1. 为主机添加标签 复制链接链接已复制到粘贴板!
使用 Ceph 编排器向主机添加标签。标签可用于指定守护进程的放置。
几个标签示例是 mgr
、mon
和 osd
,基于主机上部署的服务。每一主机可以有多个标签。
您还可以添加以下主机标签,它们对 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
目录中部署配置和密钥环文件。
先决条件
- 已安装并引导的存储集群。
- 对存储集群中所有节点的根级别访问权限。
- 主机添加到存储集群中。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为主机添加标签:
语法
ceph orch host label add HOSTNAME LABEL
ceph orch host label add HOSTNAME LABEL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch host label add host02 mon
[ceph: root@host01 /]# ceph orch host label add host02 mon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出主机:
示例
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.2. 从主机中删除标签 复制链接链接已复制到粘贴板!
您可以使用 Ceph 编配器从主机移除标签。
先决条件
- 已安装并引导的存储集群。
- 对存储集群中所有节点的根级别访问权限。
流程
启动
cephadm
shell:cephadm shell
[root@host01 ~]# cephadm shell [ceph: root@host01 /]#
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除标签。
语法
ceph orch host label rm HOSTNAME LABEL
ceph orch host label rm HOSTNAME LABEL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch host label rm host02 mon
[ceph: root@host01 /]# ceph orch host label rm host02 mon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出主机:
示例
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.3. 使用主机标签在特定主机上部署守护进程 复制链接链接已复制到粘贴板!
您可以使用主机标签将守护进程部署到特定的主机上。使用主机标签在特定主机上部署守护进程的方法有两种:
-
从命令行使用
--placement
选项。 - 通过使用 YAML 文件。
先决条件
- 已安装并引导的存储集群。
- 对存储集群中所有节点的根级别访问权限。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出当前的主机和标签:
示例
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 方法 1:使用
--placement
选项从命令行部署守护进程:语法
ceph orch apply DAEMON --placement="label:LABEL"
ceph orch apply DAEMON --placement="label:LABEL"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 方法 2 将守护进程分配给 YAML 文件中的特定主机标签,请在 YAML 文件中指定服务类型和标签:
创建
placement.yml
文件:示例
[ceph: root@host01 /]# vi placement.yml
[ceph: root@host01 /]# vi placement.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
placement.yml
文件中指定服务类型和标签:示例
service_type: prometheus placement: label: "mylabel"
service_type: prometheus placement: label: "mylabel"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用守护进程放置文件:
语法
ceph orch apply -i FILENAME
ceph orch apply -i FILENAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出守护进程的状态:
语法
ceph orch ps --daemon_type=DAEMON_NAME
ceph orch ps --daemon_type=DAEMON_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[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
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.4. 将拓扑标签添加到主机 复制链接链接已复制到粘贴板!
在多机架环境中使用拓扑标签,以帮助 Cephadm 了解集群中主机的拓扑布局。Topological 标签可在特定主机上启用升级操作。
使用命令行界面或主机规格文件添加拓扑标签。
先决条件
在开始前,请确保您有以下先决条件:
- 已安装并引导的存储集群。
- 对存储集群中所有节点的根级别访问权限。
流程
方法 1: 使用命令行界面添加拓扑标签。
使用主机 add 或 set-topological-labels 命令通过 Cephadm shell 添加 topological 标签。
标签使用以下格式编写:
hardware_identifier
=user_label
.硬件标识符可以是数据中心或机架。多个标签可以和逗号分隔。使用以下命令之一为主机添加拓扑标签。
使用带有-
topological-labels
选项的host add
命令。语法
ceph orch host add _HOSTNAME_ _IP_ADDRESS_ --topological-labels _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
ceph orch host add _HOSTNAME_ _IP_ADDRESS_ --topological-labels _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
set-topological-labels
命令。重要set-topological-labels
命令覆盖任何现有拓扑标签。运行不带指定标签的命令可清除主机的所有标签。运行 命令并使用标签替换主机上的现有标签。运行此命令时使用的标签不会添加到现有标签中。语法
ceph orch host set-topological-labels _HOSTNAME_ _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
ceph orch host set-topological-labels _HOSTNAME_ _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 方法 2 使用服务规格文件添加拓扑标签。
从主机规格文件中设置 topological 标签。
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
使用
ceph orch host ls -f yaml
命令查找主机的现有拓扑标签。