VERSION PDA
pour la version html complète cliquez ici

EPFL
FLASH INFORMATIQUE

17 décembre 2002


JTI ou 'utilisation de Remote Installation Services pour l'expérience Laptop

http://laptop.epfl.ch/ & http://laptopnews.epfl.ch/

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 2002

Préambule

Quelques 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.

Historique

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.

Principes

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:

Une installation manuelle

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:

Une installation manuelle suivie par une duplication

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.

Une installation automatisée suivie par une amnésie de l'ordinateur hôte

Dans ce cas de figure, on va essayer:

Une installation entièrement automatique

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é.

Mise en oeuvre

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:

Windows NT 4

Windows 98

Mode unattended disponible à travers le kit OEM

Windows 2000

Unattended, RIS, SYSREP ou RIPREP

Windows XP

Pour Windows 2000, le cheminement logique, parfois obligatoire pour son intégration est le suivant:

Dans le détail

Déploiement en mode unattended ou sans intervention

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:

[data]

[Unattended]

[UserData]

[GuiUnattended]

[Display]

[RegionalSettings]

[TapiLocation]

[Branding], [Proxy], [URL], [FavoritesEx]

[Networking]

[Identification]

[GuiRunOnce]

[RemoteInstall]

[OSChooser]

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

Pre-boot eXecution Environment (PXE)

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

RIS

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 !

1. Choix du démarrage avec PXE [F12]

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

SIS

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 nécessaire, Riprep

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é.

SID vs. Sysprep ou Riprep

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.

Installation automatique des logiciels

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:

Le plus simple, Microsoft Office 2000

Dans ce cas, cela est réglé comme du papier à musique:

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.

Un exemple plus complexe, Netscape 6.2

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].

En pratique

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:

Dell 840 C

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.

Une série d'outils a été mise en place

Sites Web:

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.

Support intermédiaire avec des assistants-étudiants

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.

Élément central de ce travail, un serveur d'installation

Pour pouvoir déployer rapidement les ordinateurs et intégrer les différentes modifications de la configuration.

Conclusion

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