160 likes | 279 Views
Outils d'administration à distance des serveurs Linux. version du 22/01/08. Historique. Besoins apparus sur de précédent projet : Centaines de serveurs Recette Configurations spécifiques Mises à jour. Objectifs. s'adapter aux différents matériels,
E N D
v 1.6-4 Outils d'administration à distance des serveurs Linux. version du 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
v 1.6-4 Objectifs • s'adapter aux différents matériels, • répondre aux besoins de tous les projets, • être facilement utilisable par des exploitants.
v 1.6-4 Serveurs à administrer WEB-01 WEB-02 WEB-03 Serveur de déploiment APP-01 ADM-01 APP-02 APP-03 APP-04 APP-05 APP-06 Fonctionnement de l’administration à distance pilotée à partir du serveur de déploiement 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. • 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/
v 1.6-4 user serveurs à administrer:root APP-01 ADM-01 APP-02 APP-03 user serveur de déploiement: root user serveurs à administrer:admaxxxx APP-01 ADM-01 APP-02 APP-03 user serveur de déploiement:admaxxxx 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) • Serveur de déploiement avec usermanager (avec initialisation des habilitations) • global-tools (en tant que root/admin sys/admin appli/comptes applicatifs)
v 1.6-4 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.
v 1.6-4 Modes de fonctionnement • Action sur plusieurs serveurs distants (script avec numéro d'ordre préfixé par le mot "global") [root] # ./nn_global_action.sh FICHIER_IP option Execution sur le serveur 192.168.10.230 action [ OK ] Execution sur le serveur 192.168.10.231 action [ERREUR] • Action sur le serveur local (script sans numéro d'ordre sans préfixe) [root] # ./action.sh option Resultat Valeur 1 : Valeur 2 :
v 1.6-4 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.
v 1.6-4 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.
v 1.6-4 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.
v 1.6-4 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.
v 1.6-4 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 destatistiques 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)
v 1.6-4 Exemples d’utilisation des outils (1/2) • Test ping des serveurs Le test s’effectue sur les interfaces du réseau d’admin (eth0) [amdxxxxx] # 01_global_ping_ssh.sh projet1.1 IP_TEST nossh Serveur 192.168.10.238 [ OK ] Serveur 192.168.10.239 [ OK ] • Test connection SSH Test OK avec ou sans saisie de mot de passe. Test KO: port 22 non ouvert [admxxxxx] # 01_global_ping_ssh.sh projet1.1 IP_TEST noping Serveur 192.168.10.238 [ OK ] Serveur 192.168.10.239 admxxxx@192.168.10.239's Password: [ OK ] • Copie de clef SSH sur les serveurs à administrer Seulement si le test de connection SSH oblige la saisie du mot de passe [admxxxxx] # 02_global_ssh_key.sh projet1.1 IP_TEST_KO copy
v 1.6-4 Exemples d’utilisation des outils (2/2) • Configuration système liée à une application Exemple: module appconf d’une application AAAA [admxxxxx] # 90_global_exec.sh projet1.1 IP_TEST “sudo/usr/local/dgi/config/confmanager/confmanager.sh appconf-aaaa install partial I01” • Création du compte d'administration applicatif Exemple: compte d’administration applicatif YYYY [admxxxxx] $ 90_global_exec.sh projet1.1 IP_TEST "sudo /usr/local/dgi/usermanager/usermanager.sh add admxxx YYYY" • Redémarrage de service Exemple: service Web Apache relancé par l’administrateur applicatif [admxxxx] $ 90_global_exec.sh projet1.1 IP_MAP_TEST "sudo /sbin/service httpd restart"
Questions ? 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 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/ v 1.6-4