22/01/08 v Outils d'administration à distance des serveurs Linux. version du 22/01/08
22/01/08 v Historique Besoins apparus sur de précédent projet : Centaines de serveurs Recette Configurations spécifiques Mises à jour
22/01/08 v Objectifs s'adapter aux différents matériels, répondre aux besoins de tous les projets, être facilement utilisable par des exploitants.
22/01/08 v Fonctionnement de l’administration à distance pilotée à partir du serveur de déploiement Répertoires du serveur de déploiement: -Fichiers des adresses IPdes serveurs à administrer /var/dgi/fichiers-ip/ -Logs/stats d’exécution des outils global-tools /var/dgi/logs/global-tools/ -Fichiers à déployer sur les serveurs à administrer /var/cache/deploiement/ ADM-01 WEB-01 Serveur de déploiment Serveurs à administrer WEB-02 WEB-03 APP-01 APP-02 APP-03 APP-04 APP-05 APP-06 L'administration à distance repose sur le serveur de déploiement qui lance une procédure sur un ou plusieurs serveur(s) à partir d'un script, qui attend en argument un nom de fichier contenant la liste des adresses IP des serveurs à administrer.
22/01/08 v Deux modes opératoires au niveau du serveur de déploiement Serveur de déploiement sans usermanager (sans initialisation des habilitations) global-tools (en tant que root) ADM-01 APP-01 APP-02 APP-03 user serveur de déploiement: root user serveurs à administrer: root Serveur de déploiement avec usermanager (avec initialisation des habilitations) global-tools (en tant que root/admin sys/admin appli/comptes applicatifs) ADM-01 APP-01 APP-02 APP-03 user serveur de déploiement: admaxxxx user serveurs à administrer: admaxxxx
22/01/08 v Périmètres des outils d'administration à distance: “global-tools” Les outils "globals-tools" englobent tous les outils de base (test ping et ssh,...) utilisés par l’administrateur système pour gérer plusieurs serveurs Linux distants. Les outils "globals-tools“ peuvent également servir à lancer à distance d’autres outils tels que : “usermanager”: outil de gestion des utilisateurs “confmanager”: outil de configuration des serveurs au niveau système, au niveau de la configuration système liées à l’application, au niveau de la personnalisation applicative.
22/01/08 v Modes de fonctionnement Action sur plusieurs serveurs distants (script avec numéro d'ordre préfixé par le mot "global") Action sur le serveur local (script sans numéro d'ordre sans préfixe) [root] #./nn_global_action.sh FICHIER_IP option Execution sur le serveur action [ OK ] Execution sur le serveur action [ERREUR] [root] #./action.sh option Resultat Valeur 1 : Valeur 2 :
22/01/08 v Liste des outils “global-tools” (1/4) Les outil "globals-tools" de mise en place de l’environnement Le script 01_global_ping_ssh.sh Il permet de lancer un ping et/ou un test de connection SSH. Le script 02_global_ssh_key.sh Il permet de copier la clef SSH public du serveur d’administration sur les serveurs à administrer. Les outils "globals-tools" pour obtenir l'état des serveurs Le script 10_global_servers_list.sh Il permet d'afficher la liste des serveurs en fonction du hostname, du master.release ou du master.version. Le script 11_global_servers_status.sh Il permet d'afficher l'état des serveurs. Il renvoie des infos sur le système, le socle, le kernel, la JVM, Apache, Tomcat et JBoss.
22/01/08 v Liste des outils “global-tools”(2/4) L’outil "globals-tools" pour effectuer un diagnostique Le script 20_global_memory.sh Il permet d'obtenir des informations sur la mémoire occupée par les processus en cours de fonctionnement.
22/01/08 v Liste des outils “global-tools”(3/4) Les outils "globals-tools" pour configurer des serveurs Le script 31_global_install_rpm.sh Il permet d’installer un RPM sur des serveurs distants. Le script 32_global_run_script.sh Il permet d’exécuter un script sur des serveurs distant. Le script 33_global_copy_file.sh Il permet de copier un fichier sur des serveurs distant. Autre possibilité: Le script 90_global_exec.sh Il permet d'exécuter n'importe qu'elle commande shell passée en argument.
22/01/08 v Liste des outils “global-tools”(4/4) Les outils "globals-tools" pour arrêter et redémarrer des serveurs Le script 98_global_reboot.sh Il permet de redémarrer les serveurs. Le script 99_global_shutdown.sh Il permet d’arrêter les serveurs.
22/01/08 v Fichiers de logs générés Les logs se trouvent dans /var/dgi/logs/global-tools/ Fichier contenant le résultat d'exécution d'un script (*.csv) Fichier contenant les logs d'exécution d'un script (*.log) Fichier contenant les statistiques d'exécution d'un script (*.stat) Les fichiers de statistiques sont de la forme comme indiquée ci-dessous: x.y.z.t;status(OK,KO);début_exec(aaaa/mm/jjhh:mm:ss):fin_exec(aaaa/mm/jj_hh:mm:ss)
22/01/08 v Exemples d’utilisation des outils (1/2) Test ping des serveurs Test connection SSH Copie de clef SSH sur les serveurs à administrer [amdxxxxx] # 01_global_ping_ssh.sh projet1.1 IP_TEST nossh Serveur [ OK ] Serveur [ OK ] Le test s’effectue sur les interfaces du réseau d’admin (eth0) Test OK avec ou sans saisie de mot de passe. Test KO: port 22 non ouvert Seulement si le test de connection SSH oblige la saisie du mot de passe [admxxxxx] # 01_global_ping_ssh.sh projet1.1 IP_TEST noping Serveur [ OK ] Serveur Password: [ OK ] [admxxxxx] # 02_global_ssh_key.sh projet1.1 IP_TEST_KO copy
22/01/08 v Exemples d’utilisation des outils (2/2) Configuration système liée à une application Création du compte d'administration applicatif Redémarrage de service [admxxxxx] # 90_global_exec.sh projet1.1 IP_TEST “sudo /usr/local/dgi/config/confmanager/confmanager.sh appconf-aaaa install partial I01” [admxxxxx] $ 90_global_exec.sh projet1.1 IP_TEST "sudo /usr/local/dgi/usermanager/usermanager.sh add admxxx YYYY" Exemple: module appconf d’une application AAAA Exemple: compte d’administration applicatif YYYY Exemple: service Web Apache relancé par l’administrateur applicatif [admxxxx] $ 90_global_exec.sh projet1.1 IP_MAP_TEST "sudo /sbin/service httpd restart"
22/01/08 v Questions ?
22/01/08 v Informations complémentaires sur les outils d’administration ftp://ftp-socles.appli.dgi/pub/systoolsDGI/ sur les règles de nommages applicatives ftp://ftp-socles.appli.dgi/pub/Normes/Comptes_utilisateurs/ sur les règles de nommages des hostnames ftp://socles.appli.dgi/pub/Normes/Hostnames/ sur le socle Oracle ftp://socles.appli.dgi/pub/socles_oracle/