Archive

Posts Tagged ‘système’

Puppet

Je vous parlais il y à quelques temps de CFEngine en termes de déploiement automatisé mais j’utilise depuis maintenant 2 bons mois une autre techno de ce genre : Puppet. Il s’agit à nouveau d’un outil dont je ne rappellerai pas trop les concepts principaux qui sont décrits dans l’article CFEngine 3 mais je m’attarderai plus sur les spécificités du programme en lui même.

Intro :

Puppet est un gestionnaire de déploiement de configurations basé sur le langage Ruby; de ce fait un environnement Ruby sera nécessaire pour son bon fonctionnement sur les différents postes à administrer. Le programme en lui même permet les opérations suivantes :

– Installation de paquets automatisée

– Execution de commandes shell

– Copie de fichiers de configuration entre clients/serveur

– Génération de fichiers de configurations spécifiques

– Maintient à jour des systèmes et gestion de versions

– Etc

Certes beaucoup de points communs avec CFE vous allez me dire mais la principale différence que j’ai constatée est que Puppet est bien plus rapide à prendre en main (je ne vais pas non plus trop troller :p) malgré les perfs utilisées par Ruby et que l’on peut utiliser beaucoup de fonctions avancées inexistantes sur CFE.

Fonctionnement :

Puppet fonctionne en mode client/serveur, de ce fait 2 paquets distincts sont disponibles sur les différents repos correspondant à votre distribution (sauf pour Gentoo où les 2 paquets sont liés). Le paquet Puppetmaster comprend le serveur ainsi que les différents outils pour l’administration (gestion des certificats, templates,etc), le client contient quand à lui l’outil de synchronisation et un système de reporting. Les différentes configurations sont basées sur une approche de Ruby et donc certaines fonctions avancées de programmation seront disponibles (tiens on parlerait de langage objet?) telles que les boucles, classes et autres.

Autre chose ?

Oh que oui, le fait que Puppet utilise Ruby permet de développer différents outils afin de simplifier l’utilisation du programme, par exemple CFEngine ne possède pas d’IHM, ce qui peut être problématique, Puppet quand à lui possède différentes interfaces pouvant être liées au système. Il n’y à également pas besoin de mettre en place de serveur web de type apache pour accéder aux interfaces d’administration car Puppet utilisera le serveur Rails intégré à Ruby et ne prendra donc pas de ressources supplémentaires.

Pour finir :

Comme pour CFEngine, Puppet ne possède pas beaucoup de documentation en français, cependant je me suis rédigé quelques « how to » que je mettrai à votre disposition via le blog assez rapidement (bien que j’aie des deadlines assez short en ce moment). Cependant le site de PuppetLabs reste très bien fourni en documentation en anglais si jamais vous voulez déjà jeter un coup d’oeil 😉

Pour ma part je vous dit à bientôt pour de nouveaux articles avec un délai un peu plus rapproché entre les publications 😉

Publicités

[Tuto] Déplacer partition /home

Lors de l’installation de mon poste de travail j’ai fait une installation classique de Debian tout en faisant une petite table de partitions toute simple, j’ai donc laissé de coté quelques Go car le disque dur faisant 1To je me suis dit que je n’aurai pas utilité de tout cet espace tout de suite.Manque de pot comme je fais pas mal de virtualisation en ce moment j’ai vite vu mon espace /home se remplir assez rapidement. J’ai donc pas mal regardé sur le net comment augmenter l’espace disque mais pas grand chose de concluant j’ai donc procédé à un déménagement complet de mon dossier /home vers une partition plus grande.

Attention: Cette méthode nécessite pas mal de concentration car une mauvaise manipulation pourrai vous faire perdre des données voir rendre votre système instable. Gardez donc bien en tête que ces opérations ne sont pas à faire à la légère.

= Opérations en mode graphique =

Tout d’abord créer une nouvelle partition sur votre disque (pour peu qu’il reste de la place dessus) avec un outil comme gparted par exemple, pour celà faire un clic droit sur l’espace libre, dimensionner votre future partition, lui donner un nom provisoire et lui donner le même système de fichiers que votre /home actuel et valider la création. Monter ensuite votre partition via un outil comme l’utilitaire de disque sous debian et récupérer son adresse de montage ou via les commandes suivantes :

dans /media par exemple:

mkdir /newhome

mount /dev/sdaX /media/newhome

Ou X sera le numéro de la partition créée plus haut.

= Commandes via un terminal root =

Les commandes suivantes devront être lancées en tant qu’administrateur (root)

Copier vos données par la commande cp -av /home/. /<point_de_montage_de_votre_partition>/

N’oubliez pas le « . » dans la ligne de commande car la commande de copie voudra copier le répertoire home en lui même, chose que nous ne voulons pas faire.

Si jamais vous possèdez des problèmes de droits lors de la copie, pensez à faire un chtit Chmod -R 🙂

Ouvrir un second terminal et taper la commande « ls /dev/disk/by-uuid », plein de caractères bizarres vont s’afficher, ce sont les identifiants des partitions montées ou non, dans votre premier terminal ouvrez le fichier /etc/fstab avec votre éditeur de texte favori. Comparez maintenant votre fstab avec le résultat de votre autre terminal, votre nouvelle partition ne devant pas apparaître dans le fstab mais dans votre LS, récupérez son numéro et notez-le quelque part, nous en auront besoin assez vite.

De retour dans le fichier fstab, ajoutez une nouvelle ligne définissant votre /home (n’effacez pas l’ancienne ligne mais commentez la en mettant un # devant au cas où; en cas de défaillance vous pourrez toujours remonter l’ancienne partition durant cette manip’) de la façon suivante, je vous met mon uuid mais dans votre fstab mettez bien le votre 😀

#Nouvelle partition home
UUID=f7854682-ffd3-4fa4-9523-b37d19ad5348 /home           ext3    defaults         0       2

Pensez bien à commenter votre ancienne ligne /home, validez et quittez votre éditeur de texte. Il ne vous reste maintenant plus qu’a redémarre votre poste pour que les modification soient prises en compte.

Et voilà pour ce premier tuto, si vous avez pas eu de problème lors du montage de votre nouveau /home vous pouvez toujours supprimer l’ancien histoire de gagner un peu de place 🙂

Étiquettes : , , ,