Wiki
Version 6 (Emmanuel Quemener, 15/03/2013 18:17)
1 | 4 | Emmanuel Quemener | h1. La déduplication extrême |
---|---|---|---|
2 | 1 | Emmanuel Quemener | |
3 | 5 | Emmanuel Quemener | * Offrir à un utilisateur un environnement complet en quelques secondes, |
4 | 5 | Emmanuel Quemener | * simplifier la gestion de centaines de noeuds de calcul, de postes mutualisés ou de stations de travail personnelles, |
5 | 5 | Emmanuel Quemener | * limiter l'empreinte du stockage de l'OS sur ses machines, |
6 | 5 | Emmanuel Quemener | * analyser des machines compromises sans démonter quoique ce soit, |
7 | 5 | Emmanuel Quemener | * tester de nouveaux équipements sans installer de système |
8 | 5 | Emmanuel Quemener | |
9 | 5 | Emmanuel Quemener | 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. |
10 | 1 | Emmanuel Quemener | |
11 | 4 | Emmanuel Quemener | h1. What SIDUS is not... |
12 | 1 | Emmanuel Quemener | |
13 | 4 | Emmanuel Quemener | * LTSP : LTSP propose une gestion simplifiée de terminaux légers en offrant un accès X11 ou RDP à un serveur : 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. |
14 | 4 | Emmanuel Quemener | * FAI : FAI ou Kickstart proposent une installation complète simplifiée permettant de limiter voire d'éliminer 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 les applications installées manuellement. |
15 | 4 | Emmanuel Quemener | * 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é au téléchargement et donc difficilement modifiable. A contrario, SIDUS offre le environnement unique aisément configurable. |
16 | 4 | Emmanuel Quemener | * "original" : SIDUS exploite des services disponibles 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. |
17 | 1 | Emmanuel Quemener | |
18 | 4 | Emmanuel Quemener | En définitive, SIDUS est : |
19 | 4 | Emmanuel Quemener | * universel : toutes les plates-formes, x86 ou x86_64, fonctionnent instantanément ; |
20 | 4 | Emmanuel Quemener | * efficace : installation en quelques minutes, démarrage en quelques secondes ; |
21 | 4 | Emmanuel Quemener | * économe : à l'origine, 1 coeur, 1Go de RAM, 40Go d'espace disque, et un réseau (GigaBit) Ethernet |
22 | 4 | Emmanuel Quemener | * scalable : testé sans difficulté avec une centaine de noeuds ; |
23 | 4 | Emmanuel Quemener | * polyvalent : avec la Debian et tout "science", toutes les sciences ont leur compte d'Open Source. |
24 | 1 | Emmanuel Quemener | |
25 | 4 | Emmanuel Quemener | h1. Comment installer le système ? |
26 | 1 | Emmanuel Quemener | |
27 | 4 | Emmanuel Quemener | 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). |
28 | 1 | Emmanuel Quemener | |
29 | 4 | Emmanuel Quemener | L'installation comporte 5 phases : |
30 | 4 | Emmanuel Quemener | * installation de base (socle Debian) |
31 | 4 | Emmanuel Quemener | * installation des paquets complémentaires (TOUT Debian-Science) |
32 | 4 | Emmanuel Quemener | * purge de paquets non désirés |
33 | 4 | Emmanuel Quemener | * adaptation du système à l'environnement local (authentification et partages utilisateurs) |
34 | 4 | Emmanuel Quemener | * création de la séquence de démarrage |
35 | 1 | Emmanuel Quemener | |
36 | 4 | Emmanuel Quemener | Durant l'installation, les phases coûteuses sont le téléchargement des paquets et le paramétrage 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 des services à leur installation dans SIDUS. |
37 | 1 | Emmanuel Quemener | |
38 | 4 | Emmanuel Quemener | Comment maintenant l'offrir sans le dupliquer ? Une première approche a utilisé un cortège de montages volatiles (à base 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) |
39 | 1 | Emmanuel Quemener | |
40 | 4 | Emmanuel Quemener | 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. |
41 | 1 | Emmanuel Quemener | |
42 | 4 | Emmanuel Quemener | h1. Quelques adaptations spécifiques |
43 | 1 | Emmanuel Quemener | |
44 | 4 | Emmanuel Quemener | 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 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. |
45 | 1 | Emmanuel Quemener | |
46 | 4 | Emmanuel Quemener | h1. Comment administrer le système ? |
47 | 1 | Emmanuel Quemener | |
48 | 4 | Emmanuel Quemener | Si l'administration 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. |
49 | 1 | Emmanuel Quemener | |
50 | 4 | Emmanuel Quemener | h1. Où, ou quelles "success stories" ? |
51 | 1 | Emmanuel Quemener | |
52 | 4 | Emmanuel Quemener | Les postes utilisateurs : machines mutualisées ou stations de travail individuelles ? Tout a commencé avec une douzaine de clients légers Neoware gonflés en mémoire et overclockés. Ces machines sont une vingtaine aujourd'hui. |
53 | 1 | Emmanuel Quemener | |
54 | 4 | Emmanuel Quemener | 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. |
55 | 1 | Emmanuel Quemener | |
56 | 4 | Emmanuel Quemener | Les postes virtuels : 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 : offrir un environnement homogène quasi-instantanément 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. |
57 | 1 | Emmanuel Quemener | |
58 | 4 | Emmanuel Quemener | 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é. |
59 | 4 | Emmanuel Quemener | |
60 | 4 | Emmanuel Quemener | Les machines de prêt : les fabricants de matériels proposent souvent des équipements d'évaluation. La phase d'installation peut être pénible 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. |
61 | 4 | Emmanuel Quemener | |
62 | 4 | Emmanuel Quemener | h1. Pour qui : Quels avantages ? |
63 | 4 | Emmanuel Quemener | |
64 | 6 | Emmanuel Quemener | h2. Côté utilisateur |
65 | 4 | Emmanuel Quemener | |
66 | 6 | Emmanuel Quemener | 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 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. |
67 | 1 | Emmanuel Quemener | |
68 | 6 | Emmanuel Quemener | h2. Côté administrateur |
69 | 6 | Emmanuel Quemener | |
70 | 6 | Emmanuel Quemener | Une opération impacte l'ensemble de l'infrastructure, de l'ordre du simple "sync" 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 de snapshot : LVM ou plutôt ZFSonLinux. |
71 | 6 | Emmanuel Quemener | |
72 | 6 | Emmanuel Quemener | h2. Côté expérimentateur |
73 | 6 | Emmanuel Quemener | |
74 | 6 | Emmanuel Quemener | 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. |
75 | 4 | Emmanuel Quemener | |
76 | 4 | Emmanuel Quemener | h1. Combien : Quelles ressources ? |
77 | 4 | Emmanuel Quemener | |
78 | 4 | Emmanuel Quemener | 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. |
79 | 4 | Emmanuel Quemener | |
80 | 4 | Emmanuel Quemener | h1. Conclusion |
81 | 4 | Emmanuel Quemener | |
82 | 4 | Emmanuel Quemener | 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 ! |