Laurent.Kling@epfl.ch, EPFL-Faculté STI
D'une manière similaire au compilateur Java, l'objectif de cette mise en oeuvre est d'être Just In Time en simplifiant au maximum les opérations répétitives pour minimiser le temps.
Les portables in situ, avec les étudiants durant la journée officielle de présentation de l'expérience, le 1er novembre 2002Quelques mots sur l'expérience Laptop: un groupe de travail initié dans le cadre du projet IT 2001, a été amené à conduire une expérience pilote de distribution d'ordinateurs portables aux étudiants.
La Section de génie mécanique a été choisie selon les critères suivants:
Cette expérience consiste en la mise à disposition des étudiants d'un PC portable sous Windows 2000 avec une configuration de base standardisée, pour une durée de deux ans et demi (3e et 4e année + diplôme).
Les PC portables n'appartiennent pas aux étudiants, mais sont mis à disposition de ceux-ci pendant la période considérée contre une caution de 500.-. Les étudiants qui le souhaitent pourront garder leur portable après 2.5 ans contre le prix de la caution.
Pour intégrer facilement cette expérience, et éviter des modifications importantes au niveau des infrastructures, l'utilisation du réseau sans fil 802.11 WiFi a été choisie, l'identification et la sécurisation se font par VPN. Ce procédé permet de se connecter également sur les câbles jaunes des prises en libre-service.
Pour la partie technique, il s'agit de:
Il est donc nécessaire de développer des méthodes de déploiement permettant une intervention minimum dans le processus d'installation.
Dans mon article précédent (Installation avec ZAK sur NT - http://ditwww.epfl.ch/SIC/SA/publications/FI99/fi-7-99/7-99-page9.html ), le mode d'installation sans intervention humaine intitulé unattended sous Windows NT 4 et du complément représenté par SysDiff a été détaillé.
Microsoft étant une entreprise conservatrice pour ses méthodes, on retrouve de grandes similitudes dans les systèmes d'exploitation qui lui ont succédé, Windows 2000 et XP.
La méthode consiste à séparer la gestion d'un ordinateur en quatre domaines:
Pour pouvoir réaliser une économie d'échelle, il est indispensable d'obtenir une installation reproductible.
Étudions quelques mises en oeuvre:
Nous sommes tous passés par cette étape, elle offre le maximum de souplesse. Elle consiste, à procéder pas à pas aux installations du système d'exploitation, de l'ensemble des pilotes spécifiques au matériel, suivies par les logiciels d'application. Ses inconvénients sont multiples:
Elle consiste à une installation identique à celle entièrement manuelle, mais avec un objectif, fournir une matrice qui sera appliquée à tous les autres ordinateurs similaires.
Son principal inconvénient est sa dépendance matérielle, parfaite dans un parc informatique homogène. Mais cela entraîne une matrice par couple de configuration matériel- logiciel.
Cette méthode est utilisée par une pléthore d'outils dont les plus connus dans notre école sont Ghost et Rembo.
Dans ce cas de figure, on va essayer:
Peut-être le Graal de l'installation, rarement atteint, mais avoir un tel but permet de garder le moral à travers les différentes déconvenues de ce genre de travail.
Après cette brève introduction, voici comment le travail a été réalisé.
Le centre de ce travail est un outil intégré dans la distribution de Windows 2000 Serveur et n'entraînant pas de coût supplémentaire. RIS où Remote Installation Services est cet outil, il nécessite un environnement précis:
Contrairement aux idées reçues, son utilisation n'entraîne pas les conséquences suivantes:
L'arbre généalogique de cet outil est le suivant:
Mode unattended disponible à travers le kit OEM
Unattended, RIS, SYSREP ou RIPREP
Pour Windows 2000, le cheminement logique, parfois obligatoire pour son intégration est le suivant:
Au coeur du processus, le mode sans intervention en est la pierre de fondation. Un outil disponible dans le kit de ressources de Windows 2000 Serveur offre une interface graphique pour générer ce fichier texte, mais il n'intègre pas l'ensemble des fonctionnalités. Il reste un bon point de départ. La documentation disponible se présente sous la forme d'un dictionnaire présentant les options dans l'ordre alphabétique qui n'a pas été mis à jour depuis sa parution. Si on se penche sur le fichier de configuration, on peut le décomposer dans les parties suivantes:
La partie la plus intéressante du mode unattended concerne l'intégration directe des pilotes. Il suffit de créer la hiérarchie de dossiers ci-dessous.
Au premier abord complexe, elle est relativement simple, le dossier $1 sera directement recopié sur la partition de démarrage. Le contenu du dossier TextMode est destiné aux pilotes qui interviennent dans le noyau de l'OS, par exemple pour un contrôleur physique de disque dur RAID.
Pour l'expérience Laptop à l'EPFL, j'ai crée une hiérarchie par constructeur (Dell) suivi par le modèle (840) contenant par catégorie (N comme network), les dossiers sont référencés selon la même dénomination que le constructeur. Dans le cas précis de la carte sans fil, il existait 2 versions qui ont été référencées selon le même principe, le chemin complet est:
Dell\840\N\A12\R42249
Cette méthode peut paraître complexe, elle permet de se retrouver sans problème dans la gestion des différentes configurations. La portion du fichier unattended concernant les pilotes est montrée dans l'encadré :.
; pour inclure les fichier dans $oem$ OemPreinstall=Yes ; for add driver to be not signed DriverSigningPolicy=Ignore ; Base Dell\840 ; U = utility ; R40613 = Access Direct Button Rev: A18 ; R39818 = Dell Dock QuickInstall Rev: A15 ; R41320 = Intel SpeedStep Rev: A11 ; S = system ; *R33907 = Microsoft Direct X 8.0a Rev: A00 ; N = network ; *R39075 = 3Com 3C920 Integrated LAN Rev: A06 ; De base, Version A12, pas de demande a l'installation ; *R42249 = Dell True Mobile 1150 Series Mini-PCI Card Rev: A12 ; R42251 = Dell True Mobile 1150 Series Mini-PCI Card Utility Rev: A07 ; Version A20, demande de configuration ; *R43780 = Dell True Mobile 1150 Series Mini-PCI Card Rev: A20 ; R43778 = Dell True Mobile 1150 Series Mini-PCI Card Utility Rev: A20 ; V = video ; *R40740 = nVidia GeForce4 440 Go Rev: A02 ; *R40021 = Monitors:E772c Driver Rev: A03 ; Mgnt = Management ; *R43194 = Audio Driver Crystal CS4205 WDM Rev: A08 ; IntelINF -> R34506 = ChipSet Intel 830M/845MP Rev: A01 ; *R36788 = Data/Fax Modem 56K V92 PCTel MDC Rev: A05 ; *R37467 = Alps GlidePoint/StickPointer Rev: A00 ; *R25070 = IRDA SMC Ultra I/O Controller Rev: A00 ; OemPnPDriversPath="Dell\840\S\R33907\DELL\dx80a;Dell\840\V\R40740;Dell\840\V\R40021;Dell\840 \N\R39075\Windows\Update\Source;Dell\840\N\A12\R42249;Dell\840\Mgnt\R43194;Dell\840\Mgnt\R36788;Dell\840\Mgnt\R37467;Dell\840\Mgnt\R25070;Dell\840\Mgnt\IntelINF" ; ne pas re-ecrire les drivers si ils existent deja OverwriteOemFilesOnUpgrade = no ; normaly no but in test, yes ConfirmHardware = yes
Cet outil, développé par Intel, permet au démarrage, de charger et d'exécuter un programme de démarrage réseau (NBP) depuis un serveur avant de démarrer sur le disque dur de l'ordinateur. Il procède de la manière suivante:
Pour les cartes réseau ne disposant pas de ROM leur permettant de démarrer par le réseau, RIS intègre un outil générant une disquette de démarrage avec PXE. Les malheureux qui ne possèdent pas une carte réseau compatible avec cet outil peuvent se rabattre sur Ghost 7.5 qui peut générer pour quasiment toutes les cartes, une disquette adaptée
En résumé, RIS = unattended + PXE
Dans le détail, on dispose d'une interface graphique se présentant sous la forme d'un onglet dans les propriétés d'un contrôleur de domaine.
Le bouton paramètres avancés permet de régler son comportement, en particulier la manière d'identifier automatiquement les ordinateurs. Particulièrement intéressant, dans le cadre d'une gestion décentralisée, la possibilité de mettre l'ordinateur directement dans l'OU de l'usager utilisé pour sa création.
Après avoir copié un système dans le volume*[SIS] contenant le point de partage de RIS avec l'utilitaire de configuration, on peut utiliser cet outil:
La première chose à faire consiste en une sauvegarde du fichier unattended.sif et de l'éditer:
[RemoteInstall]
; not use free space
;RIS Repartition = Yes
Repartition = No
; not use all disk
;RIS UseWholeDisk = Yes
UseWholeDisk = No
; not use because this fonction...
;DisableAdminAccountOnDomainJoin = 1
Ensuite, on peut l'utiliser !
2. Démarrage PXE [F12]
3. Identification usager
4. Choix de la configuration
5. Choix de la partition de démarrage, Puis toute la procédure d'installation est automatique...
5.1. Copie local de l'OS
5.2. Configurations automatiques des pilotes
5.3. Exécution des programmes [GuiRunOnce]
On remarque que la résolution de l'écran est 1400x1050, preuve que l'installation de la carte graphique est réussie.Après avoir saisi tout l'intérêt de RIS, on sera naturellement tenté de mettre en place plusieurs configurations, une par configuration logique (salle publique, secrétariat, chercheur):
Contrairement à une idée répandue, on peut parfaitement installer un serveur intégrant un RAID physique avec RIS, pour preuve, les serveurs de domaine de la Faculté STI et leurs programmes ont été installés avec RIS
La manière de procéder de RIS peut sembler archaïque, au lieu de conserver les données dans un fichier compressé, les fichiers sont simplement recopier dans un volume NTFS.
En réalité, cette méthode est particulièrement subtile:
La seule limite de SIS est de n'être applicable que sur un seul volume dont le déplacement peut être complexe.
Si l'ensemble des logiciels souhaités est disponible en mode unattended, après le dernier redémarrage, on peut les installer, ainsi que les patchs de sécurité. Dans le cas des portables, cette solution n'a pas pu être mise en place. Heureusement, une solution similaire à Ghost existe dans RIS: Riprep; sa mise en oeuvre est la suivante:
C'est tout, le serveur va successivement demander le nom du dossier contenant cette image, puis les informations qui apparaîtront dans le dialogue de la sélection de l'image.
Ensuite, on peut de la même manière qu'en mode unattended ou RIS, éditer le fichier de configuration pour obtenir le résultat adéquat.
La différence fondamentale de cette méthode par rapport à Ghost ou Rembo est que RIS procède comme une installation complète et permet toutes les configurations possibles, matérielles ou logicielles. Elle ne consiste pas en une copie physique de fichier et offre ainsi une très grande flexibilité au prix d'une certaine complexité.
Dans le cas de la copie d'une installation, il est primordial de supprimer l'identité de l'hôte symbiotique, l'ordinateur. Ceci est particulièrement vrai pour l'identificateur unique de l'ordinateur (Security Identifier, SID), qui comme son nom le désigne, doit être unique Il existe deux méthodes pour rendre amnésique une installation:
La version Sysprep ou Riprep peut sembler paradoxale, en supprimant les informations de l'installation, on doit nécessairement refaire celle-ci:
La documentation de Ghost, (pourtant un des inventeurs du forçage) privilégie le mode Sysprep pour les avantages cités ci-dessus.
La première phase du travail étant réalisée (une installation automatique de l'OS), on peut logiquement attendre une procédure similaire pour les logiciels. La théorie est la suivante:
Comme souvent, la pratique ne ressemble pas à la théorie:
Pour expliquer mon propos, 2 exemples:
Dans ce cas, cela est réglé comme du papier à musique:
@REM pour install office 2k english @rem install: @rem Installation MS Office 2000 Standard version anglaise @rem @echo "-debut office 2k" @rem avec transform, wait pour la fin, pas de completion notice, et avec log @cmd /c O:\auto\office2k\english\net\setup.exe TRANSFORMS=O:\auto\office2k\english\net\dgm-office2k-smal.MST /wait /qn /l c:\winnt\temp\dgm-office.txt @echo "-fin office 2k" @rem @rem Installation MS Office 2000 multi-language pack OSR1 (fr/ge/it) @rem @echo "-debut office 2k mui fr" @cmd /c O:\auto\office2k\multilang\net-fr_ge_it_nw\setup.exe TRANSFORMS=O:\auto\office2k\multilang\net-fr_ge_it_nw\dgm-office2k-mui-fr.MST /wait /qn /l c:\winnt\temp\dgm-office-mui.txt @echo "-fin office 2k mui fr"
On remarque que le script utilise un volume monté localement au lieu d'un chemin UNC. Cette précaution est obligatoire, car la majorité des installations le demande, en particulier les mises à jour de sécurité de Microsoft !
Le fichier de transformation est la clé de voûte de ce processus:
Par défaut, Office installe un certain nombre de fonctionnalités en Installed on First Use.
Pour éviter d'attendre la traduction en français des mises à jour, les logiciels sont installés en anglais, suivis du package de langue.
Dans cet exemple, il existe un mode d'installation sans intervention, le problème provient plus du choix des modules appropriés. On doit éditer le fichier CONFIG.INI pour activer le mode sans intervention:
; Run Mode values: ; Normal - Shows all dialogs. Requires user input. ; Auto - Shows some dialogs, but none requiring user input. It will ; automatically install the product using default values. ; Silent - Show no dialogs at all. It will install product using default ; values. Run Mode=Silent
et désactiver les modules qu'on ne désire pas installer (en prenant garde de renommer les modules):
; This download marker file (the first component) needs ; to be listed FIRST! C0=Component Marker Recommended Start C1=Component XPCOM C2=Component Navigator C3=Component Java C4=Component MailNews ;C4=Component Instant Messenger C5=Component QFA C6=Component PSM C7=Component Spell Checker ;C8=Component AOL Art ;C9=Component CDT C8=Component Flash C9=Component Uninstaller ;C12=Component AOD ;C10=Component RealPlayer C10=Component FR French Profile Defaults ;C14=Component HP Printer Plugin C11=Component Classic Skin C12=Component Fr FR lang pack C13=Component FR region pack C14=Component US region pack C15=Component Java Patch ; This download marker file needs to be listed LAST! C16=Component Marker Recommended End
On peut noter, que si cette méthode de procéder est plus complexe, elle offre des possibilités de choix des composants installés plus étendues que dans le mode GUI. Après ce travail, le script d'installation est particulièrement simple:
@REM pour install Netscape 6.2 fr
@rem install:
@rem Installation Netscape 6.2 Standard
@rem
@echo «-debut nestcape 6.2 fr»
cd O:\auto\web\net62\ns_temp
o:
@cmd /c SETUP.EXE
@echo «-fin nestcape 6.2 fr»
L'arrivée sur le marché d'outils, comme InstallShield AdminStudio, comblant ces lacunes devrait ouvrir de nouvelles portes pour automatiser ce processus.
L'intégration de ces différentes installations dans RIS est particulièrement simple, on ajoute une ligne de commande par logiciel ou groupe de logiciels, dans le fichier de configuration, à la rubrique [GuiRunOnce].
Pour éviter de commander une machine obsolète dès sa livraison, le choix s'est fait tardivement pour bénéficier du meilleur rapport qualité prix. La configuration retenue à été la machine suivante:
Cette configuration doit pouvoir offrir la puissance de calcul suffisante pour les logiciels de simulation ou de dessin et assurer une pérennité suffisante de la machine. Elle possède au départ, les logiciels suivants {pour la 3e année}:
La configuration disque consiste en trois partitions, la première pour le système et les applications, la deuxième pour les données de l'usager et la dernière comme espace de stockage intermédiaire. Chaque utilisateur possède un ordinateur personnalisé. Le compte d'utilisateur dont le profil et les données de travail sont automatiquement redirigées sur la partition de travail. Comme le reste du travail, la création des partitions après l'installation et la personnalisation de chaque ordinateur a été automatisée. Pour absorber la charge importante du travail de production, l'intervention de mon apprentie, Aline Genoud, a permis un déroulement just in time.
http://laptop.epfl.ch/ - Utilisant la technologie JAHIA qui permet une édition in situ et une délégation rapide des droits.
http://laptopnews.epfl.ch - Un site en PostNuke utilisant PHP et MySQL pour assurer une plus grande interactivité. Cette technologie permet aux différents intervenants de soumettre des nouvelles: élèves, enseignants et le soutien technique. Il intègre la notion de FAQ et la gestion de l'ensemble des contenus.
Offrant le double avantage de disposer d'utilisateurs avancés référents de leurs camarades et interface privilégiée de communication sur le déroulement technique de l'expérience.
Pour pouvoir déployer rapidement les ordinateurs et intégrer les différentes modifications de la configuration.
En appliquant la méthode décrite dans cet article, les étapes du processus de déploiement des 70 portables ont duré environ 1 mois, avec des périodes particulièrement chargées, y compris le week-end. L'installation proprement dite des septante portables en utilisant Riprep, demande 2 jours, leur personnalisation une journée.
Par cette mise en oeuvre, on peut gérer une expérience portable avec septante ordinateurs au lieu de septante expériences (en distribuant à chaque étudiant tous les logiciels à installer).
Depuis la remise des ordinateurs, les interventions variées des étudiants ont entraîné la réinstallation de 10 % du parc de portable. En particulier de fausses manoeuvres comme la suppression de l'ensemble des usagers (chaque étudiant possède l'accès à son compte Administrateur) ou des modifications intempestives sur la configuration logicielle.
Je pense que la synergie induite par ce type de mise en oeuvre devrait en généraliser l'emploi.
On pourrait mettre en place le paradigme suivant:
Ainsi, on pourrait limiter au maximum les opérations fastidieuses au profit de manipulations avec une plus grande valeur ajoutée.
© Flash informatique 2002