ECS:ObjectScale:如何运行 KB 自动化脚本 (Auto Pilot)
Summary: 用于运行 KB 自动化脚本的 CLI 命令。
Instructions
从 xDoctor for ECS v4.8-104.0 开始,包含一个 xdoctor-ansible 容器,允许用户从 CLI 运行 KB 自动化脚本。
Ansible
帮助
概览
admin@provo-gen3-cyan:~> sudo xdoctor ansible --help ┌────────────────────────────────┐ │ xDoctor Ansible Container Help │ └────────────────────────────────┘ usage: xdoctor ansible [-h] [--info] [--start] [--cleanup] [--update] optional arguments: -h, --help show this help message and exit --info Current Info of the xDoctor Ansible Container --start Start the xDoctor Ansible Container --cleanup Stop, Remove and Unload the xDoctor Ansible Container --update Update the xDoctor Ansible Container
信息
xDoctor Ansible 容器的当前信息和状态
admin@provo-gen3-cyan:~> sudo xdoctor ansible --info
Note: xdoctor/ansible image is outdated, please use `sudo xdoctor ansible --update` ...
┌────────────────────────────────┐
│ xDoctor Ansible Container Info │
└───┬────────────────────────────┘
│ Latest image = /opt/emc/xdoctor/repo/xdoctor-ansible_3.0.0-1105.4c5593a9.xz
│ Latest version = 3.0.0-1105.4c5593a9
│ Loaded image = c8a434239326
│ Loaded version = 2.9.0-1078.fa1dcdcb
│ Container = RUNNING
│ Status = RUNNING
更新
更新 xDoctor Ansible 容器
xDoctor Ansible 容器内置在 xDoctor RPM 软件包中。这意味着每次升级 xDoctor 时,可能还会有一个新的 Ansible 容器映像可用。当加载的映像可以通过新映像更新时,将显示通知。
admin@provo-gen3-cyan:~> sudo xdoctor ansible --info
Note: xdoctor/ansible image is outdated, please use `sudo xdoctor ansible --update` ...
┌────────────────────────────────┐
│ xDoctor Ansible Container Info │
└───┬────────────────────────────┘
│ Latest image = /opt/emc/xdoctor/repo/xdoctor-ansible_3.0.0-1105.4c5593a9.xz
│ Latest version = 3.0.0-1105.4c5593a9
│ Loaded image = c8a434239326
│ Loaded version = 2.9.0-1078.fa1dcdcb
│ Container = RUNNING
│ Status = RUNNING
admin@provo-gen3-cyan:~> sudo xdoctor ansible --update
Ansible Update ...
Successfully stopped, removed and unloaded the xdoctor-ansible container/image
The xdoctor-ansible container is not running. Starting it ...
admin@provo-gen3-cyan:~> sudo xdoctor ansible --info
┌────────────────────────────────┐
│ xDoctor Ansible Container Info │
└───┬────────────────────────────┘
│ Latest image = /opt/emc/xdoctor/repo/xdoctor-ansible_3.0.0-1105.4c5593a9.xz
│ Latest version = 3.0.0-1105.4c5593a9
│ Loaded image = 77928ed0705e
│ Loaded version = 3.0.0-1105.4c5593a9
│ Container = RUNNING
│ Status = RUNNING
开始
启动 xDoctor Ansible 容器
admin@provo-gen3-cyan:~> sudo xdoctor ansible --start
Ansible Start ...
The xdoctor-ansible container is not running. Starting it ...
admin@provo-gen3-cyan:~> sudo xdoctor ansible --info
┌────────────────────────────────┐
│ xDoctor Ansible Container Info │
└───┬────────────────────────────┘
│ Latest image = /opt/emc/xdoctor/repo/xdoctor-ansible_3.0.0-1105.4c5593a9.xz
│ Latest version = 3.0.0-1105.4c5593a9
│ Loaded image = 77928ed0705e
│ Loaded version = 3.0.0-1105.4c5593a9
│ Container = RUNNING
│ Status = RUNNING
清理
停止、移除和卸载 xDoctor Ansible 容器和映像。
admin@provo-gen3-cyan:~> sudo xdoctor ansible --cleanup
Ansible Cleanup ...
Successfully stopped, removed and unloaded the xdoctor-ansible container/image
admin@provo-gen3-cyan:~> sudo xdoctor ansible --info
┌────────────────────────────────┐
│ xDoctor Ansible Container Info │
└───┬────────────────────────────┘
│ Latest image = /opt/emc/xdoctor/repo/xdoctor-ansible_3.0.0-1105.4c5593a9.xz
│ Latest version = 3.0.0-1105.4c5593a9
│ Loaded image = NO_IMAGE_LOADED
│ Loaded version = NO_IMAGE_LOADED
│ Container = NO_CONTAINER
│ Status = NOT_LOADED
自动驾驶
帮助
概览
admin@ecsnode1:~> sudo xdoctor autopilot --help
usage: xdoctor autopilot [-h] [--kb KB] [--kb-list]
[--target-node TARGET_NODE] [--target-vdc TARGET_VDC]
[--target-rack TARGET_RACK] [--debug]
optional arguments:
-h, --help show this help message and exit
--kb KB KB number
--kb-list List of available KB automations
--target-node TARGET_NODE
Target Node
--target-vdc TARGET_VDC
Target VDC
--target-rack TARGET_RACK
Target Rack
--debug Debug Mode
知识库列表
可用的知识库自动化脚本列表
admin@provo-gen3-cyan:~> sudo xdoctor autopilot --kb-list
╔═════════════════════════════════╗
║ Available KB Automation Scripts ║
╚═════════════════════════════════╝
╓────────────────╖
║ CUSTOMER Level ║
╙────────┬───────╜
┌────────┼──────┬──────────┬───────────────────┐
│ KB Nr. │ Ver. │ KB Title │ Supported Targets │
└────────┼──────┴──────────┴───────────────────┘
┌────────┼──────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────┐
│ 64221 │ 3.0 │ ECS: xDoctor: RAP081: SymptomCode: 2048: NTP daemon not running or All servers not suitable for synchronization found │ --target-rack │
└────────┼──────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬──────────────────────────────────────────────────────────────────────────┬───────────────┐
│ 79798 │ 3.0 │ ECS: xDoctor: RAP007: SymptomCode: 2028: Root File System Low Disk Space │ --target-node │
└────────┼──────┴──────────────────────────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬──────────────────────────────────────────────────────────────────┬──────────────────────────────────────────┐
│ 81550 │ 3.0 │ ECS: xDoctor: RAP059: Detected rsyslogd is not running on a node │ --target-node --target-rack --target-vdc │
└────────┼──────┴──────────────────────────────────────────────────────────────────┴──────────────────────────────────────────┘
┌────────┼──────┬────────────────────────────────────────────────────────────────────────────────┬───────────────┐
│ 203562 │ 3.0 │ ECS: xDoctor RAP145: rackServiceMgr is using memory above configured threshold │ --target-rack │
└────────┼──────┴────────────────────────────────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬──────────────────────────────────────────────────────────────────────────┬──────────────────────────────────────────┐
│ 205933 │ 3.0 │ ECS: xDoctor: RAP137: Total swap memory inconsistent across the ECS rack │ --target-node --target-rack --target-vdc │
└────────┼──────┴──────────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────┘
┌────────┼──────┬──────────────────────────────────────────────────────────────────────────────────────┬──────────────────────────────────────────┐
│ 209779 │ 3.0 │ ECS High load observed on ECS nodes/performance issues observed in 3.6.x/3.7.x/3.8.x │ --target-node --target-rack --target-vdc │
└────────┼──────┴──────────────────────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────┘
┌────────┼──────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────┐
│ 20987 │ 3.0 │ ECS: How to clear svc tools cache from reporting old values; svc tools are reporting old values when executing commands │ --target-node │
└────────┼──────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬───────────────────────────────────────────────────────────────────────────────────┬──────────────┐
│ 35068 │ 3.0 │ ECS: xDoctor: RAP040: The /root/MACHINES files are not consistent across the rack │ --target-vdc │
└────────┼──────┴───────────────────────────────────────────────────────────────────────────────────┴──────────────┘
┌────────┼──────┬──────────────────────────────────────────────────────────┬───────────────┐
│ 39838 │ 3.0 │ ECS: xDoctor: RAP073: Switch Connection Failure detected │ --target-rack │
└────────┼──────┴──────────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬───────────────────────────────────────────────────────────────┬───────────────┐
│ 50341 │ 3.0 │ ECS xDoctor: One or More Network Interface is Down or Missing │ --target-node │
└────────┼──────┴───────────────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬───────────────────────────────────────────────────────────────────────────────┬──────────────┐
│ 224905 │ 3.0 │ ECS: Compliance Check failed with Port 13000 is not in allowed udp ports list │ --target-vdc │
└────────┼──────┴───────────────────────────────────────────────────────────────────────────────┴──────────────┘
┌────────┼──────┬──────────────────────────────────────────────────┬───────────────┐
│ 182750 │ 3.0 │ ECS: Gen3: ipmitool fails to query the BMC/iDRAC │ --target-node │
└────────┼──────┴──────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────┐
│ 78420 │ 3.0 │ ECS: xDoctor RAP092: slave-X or pslave-X is not communicating with one or more ToR switches after a node reboot │ --target-node │
└────────┼──────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬────────────────────────────────────────┬───────────────┐
│ 19614 │ 3.0 │ ECS: How to add or remove a DNS server │ --target-rack │
└────────┼──────┴────────────────────────────────────────┴───────────────┘
┌────────┼──────┬──────────────────────────────────────────────────────┬───────────────┐
│ 20769 │ 3.0 │ ECS: How to setup SNMP v2c and v3 monitoring support │ --target-rack │
└────────┼──────┴──────────────────────────────────────────────────────┴───────────────┘
┌────────┼──────┬─────────────────────────────────────────┬───────────────┐
│ 273244 │ 3.0 │ ECS: How to add or remove an NTP server │ --target-rack │
└────────┼──────┴─────────────────────────────────────────┴───────────────┘
┌────────┼──────┬────────────────────────────────────────────────────────────────┬──────────────┐
│ 201555 │ 3.0 │ ECS: RAP075 Application reporting 403 error due to time skewed │ --target-vdc │
└────────┼──────┴────────────────────────────────────────────────────────────────┴──────────────┘
▀
识别目标
从 ECS/ObjectScale 系统拓扑输出中识别 NAN 节点 IP、 机架颜色(名称)或 VDC 名称 。
连接到机架的活动节点:
Command:
# ssh master.rack
运行以下命令:
# sudo xdoctor --top --vdc
此命令显示 ECS 系统拓扑,包括 VDC、机架和节点。
admin@ecsnode1:~> sudo xdoctor --top --vdc ECS | |- CLOUD - ID:[21a7111a45e4a9dbca62e0fee1749bbb] | |- Local VDC - ID:[8af5b9c3-9c0c-43b5-9402-14d181ade5bf] Name:[VDC1] |- Local SP - ID:[52576f30-f8f3-493a-9999-6fee4494f53b] Name:[SP1] | | | |- Local RACK - Name:[red] Primary:[169.254.1.1] PSNT:[CKM0000000000] SWID:[CKM0000000000] | | | | | |- Node 1, [ provo], NAN.IP:[ 169.254.1.1], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] | | |- Node 2, [ sandy], NAN.IP:[ 169.254.1.2], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] | | |- Node 3, [ orem], NAN.IP:[ 169.254.1.3], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] | | |- Node 4, [ ogden], NAN.IP:[ 169.254.1.4], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] | | |- Node 5, [ layton], NAN.IP:[ 169.254.1.5], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] | | |- Node 6, [ logan], NAN.IP:[ 169.254.1.6], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] | | |- Node 7, [ lehi], NAN.IP:[ 169.254.1.7], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] | | |- Node 8, [ murray], NAN.IP:[ 169.254.1.8], Public.IP:[ 0.0.0.0], DNS:[ ], NTP:[ ] Note: 'xdoctor --top --details' displays detailed VDC -and Rack information
找到虚拟数据中心 (VDC):
- 查找以以下内容开头的行:
|- Local VDC - ID:[…] Name:[VDC1]
- VDC Name显示在行的末尾。
示例:VDC1
要查找机架名称,请执行以下作:
- 在 VDC 部分下,找到 Local RACK:
|- Local RACK - Name:[red] Primary:[169.254.1.1] PSNT:[…]
- 机架颜色由“Name”字段指示。
示例:red
识别感兴趣的 NAN IP 节点:
- 在机架下,列出了每个 节点 及其名称和 IP:
|- Node 1, [ provo], NAN.IP:[ 169.254.1.1], Public.IP:[ 0.0.0.0 ] |- Node 2, [ sandy], NAN.IP:[ 169.254.1.2],
KB
运行 KB 自动化脚本
在下面的示例中,KB 79798 的自动化脚本在节点 169.254.6.2 上执行。
sudo xdoctor autopilot --kb-list
getrackinfo或
getclusterinfo或两者兼而有之
admin@provo-gen3-cyan:~> sudo xdoctor autopilot --kb=79798 --target-node=169.254.6.2 ... [Prompt for acknowledgement] ******************************************************************************* ******************************************************************************* This Automated Knowledge Base (KB) will identify and remove frequently encountered files from the ObjectScale and ECS, aiming to safely reclaim space in the root file system. To proceed, you can review or delete the files on the system. Would you like to proceed with the steps by typing 'Yes' or 'Y', or skip the review and deletion actions by typing 'No' or 'N' ******************************************************************************* ******************************************************************************* Yes ... Status: PASS Time Elapsed: 0h 1m 5s Debug log: /tmp/autopilot/log/autopilot_79798_20250623_123509.log Message: Before cleanup available space: 220G used percentage: 50%. After cleanup available space: 240G / used percentage: 46%. Space reclaimed: 20.0G.
自动化执行行为
所有自动化作都在 一个屏幕会话中执行,并且系统一次只允许 一个并发执行 。如果自动化处于无人看管的状态超过 1 小时,屏幕会话 将自动中止 且无法恢复。
最初启动自动化时, 屏幕会话命令将打印到终端。这允许您在需要时 重新连接到会话 ,只要它在 1 小时窗口内即可。
列出并重新连接命令:
# sudo screen -ls # sudo screen -r [session_name]
多个并发会话的示例:
admin@ecsnode1:~> sudo xdoctor autopilot --kb 79798 --target-node 169.254.1.1 Checking for existing screen sessions... Starting screen session 'autopilot_kb_79798_20250625_175515'... Screen session 'autopilot_kb_79798_20250625_175515' started successfully. Attaching to screen session 'autopilot_kb_79798_20250625_175515'... Using /etc/ansible/ansible.cfg as config file This Autopilot Automation was blocked because the maximum number of concurrent executions (1) has been reached. Please try again later. [screen is terminating] admin@ecsnode1:~>
Additional Information
请参阅此视频:
ObjectScale:如何运行 KB 自动化脚本。
持续时间:00:08:04 (hh:mm:ss)
如果可用,可以使用此视频播放器上的 CC 图标选择隐藏式字幕(字幕)语言设置。
您也可以在 YouTube 上观看此视频。