WikiOld

Version 1 (Emmanuel Quemener, 15/03/2013 18:09) → Version 2/4 (Emmanuel Quemener, 15/03/2013 18:10)

h1. La déduplication extrême WikiOld

h2. CQQCOQP

h3. Pourquoi ?

Faciliter l'exécution de code scientifique sur une plate-forme matérielle.

h3. Quoi ?

Offrir à un utilisateur un environnement numérique complet en quelques secondes, simplifier la gestion de centaines de noeuds de calcul, de postes mutualisés ou de stations de travail personnelles, limiter l'empreinte du stockage de l'OS sur ses machines, analyser des machines compromises sans démonter quoique ce soit, tester de nouveaux équipements sans installer de système : tel est l'objectif de SIDUS (pour Single Image Distributing Universal System). Initiée au Centre Blaise Pascal (Université de Lyon) dès février 2010 pour factoriser le travail de son seul administrateur système (et 180 machines), il est maintenant utilisé par le centre de calcul (PSMN), des laboratoires de l'ENS-Lyon et l'UJF.

h1. What SIDUS is not...

* LTSP : LTSP propose
une gestion simplifiée de terminaux légers en offrant un accès X11 ressource, matérielle ou RDP à un serveur virtuelle.

Cet environnement a deux natures
: ce dernier supporte ainsi toute la charge de traitement. A contrario, SIDUS exploite entièrement (ou à discrétion de l'utilisateur) toute la machine qui s'y raccroche. Seul le stockage du système d'exploitation est déporté sur des machines tierces.
* FAI *Sidus* (partagé) : FAI complètement déporté sur le réseau, n'exploitant que les ressources locales. Il _peut être_ virtualisé ou Kickstart proposent une installation complète simplifiée permettant de limiter voire d'éliminer exploiter toute action de l'administrateur. A contrario, SIDUS propose un système unique dans un arbre intégrant à la fois le système de base et toutes machine.

h3. Pour Qui ?

Pour
les applications installées manuellement.
* monolitique : dans le cadre de formations en informatique, trois solutions s'offrent aux
utilisateurs : exploiter les machines mises à disposition, utiliser leur équipement personnel, installer un environnement virtuel complet figé inscrits au téléchargement et donc difficilement modifiable. A contrario, SIDUS offre le environnement unique aisément configurable.
* "original" : SIDUS exploite des services disponibles
Centre Blaise Pascal.

h3. Où ?

Pour *Sidus*, uniquement
sur n'importe quelle distribution. DHCP, PXE, TFTP, NFSroot, DebootStrap, AUFS : quelques mots clés permettant d'installer SIDUS. Il utilise en outre des astuces de distributions de LiveCD et fonctionne sur la distribution Debian depuis sa version Etch.

En définitive, SIDUS est :
* universel : toutes
les plates-formes, x86 ou x86_64, fonctionnent instantanément ;
* efficace : installation en quelques minutes, démarrage en quelques secondes ;
* économe : à l'origine, 1 coeur, 1Go de RAM, 40Go d'espace disque,
réseaux filaires du Centre Blaise Pascal et un réseau (GigaBit) Ethernet
* scalable : testé sans difficulté avec une centaine
du laboratoire de noeuds ;
* polyvalent : avec la Debian et tout "science", toutes les sciences ont leur compte d'Open Source.
Chimie.

h1. Comment installer le système Pour *Solus*, partout...

h3. Combien
?

Le prérequis est réduit, à commencer par un réseau idéalement comparable au débit d'un disque dur. Côté services, sont nécessaires : serveurs DHCP, DNS, TFTP et NFS. Les deux derniers vont "porter" SIDUS. La version opérationnelle exploite en outre serveurs LDAP (identification/authentification) et NFSv4 (espaces utilisateurs). Côté client suffit un démarrage PXE (par la carte ou par GPXE sur CDROM ou clé USB).

L'installation comporte 5 phases :
* installation de
base (socle Debian)
* installation
des outils installés est l'ensemble des paquets complémentaires (TOUT Debian-Science)
* purge de paquets non désirés
* adaptation du système à l'environnement local (authentification et partages utilisateurs)
* création de la séquence de démarrage

Durant l'installation, les phases coûteuses sont le téléchargement
scientifiques Debian, dégagé des paquets et le paramétrage gestionnaires de quelques composants (Perl et LaTeX). Elle dure au mieux 45 minutes pour un arbre complet de 32 Go. Quelques précautions sont cependant nécessaires, liées au montage de dossiers systèmes et l'inhibition du démarrage tâches, des services à leur installation dans SIDUS.

Comment maintenant l'offrir sans le dupliquer ? Une première approche a utilisé un cortège
serveurs de montages volatiles (à base bases de TMPFS) : elle n'est pas viable. La préférence s'est portée sur mécanisme de LiveCD très répandu : la séquence de démarrage intégre ainsi la superposition de deux couches par le liant AUFS (évolution de UnionFS), l'une lecture seule (le CDROM pour le LiveCD et NFS chez nous), l'autre lecture/écriture (en TMPFS)

Mais comment bénéficier de SIDUS mais disposer d'un paramétrage conservé d'un démarrage à l'autre ? La première avec un montage NFS exclusif pour chaque noeud a été abandonnée, remplacée par un montage iSCSI associé à chaque noeud. Actuellement, au CBP, les machines SIDUS nécessitant une persistance (comme les noeuds Distonet) utilisent le mécanisme NFSroot+iSCSI=AUFS, les autres NFSroot+TMPFS=AUFS.

h1. Quelques adaptations spécifiques

Les machines mises à disposition sont assez hétérogènes : les noeuds de clusters (disposant d'équipements réseau rapides), les stations de travail (embarquant des cartes graphiques) ou les machines virtuelles (exigeant un partage des
données PostgreSQL et une accélération graphique) demandent quelques adaptations. Une première solution serait la persistance, mais trop lourde pour les grands parcs de machines : seront préférées l'utilisation de scripts de démarrage, l'exploitation d'un arbre SIDUS séparé ou l'installation de composants tierces. MySQL.

h1. Comment administrer le système h3. Quand ?

Si l'administration La version Sidus est plus lourde que son installation, le bénéfice du premier efface la perte récurrente du second. Finalement, avec SIDUS, chaque phase d'administration intègre les mêmes mécanismes qu'à l'installation : protection contre le démarrage et montages de dossiers systèmes. Le reste est identique.

h1. Où, ou quelles "success stories" ?

Les postes utilisateurs : machines mutualisées ou stations de travail individuelles ? Tout a commencé avec une douzaine de clients légers Neoware gonflés
disponible en mémoire et overclockés. Ces machines sont une vingtaine aujourd'hui.

Les noeuds de cluster, après un démonstrateur de 24 noeuds en mars 2010, SIDUS sert 88 noeuds permanents, sur 4 architectures matérielles différentes.

Les postes virtuels :
test depuis 2011, l'UJF organise chaque année une école d'été sur le calcul numérique. Au programme, 10 jours denses ponctués de travaux pratiques août 2012 : offrir un environnement homogène quasi-instantanément elle est indispensable. Deux images virtuelles sont proposées : l'une persistante utilisable après l'école d'été, l'autre par SIDUS. Ainsi, les professeurs peuvent, quotidiennement, adapter leurs TPs. Cette version est aussi utilisée, depuis l'été 2012, par le laboratoire de chimie de l'ENS-Lyon.

Les machines suspectes : le démarrage par le réseau offre une investiguation de
la mémoire de masse système éteint : inutile d'utiliser un LiveCD sur lequel manque toujours son outil "forensics" préféré.

Les machines de prêt :
généralisation des environnements développés pour les fabricants de matériels proposent souvent écoles des équipements d'évaluation. La phase d'installation peut être pénible Houches sur des matériels récents. Avec SIDUS, le système démarre comme sur les autres équipements déjà en service : quelques minutes pour 20 noeuds. calcul numérique, éditions 2011 et 2012.

h1. Pour qui : Quels avantages ?

Côté utilisateur : la machine démarre avec seulement les ressources associées.
La version VirtualBox fonctionne au moins sur Linux, Windows et MacOSX : accélération 3D et partage avec l'hôte sont disponibles. L'utilisateur retrouve exactement le même environnement que sur les noeuds : l'intégration des codes Solus est donc grandement facilitée. Côté performances, les pertes liées à la virtualisation oscillent entre 10 et 20% (pour VirtualBox) et autour de 5% pour KVM.

Côté administrateur : une opération impacte l'ensemble de l'infrastructure, de l'ordre du simple "sync"
disponible en production, sur l'arbre SIDUS. L'installation se déroule en quelques dizaines de minutes pour un système complet. Si des différences entre les systèmes sont minimes, un usage simple de scripts ou de puppet suffit. Si la différence entre les systèmes est importante, un autre arbre SIDUS est construit, voire cloné instantanément avec des mécanismes Debian Squeeze, depuis 2 ans au laboratoire de snapshot Chimie : LVM ou plutôt ZFSonLinux.

Côté expérimentateur : ingénieur système ou scientifique, l'environnement SIDUS lui offre la reproductibilité. Deux noeuds démarrant sur le même socle SIDUS disposent exactement du même système. Cela permet ainsi, que les machines soient identiques ou pas, de mener des tests vraiment pertinents.

h1. Combien : Quelles ressources
elle a

h3. Comment
?

A titre d'exemple, le serveur des clusters du CBP, également passerelle, héberge les services DHCP, DNS, TFTP, NFS et le serveur de batch OAR. Au démarrage de toute l'infrastructure (88 noeuds), le serveur NFS encaisse sans broncher jusqu'à 900 Mb/s. [[Sidus]]

h1. Conclusion [[Solus]]

Quelque soit l'environnement (noeud HPC, poste de travail, machine virtuelle), SIDUS apporte une flexibilité inégalée, autant pour l'utilisateur que pour l'administrateur de ces ressources. Sa frugalité, sa rapidité de propagation en fait un outil d'une rare polyvalence. L'essayer, c'est l'adopter !