SystemImager

Fiche logiciel validé
  • Création ou MAJ importante : 05/03/12
  • Correction mineure : 02/01/14
  • Rédacteur de la fiche : Romaric David - Univ Strasbourg - Direction Informatique - Pôle HPC (Université de Strasbourg)
  • Relecteur(s) : Teresa Gomez-Diaz (LIGM)
  • Responsable thématique : Maurice Libes (OSU Institut Pytheas - UMS 3470 CNRS)
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes :

SystemImager : déploiement automatique et mise à jour de systèmes Linux

Description
Fonctionnalités générales

SystemImager permet d'automatiser l'installation et la mise à jour d'un parc de machines tournant sous systèmes Linux. Il s'apparente à un logiciel de clonage pour systèmes Linux. SystemImager s'appuie sur "rsync" et travaille au niveau "fichier" et non pas au niveau "bloc disque". Les installations d'images se font totalement automatiquement via le réseau avec les protocoles pxe et tftp.

SystemImager fournit un ensemble de scripts permettant de créer une image de base à partir d'un PC de référence (appelé le golden client) et de la déployer sur d'autres PC.

Une image de base est un système Linux avec toutes ses personnalisations (configuration, logiciels non packagés, ...) réalisée sur une machine de référence (le "golden client").
À l'aide des scripts fournis par SystemImager, on peut déployer cette image de manière automatique sur un ensemble d'autres PC, qui peuvent être identiques ou pas. En effet Systemimager permet d'adapter les images à des machines spécifiques, en décrivant les différences entre l'image "de base" et celle devant être installée sur une machine donnée.

Le déploiement des images peut être réalisé en mode Multicast ou avec le protocole Bittorrent ce qui permet de déployer "n" images quasiment simultanément dans un temps dépassant à peine celui de l'installation d'un seul PC.

Les commandes de base de SystemImager permettent :
- de créer l'image de base sur le PC de référence (si_prepareclient)
- d'aspirer le système de référence du "golden client" sur un serveur d'installation (si_getimage)
- de créer automatiquement le script d'installation de cette image
- d'associer un nom de machine à un script (si_addclient)
- de configurer pxe pour diriger l'action à entreprendre lors du prochain démarrage d'une machine : installation réseau ou boot local (si_mkclientnetboot)
- de mettre à jour l'image du système de référence sur le serveur d'installation (si_updateclient)
- de mettre à jour sans ré-installation, le système installé sur les machines à partir de l'image de référence disponible sur le serveur

L'accès à distance aux machines par IPMI n'est pas pris en charge par systemImager, il faut réaliser l'intégration soi-même.

Autres fonctionnalités
  • Déploiement des images avec les protocoles Multicast ou Bittorrent. Des "benchmarks" montrent qu'on peut déployer plusieurs centaines de noeuds en 15 minutes sur un réseau gigabits.

  • SystemImager propose une interface graphique pour surveiller l'installation des PC clients : http://wiki.systemimager.org/index.php/Monitoring

  • Gestion des variantes systèmes via la notion de cluster

Interopérabilité
  • SystemImager travaille avec rsync au niveau "fichier" et fonctionne avec tous les systèmes Linux sur architecture x86-64.
Contexte d'utilisation dans mon laboratoire/service
  • SystemImager est fréquemment utilisé dans le déploiement de noeuds dans les clusters de calcul : nous l'utilisons au Méso-centre de calcul de l'Université de Strasbourg (http://hpc.unistra.fr), gestion de 130 machines, 1 image de référence et 2 variantes.

Nous utilisons beaucoup la mise à jour des systèmes en ligne, sans ré-installation de ceux-ci.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • SystemImager ne fonctionne qu'avec des système Linux. Il ne sert pas à déployer des systèmes Windows

  • SystemImager nécessite de configurer des serveurs complémentaires pour fonctionner correctement comme pxe, tftp, dhcp, dns. La configuration de l'ensemble du système de clonage peut demander un certain temps de mise au point avant d'obtenir un résultat satisfaisant.

  • Systemimager déploie le noyau du système de référence. Lorsque l'on ajoute des matériels récents, il faut s'assurer que l'ensemble des périphériques soient bien reconnus. En général nous rencontrons des problèmes avec les contrôleurs disques et les cartes réseau. Pour les contourner, nous attribuons le rôle de système de référence au serveur doté du matériel le plus récent.

  • Nous avons rencontré des difficultés de fonctionnement sur des distributions Ubuntu. Toutefois ces difficultés ne semblent pas partagées, cf http://www.howtoforge.com/how-to-back-up-an-ubuntu....

  • Le fonctionnement de SystemImager s'est avéré plus facile sur système CentOS.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
Plates-formes
  • Fonctionne après modifications sur Ubuntu ou Debian-like, a fonctionné directement sous RedHat-Like (Centos). Non testé sous Fedora.
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement
Eléments de pérennité
  • SystemImager évolue régulièrement depuis presque dix ans. L'équipe de développement est très réactive via les mailing-list ou le canal IRC.
Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
  • sisuite-users [at] lists [dot] sf [dot] net - liste de support pour les utilisateurs
  • sisuite-devel [at] lists [dot] sf [dot] net - liste d'échange pour les développeurs
Documentation utilisateur