CEPHADM 操作之健康检查
cephadm 模块提供额外的健康检查来补充集群提供的默认健康检查。这些额外的健康检查分为两类:
- cephadm 操作:当 cephadm 模块处于活动状态时,始终执行此类别的健康检查。
- 集群配置:这些健康检查是可选的,主要关注集群中主机的配置。
CEPHADM 操作
CEPHADM_PAUSED
ceph orch pause 这表明 cephadm 后台工作已被暂停 。Cephadm 继续执行被动监控活动(例如检查主机和守护程序状态),但不会进行任何更改(例如部署或删除守护程序)。
通过运行以下命令恢复 cephadm 工作:
ceph orch resume
CEPHADM_STRAY_HOST
这表明一个或多个主机有 Ceph 守护进程正在运行,但没有注册为由cephadm管理的主机。这意味着这些服务目前不能由 cephadm 管理(例如,重新启动、升级、包含在 ceph orch ps中)。
- 您可以通过运行以下命令来管理主机:
ceph orch host add *<hostname>*
笔记: 您可能需要先配置对远程主机的 SSH 访问权限,然后才能使用。
-
有关主机名和域名的更多信息,请参阅完全限定域名与裸主机名。
-
或者,您可以手动连接到主机并确保该主机上的服务被删除或迁移到由cephadm管理的主机。
-
可以通过运行以下命令完全禁用此警告:
ceph config set mgr mgr/cephadm/warn_on_stray_hosts false
CEPHADM_STRAY_DAEMON
一个或多个 Ceph 守护进程正在运行,但不是由 cephadm管理。这可能是因为它们是使用不同的工具部署的,或者是因为它们是手动启动的。这些服务目前无法由 cephadm 管理(例如,重新启动、升级或包含在ceph orch ps中)。
-
如果守护进程是有状态的(监视器或 OSD),它应该被 cephadm 采用;请参阅将现有集群转换为 cephadm。对于无状态守护程序,通常最简单的方法是使用 ceph orch apply 命令配置新守护程序,然后停止非托管守护程序。
-
如果杂散守护进程在不受 cephadm 管理的主机上运行,您可以通过运行以下命令来管理主机:
ceph orch host add *<hostname>*
笔记: 您可能需要先配置对远程主机的 SSH 访问权限,然后才能使用。
-
有关主机名和域名的更多信息,请参阅完全限定域名与裸主机名。
-
可以通过运行以下命令完全禁用此警告:
ceph config set mgr mgr/cephadm/warn_on_stray_daemons false
CEPHADM_HOST_CHECK_FAILED
一台或多台主机未能通过基本的 cephadm 主机检查,这将验证 (1) 主机可访问且 cephadm 可以在那里执行,以及 (2) 主机满足基本先决条件,如工作容器运行时(podman 或 docker)和工作时间同步。如果此测试失败,cephadm 将无法管理该主机上的服务。
您可以通过运行以下命令手动运行此检查:
ceph cephadm check-host *<hostname>*
您可以通过运行以下命令从管理中删除损坏的主机:
ceph orch host rm *<hostname>*
您可以通过运行以下命令禁用此运行状况警告:
ceph config set mgr mgr/cephadm/warn_on_failed_host_check false
集群配置检查
Cephadm 定期扫描集群中的每台主机,以了解操作系统、磁盘、网卡等的状态。然后可以分析这些事实以确保集群中主机之间的一致性,以识别任何配置异常。
启用集群配置检查
配置检查是一项可选功能,可通过运行以下命令启用:
ceph config set mgr mgr/cephadm/config_checks_enabled true
集群配置检查返回的状态
每次主机扫描 (1m) 后都会触发配置检查。cephadm 日志条目将显示配置检查的当前状态和结果,如下所示:
禁用状态(config_checks_enabled false):
ALL cephadm checks are disabled, use 'ceph config set mgr mgr/cephadm/config_checks_enabled true' to enable
启用状态(config_checks_enabled true):
CEPHADM 8/8 checks enabled and executed (0 bypassed, 0 disabled). No issues detected
管理配置检查(子命令)
配置检查本身通过几个 cephadm 子命令进行管理。
要确定是否启用了配置检查,请运行以下命令:
ceph cephadm config-check status
此命令将配置检查器的状态返回为“启用”或“禁用”。
要列出所有配置检查及其当前状态,请运行以下命令:
# ceph cephadm config-check ls
NAME HEALTHCHECK STATUS DESCRIPTION
kernel_security CEPHADM_CHECK_KERNEL_LSM enabled checks SELINUX/Apparmor profiles are consistent across cluster hosts
os_subscription CEPHADM_CHECK_SUBSCRIPTION enabled checks subscription states are consistent for all cluster hosts
public_network CEPHADM_CHECK_PUBLIC_MEMBERSHIP enabled check that all hosts have a NIC on the Ceph public_netork
osd_mtu_size CEPHADM_CHECK_MTU enabled check that OSD hosts share a common MTU setting
osd_linkspeed CEPHADM_CHECK_LINKSPEED enabled check that OSD hosts share a common linkspeed
network_missing CEPHADM_CHECK_NETWORK_MISSING enabled checks that the cluster/public networks defined exist on the Ceph hosts
ceph_release CEPHADM_CHECK_CEPH_RELEASE enabled check for Ceph version consistency - ceph daemons should be on the same release (unless upgrade is active)
kernel_version CEPHADM_CHECK_KERNEL_VERSION enabled checks that the MAJ.MIN of the kernel on Ceph hosts is consistent
通过运行以下形式的命令,可以使用每个配置检查的名称来启用或禁用特定检查:
ceph cephadm config-check disable <name>
例如:
ceph cephadm config-check disable kernel_security
CEPHADM_CHECK_KERNEL_LSM
集群中的每个主机都应在相同的 Linux 安全模块 (LSM) 状态下运行。例如,如果大多数主机都在强制模式SELINUX下运行 ,则任何未在此模式下运行的主机都会被标记为异常并引发健康检查 (WARNING) 状态。
CEPHADM_CHECK_SUBSCRIPTION
此检查与供应商订阅的状态有关。此检查仅针对使用 RHEL 的主机执行,但有助于确认所有主机都包含在活动订阅中,从而确保补丁和更新可用。
CEPHADM_CHECK_PUBLIC_MEMBERSHIP
集群的所有成员都应在至少一个公共网络子网中配置 NIC。不在公共网络上的主机将依赖路由,这可能会影响性能。
CEPHADM_CHECK_MTU
OSD 上 NIC 的 MTU 可能是保持性能稳定的关键因素。此检查检查运行 OSD 服务的主机,以确保 MTU 在集群中的配置一致。这是通过建立大多数主机正在使用的 MTU 设置来确定的。任何异常都会导致 Ceph 运行状况检查。
CEPHADM_CHECK_LINKSPEED
此检查类似于 MTU 检查。Linkspeed 一致性是集群性能一致的一个因素,就像 OSD 上 NIC 的 MTU 一样。此检查确定大多数 OSD 主机共享的链接速度,并且对设置为较低链接速度速率的任何主机运行健康检查。
CEPHADM_CHECK_NETWORK_MISSING
public_network和cluster_network设置支持 IPv4 和 IPv6 的子网定义。如果在集群中的任何主机上都找不到这些设置,则会进行健康检查。
CEPHADM_CHECK_CEPH_RELEASE
在正常操作下,Ceph 集群在同一个 ceph 版本下运行守护进程(即 Ceph 集群在(例如)Octopus 下运行所有守护进程)。此检查确定每个守护程序的活动版本,并将任何异常报告为运行状况检查。如果升级过程在集群中处于活动状态,则绕过此检查。
CEPHADM_CHECK_KERNEL_VERSION
检查操作系统内核版本 (maj.min) 以确保主机之间的一致性。大多数主机的内核版本被用作识别异常的基础。