ECS : ObjectScale : Exécution de scripts d’automatisation de la base de connaissances (pilote automatique)
Summary: Commandes CLI pour exécuter des scripts d’automatisation de la base de connaissances.
Instructions
À partir de xDoctor pour ECS v4.8-104.0, un conteneur xdoctor-ansible est inclus et permet à l’utilisateur d’exécuter des scripts d’automatisation de la base de connaissances à partir de la CLI.
Ansible
Help (Aide)
Présentation
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
Info
Informations actuelles et état du conteneur Ansible xDoctor
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
Mettre à jour
Mise à jour du conteneur Ansible de
xDoctorLe conteneur xDoctor Ansible est intégré dans le package RPM xDoctor. Cela signifie que chaque fois que vous mettez à niveau xDoctor, une nouvelle image de conteneur Ansible peut également être disponible. Une notification s’affiche lorsque l’image chargée peut être remplacée par une nouvelle.
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
Commencer
Démarrage du conteneur Ansible xDoctor
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
Nettoyage
Arrêtez, supprimez et déchargez le conteneur et l’image 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
Pilote automatique
Help (Aide)
Présentation
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
Liste de la base de connaissances
Liste des scripts KB Automation disponibles
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 │
└────────┼──────┴────────────────────────────────────────────────────────────────┴──────────────┘
▀
Identification de la cible
Pour identifier l’adresse IP du nœud NAN, la couleur du rack (nom) ou le nom du VDC à partir de la sortie topologique du système ECS/ObjectScale.
Connectez-vous au nœud actif du rack :
Command :
# ssh master.rack
Exécutez la commande :
# sudo xdoctor --top --vdc
Cette commande affiche la topologie du système ECS, y compris les VDC, les racks et les nœuds.
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
Localisez le datacenter virtuel (VDC) :
- Recherchez la ligne qui commence par :
|- Local VDC - ID:[…] Name:[VDC1]
- Le nom du VDC s’affiche à la fin de la ligne.
Exemple :VDC1
Pour localiser le nom du rack :
- Dans la section VDC, recherchez le rack local :
|- Local RACK - Name:[red] Primary:[169.254.1.1] PSNT:[…]
- La couleur du rack est indiquée par le champ « Name ».
Exemple :red
Identifiez le nœud d’intérêt IP NAN :
- Sous le rack, chaque nœud est répertorié avec son nom et ses adresses 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
Exécution d’un script
KB AutomationDans l’exemple ci-dessous, le script automatisé pour l’article 79798 de la base de connaissances est exécuté sur le nœud 169.254.6.2.
sudo xdoctor autopilot --kb-list
getrackinfoou
getclusterinfoOu les deux
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.
Comportement d’exécution de l’automatisation
Toutes les automatisations sont effectuées au sein d’une session d’écran, et le système n’autorise qu’une seule exécution simultanée à la fois. Si une automatisation est laissée sans surveillance pendant plus d’une heure, la session d’écran est automatiquement abandonnée et ne peut pas être reprise.
Lorsque l’automatisation est lancée pour la première fois, la commande de session d’écran est imprimée sur le terminal. Cela vous permet de vous rattacher à la session si nécessaire, tant que cela se trouve dans la fenêtre d’une heure.
Répertorier et rattacher les commandes :
# sudo screen -ls # sudo screen -r [session_name]
Exemple de plusieurs sessions simultanées :
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
Voir cette vidéo :
ObjectScale : Comment exécuter des scripts d’automatisation de la base de connaissances.
Durée : 00:08:04 (hh :mm :ss)
Lorsqu’ils sont disponibles, les paramètres de langue des sous-titres peuvent être choisis à l’aide de l’icône CC de ce lecteur vidéo.
Vous pouvez également visionner cette vidéo sur YouTube.