Outils d'administration à distance des serveurs Linux. version du 22/01/08
description
Transcript of Outils d'administration à distance des serveurs Linux. version du 22/01/08
22/01/08 v 1.6-4 1
Outils d'administration à distance des serveurs Linux.
version du 22/01/08
22/01/08 v 1.6-4
Historique
Besoins apparus sur de précédent projet :
• Centaines de serveurs
• Recette
• Configurations spécifiques
• Mises à jour
22/01/08 v 1.6-4 3
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 1.6-4 4
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 1.6-4 5
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 1.6-4 6
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 1.6-4 7
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 optionExecution sur le serveur 192.168.10.230 action [ OK ]Execution sur le serveur 192.168.10.231 action [ERREUR]
[root] # ./action.sh optionResultatValeur 1 :Valeur 2 :
22/01/08 v 1.6-4 8
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 1.6-4 9
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 1.6-4 10
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 1.6-4 11
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 1.6-4 12
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 1.6-4 13
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 nosshServeur 192.168.10.238 [ OK ]Serveur 192.168.10.239 [ 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 nopingServeur 192.168.10.238 [ OK ]Serveur 192.168.10.239 [email protected]'sPassword:[ OK ]
[admxxxxx] # 02_global_ssh_key.sh projet1.1 IP_TEST_KO copy
22/01/08 v 1.6-4 14
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 1.6-4
Questions ?
22/01/08 v 1.6-4
Informations complémentaires
sur les outils d’administration ftp://ftp-socles.appli.dgi/pub/systoolsDGI/
sur les règles de nommages applicativesftp://ftp-socles.appli.dgi/pub/Normes/Comptes_utilisateurs/
sur les règles de nommages des hostnamesftp://socles.appli.dgi/pub/Normes/Hostnames/
sur le socle Oracleftp://socles.appli.dgi/pub/socles_oracle/