Bientôt des tutos pour Asterisk ! :)

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 😉

[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 : , , ,

Cfengine 3

Hello 🙂

Aujourd’hui un article un peu particulier car je vais vous parler d’un outil d’administration plutôt pratique que j’utilise depuis peu : Cfengine 3.

Tout d’abord une simple question: aimez vous les tâches répétitives lors d’installations de serveurs, par exemple lors de l’installation de 10 serveurs identiques ? Non j’imagine car le temps passé à ces installations pourrait être utilisé à d’autres tâches d’administration. Pour celà je vais vous présenter un outil dont je me sers depuis quelques temps (et qui manque malheureusement de documentation dans nos chers pays francophones) : CFEngine 3.

 

Donc tout d’abord le principe: cet outil permet de centraliser toutes les configurations de vos serveurs ainsi que de permettre un déploiement rapide de nouveaux services/paquets sur de nouveaux postes en production (par exemple déployer un serveur apache sur 15 serveurs en même temps ne prendra que 30 secondes). L’outil se base sur un concept nommé « Build-Deploy-Manage-Audit » qui signifie que l’outil sait se gèrer lui même et saura se débrouiller pour rester fonctionnel et assurer sa propre maintenance. C’est bien beau vous allez me dire mais comment faire confiance à un programme ? Tout simplement par un paramétrage plutôt bien conçu au niveau de l’outil qui permet de s’assurer un backup de configuration fonctionnelle et passera dessus dès qu’un problème est détecté. En cas de nouvelle « politique » de déploiement l’outil modifiera sa configuration et s’adaptera aux nouvelles directives.

 

Et du coup qu’est ce que ça fait ?

Tout d’abord il faut savoir que l’outil ne possède « presque » pas de limites car il peut agir sur la majorité des applications et configurations système selon ce que vous avez paramétré (il y aura par contre des limitations au niveau de clients Windows) et remplira comme rôles principaux :

  • L’installation de logiciels automatiquement
  • Copies de fichiers entre client/serveur dans les 2 sens
  • Ajout de configurations spécifiques pour certains programmes
  • Exécution de commandes Shell
  • Mises à jour
  • Et bien d’autres utilités …

 

Et comment on configure tout ça ?

Bah justement il n’y à pas grand chose à spécifier si ce n’est les principales informations nécessaires à la configuration, le logiciel agit de façon « intelligente » et arrivera à « deviner » sur quel environnement il est exécuté, quel type d’architecture est utilisé sur le serveur, quelle version d’OS est présente (vous n’aurez pas à vous soucier avec des questions comme « et s’il effectuait un Yum install sur un Debian? ») et autres car le logiciel vous fournit pas loin de 50 détails utilisables dans vos configurations. En termes de fichiers à concevoir je vous en parlerai d’ici pas très longtemps avec un petit tutorial dans notre belle langue de Molière.

 

C’est bien gentil mais niveau sécurité ?

Encore une fois rien à craindre car le programme ne pourra pas recevoir de nouvelles configurations sans votre accord et encore moins si vous ne faites pas partie du réseau local. En terme d’accès via le réseau, un système de chiffrement par clés asymétriques RSA est mis en place au sein du programme et les clés ne sont échangées qu’une fois lors de la synchronisation d’un nouvel équipement.

 

Et pour la distribution sur le réseau ?

Comme dit précédemment les données sont échangées de manière sécurisée par SSL et donc rien à craindre de ce coté là. Maintenant en termes de politiques de déploiement il faut au moins avoir un serveur dédié à la distribution de la politique de déploiement choisie (ce même serveur peut également gérer les versions de vos logiciels présents sur votre parc mais nécessitera l’aide d’un programme comme CVS ou Subversion); ce mêm serveur peut distribuer cette politique à différents hôtes clients voire d’autres serveurs de distribution (uniquement pour des grosses architectures) et enfin sous ces dits-serveurs d’autres clients.

 

Autre chose à savoir ?

Oh que oui car je n’ai fait que dégrossir la « bête » et je vous proposerai d’ici peu un tutorial détaillant la mise en place d’une telle solution avec un petit exercice bien sympa vous verrez 🙂

 

Sur ce je vous dit à bientôt et restez branchés ! 🙂

Ipad 2

Alors que la Keynote vient de se finir, je vais vous faire un petit résumé du nouveau bijou d’Apple : l’iPad 2 ainsi que les nouveautés présentées.

Tout d’abord la fameuse tablette avec comme nouveautés :

– Un nouveau processeur nommé « A5 » avec un double coeur pour plus de puissance.

-Un gyroscope intégré comme pour l’iPhone 4.

– 2 couleurs d’appareils disponibles lors de la sortie, à savoir noir et blanc.

– Un appareil plus fin à savoir 33% de moins.

– Toujours une autonomie de 10h / 1 mois en veille avec cependant plus de performances matérielles.

– Différents accessoires comme un adaptateur HDMI 1080p permettant un double affichage sur un écran externe par fiche HDMI

– 2 caméras permettant de filmer en HD.

65000 apps dispos voire plus lors de la sortie officielle.

IOS 4.3 dont je parlerai plus loin

La date de mise à disposition est le 25 Mars pour la France, un bref aperçu de l’appareil est disponible sur l’Apple store par ici.

Parlons maintenant des Accessoires pour la dite tablette :

– Déjà plus de détails pour l’adaptateur Dock/HDMI à savoir qu’il sera possible de recharger l’iPad par ce connecteur. L’adaptateur supporte également les rotations de l’écran ainsi que les affichages d’applications.

– La protection Smart Cover permettant d’incliner l’appareil dans différentes positions. Cette même protection permet de maintenir l’appareil en veille tant qu’elle est présente sur l’écran et sortir de veille une fois relevée.

Passons maintenant aux nouvelles Apps phares et au système iOS 4.3:

[iOS 4.3]

– iOS 4.3 intégrera un moteur nommé Nitro Engine permettant une utilisation de Safari et du Javascript plus rapidement

– Le système intégrera également iTunes home sharing permettant de partager  le contenu iTunes sur différents appareils tels que des ordinateurs (Macs également hein :p), télévisions, etc.

– Personnal Hotspot permettant de créer un accès vers Internet pour différents appareils et ordinateurs via un iPhone 4.

– iOS 4.3 sera disponible le 11 Mars 2011

[Photobooth]

Ce logiciel de retouche de photos déjà présent sur Mac fera sa venue sur l’iPad 2, différents effets de déformations ainsi que plusieurs autres effets plus artistiques seront manipulables tactilement.

[Facetime]

Le très célèbre Facetime fait son apparition sur l’iPad 2 ce qui donne désormais la possibilité de faire de la visio-conférence entre iPod/iPad/Mac/iPhone. Le mode de basculement de caméra est également présent tout comme sur l’iPhone 4. Enfin l’app ne sera pas par défaut sur l’appareil mais sera récupérable via l’app store (comme pour l’application iBooks)

[iMovie]

Le logiciel de montage vidéo arrive également sur la plate forme pour un prix modéré de 5$ avec possibilité de faire des montages vidéos en HD, de mettre des bandes sons ou narrations ainsi qu’une multitude d’effets ajoutés par glisser-déposer. Il est également possible d’uploader directement les vidéos sur la plupart des plates formes vidéo dispos sur le Web.

[GarageBand]

Garageband arrive en fanfare (c’est le cas de le dire) sur l’iPad avec une version très complète et riche en fonctionnalités. Il est possible de jouer de plusieurs « touch instruments » sans posséder nécessairement des compétences en musique (un système d’instruments pour les non musiciens aideront tous les utilisateurs à apprécier cette app). Différents effets et amplis sont présents dans l’app et permettront d’obtenir différents sons avec les mêmes instruments. Les différents morceaux pourront également être enregistrés et édités (piste par piste pour 8 au total) puis partagés par email ou transférés sur une version Mac. L’app sera dispo le 11 Mars au prix de 5$ et vos enfants pourront enfin jouer de la batterie sans pour autant vous déranger (à l’aide d’un casque bien entendu :p).

Pour ma part j’ai trouvé excellente l’idée de la puce A5 double core qui permet un très beau rendu de plusieurs applications telles qu’Infinity Blade ainsi que les apps telles que Garageband qui me semblent très intéressantes.

Pour finir, une citation de Steve Jobs Himself  ‘2011 sera l’année de l’iPad 2’. A suivre de très près donc 🙂

Étiquettes : , , ,

Asterisk

Un autre de mes « centres d’intérêt » en tant qu’admin reste la VoIP et notamment le système Asterisk avec lequel je travaille maintenant depuis plusieurs mois.
Pour rappel la VoIP est un moyen de communication par la voix passant par le réseau informatique, un des grands dérivés est la ToIP (téléphonie) permettant de passer des appels depuis un système informatique vers un réseau RTC traditionnel.


Concrètement qu’est ce que ça change ?

Tout d’abord les coûts d’une solution téléphonique. Attention cependant car des coûts « cachés » peuvent apparaître si vous vous lancez dans un déploiement d’une telle solution et certains composants ne sont pas spécialement donnés. Sinon la solution en elle même bénéficie de tous les avantages présents sous systèmes Linux (il existe également une version sous Windows mais plus maintenue depuis un bon moment).


Asterisk ?

Asterisk est un IPBX (de l’anglais PBX : Private Branch eXchange) ou pour nos amis français un Autocommutateur Téléphonique Privé (ce qui parle quand même un peu plus :p) développé par Mark Spencer en 1999 et est désormais maintenu par la société Diginum qui propose également 2 certifications professionnelles. Le principal intérêt du logiciel est qu’il est Open Source et donc de nombreux modules peuvent être développés pour ce système (j’ai d’ailleurs pour ma part développé un système d’interface graphique), le tout pouvant à nouveau être redistribué sur le net.
Les fonctionnalités classiques du systèmes sont vraiment nombreuses (une bonne centaine) et je ne citerai donc que les principales :

  • Téléphonie (avec appels internes/externes)
  • Système de messagerie vocale
  • Musiques d’attentes
  • Gestion des status (disponible/occupé/etc)
  • Permissions d’appels par utilisateurs ou services
  • Administration d’appels en temps réel
  • Support de visio-conférences et conf calls (conférences téléphoniques)
  • Standards automatisés
  • Autres fonctions avancées

Différentes fonctions peuvent êtres ajoutés et créées pour améliorer le système (dont je reparlerai très prochainement) telles que la gestion de vos comptes utilisateurs via une base de données, la création d’une IHM pour remplacer la console, etc


Version 1.8

Cette version disponible depuis peu ajoute son lot de nouveautés (là encore je ne citerai que les principales car très nombreuses) :
  • Support du protocole de transport S-RTP avec chiffrement des données transmises
  • Support natif de l’IPv6
  • LTS : cette version bénéficie d’un support à long terme fourni par Diginum, la dernière à avoir bénéficié de cette option était Asterisk 1.4
  • Pour la liste complète des nouveautés je vous recommande d’aller jeter un oeil du coté du SVN


Pour ceux qui voudraient également avoir plus d’informations sur ce logiciel, je ne peux que vous recommander les sites suivants :
  • voip-info.org <= site de référence à tout ce qui approche la VoIP
  • http://www.asterisk-france.org <= communauté francophone de référence
  • livre : Asterisk : The Future of Telephony disponible gratuitement en PDF par ICI.
Pour ma part je vous dit à bientôt pour de prochains tutoriaux sur ce système 😉
Étiquettes : , , ,

Debian 6.x

Pour ce premier article je vais vous parler un peu de la dernière version du système Debian. Ayant déjà un peu travaillé en mode serveur sur du Debian 5 Lenny j’ai voulu tester un peu les dernières nouveautés du système mais cette fois en mode graphique (un comble pour un admin système :p).

Le système étant récent (06/02/2011) il ne pose cependant aucun problème lors de l’installation et après plusieurs jours de tests j’ai toujours autant de plaisir à l’utiliser. Pour ce qui est des nouveautés majeures :
  • Intégration du noyau Linux 2.6.32
  • Serveur graphique X.org 7.5
  • Gestionnaire de bureau et logiciels Gnome 2.30
  • Environnement et logithèque KDE 4.4.5
  • Compilateur GNU GCC 4.4.5
  • Intégration native du support de l’ext4
D’autres petits changements comme la modification de l’écran GRUB font également leurs apparitions.
Pour tous ceux qui voudraient tester ce système je vous recommande d’aller voir sur le site officiel de la fondation :  www.debian.org
Étiquettes : , ,