ECS:OBS: xDoctor:RAP099:xDoctor 在所有节点上不统一
Summary: 此知识库文章解释了为什么由于 xDoctor 在所有节点上不统一而报告XDR_OBS_099。
Symptoms
xDoctor 是一种支持和诊断工具,旨在识别并帮助解决可能对 ECS 和 OBS 系统造成负面影响的已知配置、软件和硬件问题。关键功能包括:
- 故障排除:帮助支持团队和客户确定 ECS 和 OBS 问题的根本原因。
- 主动监控:检测问题的早期迹象
- 支持参与:某些作和解决方案需要戴尔支持的参与。
xDoctor 报告以下错误:
------------------------------------------------------
ERROR - xDoctor not uniform across all nodes
------------------------------------------------------
Extra = Not allowed to use the SYSTEM scope, use LOCAL scope instead or reinstall xDoctor -> xdr_versions={'4.8-85.0': ['169.254.1.3'], '4.8-100.1': ['169.254.1.4', '169.254.1.2', '169.254.1.1']}
RAP = RAP099
Solution = KB 91703
Timestamp = 2025-10-09_120102
PSNT = CKM00000000000 @ 4.8-100.1
因此,ECS 诊断仅限于本地范围。这意味着只能测试一小部分症状检测器,并非所有遥测报告都可以收集并发送到家中。
要确认 xDoctor 版本不统一, SSH 到节点以验证,如下所示:
# sudo xdoctor -s xDoctor not uniform across all nodes ... Trying xDoctor Resync ... Resync failed: No xDoctor package found for re-installation [4.8-85.0] -> ['169.254.1.3'] [4.8-100.1] -> ['169.254.1.4', '169.254.1.2', '169.254.1.1']
在上面的示例中,节点 3 运行的是 xDoctor 4.8-85.0,而节点 1、2 和 4 运行的是 xDoctor 4.8-100.1。
Cause
- 在 xDoctor 更新期间,节点已重新安装或离线。
- 节点被替换,并且新节点 xDoctor 版本与其他节点不一致。
- 使用具有较旧 xDoctor 版本的新节点进行容量扩展
Resolution
强烈建议解决此问题,因为这会导致安装基础的拓扑视图不完整,并且无法识别已知症状。
虽然同步节点是解决方案,但最佳建议是在启用所有症状检测器和自动修复程序的情况下,将所有节点上的 xDoctor 升级到最新版本。在后来的 xDoctor 版本中引入了自动修复器。
请注意,下载 xDoctor 软件包时,这取决于您在 ECS 和 OBS 中的代码版本 — 还要注意以下文件格式:
- ECS(3.8 及更低版本):xDoctor 软件包从 4.x 开始。(示例:4.8-105.0)— ECS 产品支持网页(需要登录才能下载软件包)
- OBS(3.9及以上):xDoctor软件包从 5.x 开始(例如:5.1-105.0) - OBS产品支持网页(需要登录才能下载软件包)
|
要将 xDoctor 升级到最新版本,请按照 KB ECS 中的步骤进行作:OBS: xDoctor:手动升级过程:
请参阅“其他信息”部分中的示例 1,将 xDoctor 升级到最新版本。 |
|
如果将 xDoctor 更新到最新版本有任何限制,我们可以同步本地系统上的最新版本。按照 KB ECS 中的步骤进行作:OBS: xDoctor:手动升级过程:
请参阅“其他信息”部分中的示例 2,以使所有节点的 xDoctor 与最新版本一致。 |
将 xDoctor 升级到最新版本后,确认机架中所有节点上的 xDoctor 版本是统一的:
# sudo xdoctor -s xDoctor Uniform on all nodes: 4.8-105.0.
如果需要上述步骤的任何帮助,请参阅此知识库文章联系 戴尔技术支持 。
Additional Information
以下是解决方案部分提供的示例:
示例 1 — 将 xDoctor 升级到最新版本
确认症状,表明 xDoctor 在所有节点上都不一致 - 以下节点 1-5 在 xDoctor 4.8-102.0 上,而节点 6-10 在 4.8-95.0 上:
# sudo xdoctor -s xDoctor not uniform across all nodes ... Trying xDoctor Resync ... Resync failed: No xDoctor package found for re-installation [4.8-102.0] -> ['169.254.2.1', '169.254.2.2', '169.254.2.3', '169.254.2.4', '169.254.2.5'] [4.8-95.0] -> ['169.254.2.10', '169.254.2.11', '169.254.2.8', '169.254.2.9', '169.254.2.6', '169.254.2.7']
在节点 1 上上传最新版本的 xDoctor 后,将 /home/admin,确认它存在:
# ls -l /home/admin | grep xDoctor -rw-r--r-- 1 admin users 43793804 Apr 14 08:21 xDoctor4ECS-4.8-102.0.noarch.rpm -rw-r--r-- 1 root root 121382804 Oct 9 11:34 xDoctor4ECS-4.8-105.0.noarch.rpm
将 xDoctor 升级到最新版本并启用所有自动修复程序:
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-105.0.noarch.rpm
This new xDoctor RPM has the following Auto Healers:
┌──────────────┐
│ Auto Healers │
└───┬──────────┘
│
│ time_zone = Enabled
│ pmon_crontab_check = Disabled
│ pmon_swapiness_check = Disabled
│ rsyslogd_check = Disabled
│ task_md_cleanup_status = Disabled
│ ntpd_not_running (New) = Disabled
│ cron_not_running (New) = Disabled
│ machines_file_error (New) = Disabled
│ non_uniform_psnt (New) = Disabled
│ racadm_stale_pid (New) = Disabled
│ obj_control_svc_check (New) = Disabled
In order to have them active, they need to be enabled ...
You can do this during this upgrade or later post upgrade via `xdoctor --config`
Would you like to enable (A)ll, only the (N)ew ones or (I)gnore them [I]: A
2025-10-09 11:36:15,663: xDoctor_4.8-102.0 - INFO : User selected to enable all Auto Healers ...
2025-10-09 11:36:15,663: xDoctor_4.8-102.0 - INFO : Local Upgrade (/home/admin/xDoctor4ECS-4.8-105.0.noarch.rpm)
2025-10-09 11:36:15,696: xDoctor_4.8-102.0 - INFO : Current Installed xDoctor version is 4.8-102.0
2025-10-09 11:36:15,712: xDoctor_4.8-102.0 - INFO : Requested package version is 4.8-105.0
2025-10-09 11:36:15,713: xDoctor_4.8-102.0 - INFO : Updating xDoctor RPM Package (RPM)
2025-10-09 11:36:15,935: xDoctor_4.8-102.0 - INFO : - Distribute package
2025-10-09 11:36:17,402: xDoctor_4.8-102.0 - INFO : - Install new rpm package
2025-10-09 11:36:33,562: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: pmon_crontab_check ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: pmon_swapiness_check ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: rsyslogd_check ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: task_md_cleanup_status ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: ntpd_not_running ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: cron_not_running ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: machines_file_error ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: non_uniform_psnt ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: racadm_stale_pid ...
2025-10-09 11:36:33,563: xDoctor_4.8-102.0 - INFO : Enabling Auto Healer: obj_control_svc_check ...
2025-10-09 11:36:33,828: xDoctor_4.8-102.0 - INFO : Auto Healer Settings saved and distributed ...
┌──────────────────────┐
│ Updated Auto Healers │
└───┬──────────────────┘
│
│ time_zone = Enabled
│ pmon_crontab_check = Enabled
│ pmon_swapiness_check = Enabled
│ rsyslogd_check = Enabled
│ task_md_cleanup_status = Enabled
│ ntpd_not_running (New) = Enabled
│ cron_not_running (New) = Enabled
│ machines_file_error (New) = Enabled
│ non_uniform_psnt (New) = Enabled
│ racadm_stale_pid (New) = Enabled
│ obj_control_svc_check (New) = Enabled
2025-10-09 11:36:33,829: xDoctor_4.8-102.0 - INFO : xDoctor successfully updated to version 4.8-105.0
确认 xDoctor 现在在所有节点上是统一的:
# sudo xdoctor -s xDoctor Uniform on all nodes: 4.8-105.0
示例 2 — 使所有节点的 xDoctor 统一为本地系统上的最新版本。
确认症状:并非所有节点上的 xDoctor 都一致 - 以下节点 1、2 和 4 在 xDoctor 4.8-100.1 上,而节点 3 在 4.8-85.0 上:
# sudo xdoctor -s xDoctor not uniform across all nodes ... Trying xDoctor Resync ... Resync failed: No xDoctor package found for re-installation [4.8-85.0] -> ['169.254.1.3'] [4.8-100.1] -> ['169.254.1.4', '169.254.1.2', '169.254.1.1']
在节点 1(最好)、2 或 4 上,确认 xDoctor 4.8-100.1 软件包存在于 /home/admin:
# ls -l /home/admin | grep xDoctor -rw-r--r-- 1 admin users 43793804 Mar 4 08:21 xDoctor4ECS-4.8-99.0.noarch.rpm -rw-r--r-- 1 root root 121382804 Sep 2 11:34 xDoctor4ECS-4.8-100.1.noarch.rpm
重新安装 xDoctor 软件包:
sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-100.1.noarch.rpm --reinstall 2025-10-09 12:24:19,996: xDoctor_4.8-100.1 - INFO : Local Upgrade (/home/admin/xDoctor4ECS-4.8-100.1.noarch.rpm) 2025-10-09 12:24:20,029: xDoctor_4.8-100.1 - INFO : Current Installed xDoctor version is 4.8-100.1 2025-10-09 12:24:20,046: xDoctor_4.8-100.1 - INFO : Requested package version is 4.8-100.1 2025-10-09 12:24:20,046: xDoctor_4.8-100.1 - WARNING : (Re)installing requested xDoctor package ... 2025-10-09 12:24:20,046: xDoctor_4.8-100.1 - INFO : Updating xDoctor RPM Package (RPM) 2025-10-09 12:24:20,176: xDoctor_4.8-100.1 - INFO : - Distribute package 2025-10-09 12:24:21,745: xDoctor_4.8-100.1 - INFO : - Install new rpm package 2025-10-09 12:24:37,095: xDoctor_4.8-100.1 - INFO : xDoctor successfully updated to version 4.8-100.1
确认 xDoctor 现在在所有节点上是统一的:
sudo -i xdoctor -s xDoctor Uniform on all nodes: 4.8-100.1