ECS:ObjectScale:如何執行 KB 自動化指令檔 (Auto Pilot)
Summary: 執行 KB 自動化指令檔的 CLI 命令。
Instructions
從適用於 ECS 的 xDoctor 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
KB 清單
可用的 KB 自動化指令檔清單
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 名稱 。
連接至機架的主動節點:
命令:
# 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 名稱會顯示在行結尾。
範例:VDC1
若要找出機架名稱:
- 在 VDC 區段下,找到 本機機架:
|- Local RACK - Name:[red] Primary:[169.254.1.1] PSNT:[…]
- 機架顏色由「名稱」欄位所指示。
範例: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 (小時:分鐘:ss)
當可用時,您可以使用此影像播放器上的 CC 圖示來選擇隱藏式輔助字幕 (字幕) 語言設定。
您也可以在 YouTube 上觀看此影片。