• Aucun résultat trouvé

Procédure de déploiement - Documentation

N/A
N/A
Protected

Academic year: 2022

Partager "Procédure de déploiement - Documentation"

Copied!
8
0
0

Texte intégral

(1)

Procédure de déploiement - Documentation

Yshame Stephant

Ce document résumera les différentes étapes à suivre afin d’efficacement déployer une/des image(s) W10 sur un réseau domestique.

(2)

Préambule :

Sachez premièrement que la lecture seule de ce document ne sera pas suffisante pour effectuer chacune des étapes décrites ici, je vous invite à d’abord prendre connaissances des différentes documentations traitant spécifiquement de chaque composante ici utilisé :

1. FOG : Base et Configuration initial ici (par : Brice LeBourhis)

2. Powershell : Base et Utilité pour le déploiement ici (par : Yshame Stephant) 3. Unattend.xml : Création et fonctionnement sur W10 ici (par : Technet, en anglais) 4. Sysprep : Comment bien utilisé l’utilitaire Sysprep sur W10 ici (par : Microsoft)

Nous avons choisis au Lycée La Joliverie un logiciel s’appelant FOG et cette documentation traitera donc uniquement de celui-ci.

Avant toute chose, veuillez-vous assurez que les paramètres d’environnement suivant sont effectifs, au risque de perdre du temps à comprendre la cause d’éventuelles problèmes :

- Il nous faudra un serveur FOG correctement paramétré (pour cela, référez-vous à notre documentation maison sur ce logiciel) ainsi qu’une compréhension suffisante du logiciel afin de ne pas commettre d’erreurs potentiellement longue à réparer.

- Si votre environnement comporte d’éventuelles Switchs filtrant, veillez à activé le spanning tree sur le(s) port(s) concerné pour éviter toute latence pouvant provoquer des Timeout au niveau des requêtes DHCP sur les clients (à faire uniquement si votre Serveur FOG intègre aussi la fonction de serveur DHCP ! L’activation du spanning tree est

déconseillé si l’environnement de travail comporte des postes sur lequel des éventuels collaborateurs travaillent activement, en effet on risque de créer des avalanches de requêtes pouvant paralyser le réseau !)

- Il faudra également bien planifier les masters de façon à ce qu’on ne déploie pas des images incompatible avec le matérielle des hosts (nous approfondirons cette notions plus bas).

- Une bonne compréhension des mécaniques de Sysprep et notamment des fichiers unattend.xml sera requise pour des déploiements « avancé », comme pour FOG, nous vous invitons à prendre connaissances de la documentation à son sujet.

- Et pour finir, des bases en programmation PowerShell ou Bash seront obligatoire dans certains cas, afin de créer des scripts de démarrage spécifique.

Sans plus attendre passons à la première étape du déploiement d’images dans notre réseau !

(3)

Première étape : FOG

Comme précisé dans le préambule, nous allons utiliser FOG pour le déploiement en lui-même, nous n’approfondirons pas ici son paramétrage, pour cela veuillez-vous référé aux différentes

documentations déjà disponible sur ce sujet.

Nous allons rentrer dans le vif du sujet avec comme première étape la création des différents groupes lié au matériels sur lequel nous allons déployer.

La première grande tâche à réaliser est en effet un inventaire complet des machines sur lesquelles nous voulons déployer nos images afin de bien les catégorisé par type (Processeur/Carte Graphique

…) Cela est nécessaire pour avoir des images 100% compatibles avec le hardware. En plus de noté leurs type, il faudra également relever chacune de leurs adresse MAC et les consigné dans un fichier type CSV avec une syntaxe de ce type :

Deux colonnes sont présentes, l’une avec l’adresse mac des machine, l’autre avec l’hostname voulu pour cette même machine, le tous séparé par un symbole de type « , » « / » ou « ; ».

Ces fichiers sont essentiels, puisqu’ils servent à la fois à créer des groupes par types de machines, mais aussi à être exploiter par des éventuelles scripts dont nous parlerons plus tard.

Une fois cette étape réalisé (c’est généralement la plus longue), nous pouvons passer à la création

(4)

Exemple de notre configuration de groupe fog actuelle :

Exemple de listes de membres du groupe « Postes AMD » terminé dans fog :

(5)

Deuxième étape : Les Masters

Une fois nos postes inventoriés, il nous faut créer un « master », un modèle d’image à déployer sur tout le reste du parc informatique.

Cette étape est peut également s’avérer fastidieuse, surtout dans le cas d’un parc informatique nécessitant beaucoup de logiciels puisque TOUS les logiciels doivent être parfaitement installé et fonctionnels, sous peine d’avoir un parc inutilisable. La politique de la Joliverie sur ce sujet est de faire tester l’intégralité des Masters par le plus grand nombre d’enseignant concerné avant d’envisagé quelque capture que ce soit, et en ce sens, je vous encourage à ne JAMAIS tenté de déployer un Master insuffisamment testé par ses utilisateurs courant.

Une fois l’installation théorique des logicielles terminé, les manipulations sur les masters ne sont pas pour autant terminer, puisqu’il reste une des étapes les plus importante à savoir le scripting de commandes à effectuer au démarrage ainsi que la configuration de l’unattend.xml.

Avant toute chose, renseignez-vous auprès des enseignants ou clients afin de connaitre le

comportement attendus de l’image post installation, faut-il les intégrer au domaine AD ? Faut-il les renommer ? Si oui de quelle façon ? Voulons-nous un OOBE complet ou absent ? Toutes ces

réponses influeront sur les décisions à prendre à la fois au niveau des scripts mais aussi au niveau de l’unattend.xml.

Ici nous verrons comment j’ai procédé, avec les contraintes qui m’ont été soumises lors du déploiement des postes en 2017.

Comme nous travaillons sur les postes des ateliers des salles F401-402-403-405 et F406, nos contraintes étaient les suivantes :

- Un OOBE absent.

- Intégration au domaine AD et renommage des machines selon la politique en vigueur complètement automatisé.

- L’intégration des informations liées à la structure de la Joliverie dans les fichiers système.

Pour ce faire, il n’existe pas UNE technique, mais bel et bien une infinité de possibilité, nous allons donc voir la façon dont nous nous sommes mis d’accord pour la réalisation de ces tâches de la manière la plus efficace possible :

- La suppression de l’écran d’OOBE s’effectuera grâce à l’unattend.xml, la commande pour

(6)

Voici comme référence notre fichier unattend.xml : unattend.xml

Celui-ci se charge d’intégrer les informations relatives à la structure La Joliverie, et supprime les écrans d’accueil OOBE. Ces modifications s’effectuent pendant le pass dit « specialize » (je vous invite à lire cette documentation pour plus d’information au sujet de l’écriture et du fonctionnement précis du fichier unattend.xml si besoin)

Après avoir écrit ce fichier, nous avons attaqué le script de démarrage. Premièrement, il faut savoir que sur Windows 10, il est possible de créer un dossier « Scripts » dans le fichier se trouvant dans

« %WINDIR% :\Windows\Setup », dans celui-ci, il faudra créer un exécutable bash s’appelant

« Setupcomplete.cmd », lorsque Windows aura finis son installation (juste avant d’arriver sur l’écran de login), l’os vérifie l’existence de ce fichier ainsi que du fichier « ErrorHandler.cmd » (celui-ci sert en cas d’erreur fatale durant l’installation, nous ne traiterons pas de ce script dans cette

documentation), si il le trouve, il exécutera alors toutes les instruction se situant à l’intérieur avant de faire quoi que ce soit d’autre.

Nous allons donc exploiter cette fonctionnalité afin d’intégrer les postes dans le domaine et les renommer (sachez d’ailleurs que si vous voulez exécuter cette tâche d’une traite, soit en 1 démarrage, le Powershell sera alors votre seul solution « simple », les commandes bash ne permettant pas de faire ceci d’un coup)

La première étape, c’est la création du fichier Setupcomplete.cmd, rien de trop compliqué puisqu’il s’agira dans notre cas de simplement d’exécuté le script Powershell voulu en mode Unrestricted, voici le nôtre : Setupcomplete.cmd

Une fois ce code très simple rédigé, on peut commencer le travail sur le script Powershell.

Ici aussi rien de fondamentalement compliqué, en effet Powershell 3 facilite énormément ce genre de tâche en intégrant des CMDlets très simple d’utilisation.

Le schéma de fonctionnement de notre script disponible ici est simple et efficace, on peut l’interpréter comme cela :

1. On attribue à une variable $mac le contenu du cmdlet « getmac /nh »

2. Grâce au cmdlet « .Substring » on vient séléctionné seulement l’adresse mac dans le tableau fournis par « getmac /nh », que l’on stock dans une variable $mac2

3. On importe ensuite le fichier .csv contenant l’intégralité des postes sur lesquelles on va déployer, celui servira à faire le lien « addresse mac » -> « nom de poste ». On indique le chemin pour y accéder ainsi que le caractère séparant les deux entités.

4. Commence alors une boucle Foreach qui pour chaque ligne correspondant à l’adresse mac contenue dans $mac2, va attribuer le nom correspondant à la variable $Newnomp

5. Suite à cette boucle, on vient ensuite créer plusieurs variables qui contiennent les logs du domaine AD.

6. Pour terminer, on vient adjoindre notre poste au domaine AD en utilisant les variables définis au-dessus avec un nouveau nom, lui contenue dans la variable $Newnomp, puis on

redémarre, cette manipulation permet de faire les deux changements (hostname et domaine) en un seul redémarrage.

(7)

Si jamais vous n’avez jamais ou peu utilisé Powershell, de nombreux tutoriels existe sur le sujet (ici, ici et ici pour ce qui est de l’intégration ou du renommage ainsi que cette documentation maison sur la syntaxe général de Powershell et son utilité dans le déploiement) nous vous invitons d’ailleurs à faire vos propre recherches sur le sujet afin de bien comprendre ce que vous faites.

Selon votre configuration personnelle, vous pourrez stocker ces scripts (scripts, ressource, .csv etc …) soit dans le fichier « %WINDIR% :\Windows\Setup\Scripts » ou dans un autre dossier, le tout est de bien référencé les chemins dans la commande d’appel situé dans le Setupcomplete.cmd.

Maintenant que ces scripts sont créer, fonctionnel et placé dans les bons répertoires, on peut placer le fichier unattend.xml dans le dossier « %WINDIR% :\Windows\Panther » puis passer au Sysprep de la machine Master.

Avant toute chose, veillez à tous d’abord VERIFIER que votre master boot bien en mode pxe en priorité, de façon à directement pouvoir la capturé après sysprep. L’enregistrement de la machine sous fog est d’ailleurs fortement recommandé à ce stade de la manipulation !

Veuillez noter que le Sysprep d’une machine ne peut pas se faire de façon illimité, Windows a limité le nombre d’utilisation de cet utilitaire. Restez donc conscient du nombre de sysprep qu’il vous reste !

Le sysprep s’effectue à partir du fichier « %WINDIR% :\Windows\Sysprep\sysprep.exe » ou depuis un invité de commande en mode administrateur. La méthode importe peu, même si nous aurons tendance à préférer la méthode par invité de commande, puisqu’on peut lui préciser des options.

Dans notre cas les commandes utilisées seront : Cd Sysprep

Sysprep.exe /oobe /generalize /unattend:« chemin si l’unattend ne se trouve pas dans le répertoire Panther » /shutdown

Concrètement, on demande au sysprep de nous dépersonnaliser la machine en mode OOBE en utilisant le fichier unattend.xml, puis d’éteindre la machine une fois la tâche terminer. (Plus d’infos sur sysprep ici)

Une fois la machine éteinte après le sysprep, vous pourrez programmé une capture fog du master et l’associés à l’image précédemment créer, puis redémarré la machine afin de complété le protocole de capture (c’est ici que les conseils donné plus tôt sont important, en effet si votre machine ne boot pas en mode pxe à ce moment, le master va tout simplement rebooter en mode dépersonnaliser

(8)

Troisième étape : Le déploiement

Maintenant que nos masters ont été capturés, on peut de façon logique passer au déploiement de ces images.

Avant toute chose, je recommande de tester chacun des masters capturé sur une machine physique correspondante afin de vérifier le bon fonctionnement de celui-ci, cela permets d’éviter

d’éventuelles mauvaises surprises.

Si les masters sont jugé bons et prêt au déploiement généralisé, la méthode de déploiement est alors très simple :

1. On éteint l’intégralité des postes « clients » après avoir vérifié que tous captent une adresse IP et une adresse DNS en provenance du serveur DHCP et qu’ils boot tous correctement sur le service PXE, il faudra également vérifier que chacun des poste dispose bien de l’option

« WakeOnLAN » ou «Démarrage réseau » activé dans son BIOS.

2. On programme le déploiement en session « multicast » par groupe de poste via FOG avec l’option « WakeOnLAN » coché de manière à réveiller tous les postes concerné par le déploiement sans avoir à le faire manuellement.

3. Tous les postes s’attendront mutuellement avant de débuter la copie de l’image Master si on a choisi l’option session « multicast »

4. Une fois la copie terminer, les postes redémarreront automatiquement sur leurs partions Windows fraichement copié puis effectueront leurs séquence de démarrage au

préalablement configuré.

5. Si tous se passe bien, les postes seront alors prêt à l’utilisation après le redémarrage effectué par le script Powershell d’intégration au domaine et de renommage.

Voilà ! Si vous avez suivis attentivement les instructions de cette documentation, le tout devrait se passer sans encombre et vous disposez maintenant d’un parc 100% fonctionnels !

Merci d’avoir pris le temps de lire cette documentation, pour toute remarques ou améliorations pouvant y être apporté, veuillez me contacté à l’adresse suivante : yshamestephant@gmail.com !

Références

Documents relatifs

La première de ces deux histoires ne ra- conte qu’un bain, la seconde relate les derniers moments passés par un personnage dans un appar- tement parisien qu’il a

Ordre (n) Taille du carré magique ; nombre de cellules dans un côté Constante (N) Somme magique de chaque ligne, colonne, etc. N = n(n² + 1) / 2 Nombre extrême (E) Dernier nombre

DÉMOLITION, FERRAILLAGE Tricot coton ou haute résistance coupure, enduit nitrile ou polyuréthane?. MAÇONNERIE, Latex naturel ou nitrile avec tricot

 Claire Brisset, journaliste, ancienne défenseur des enfants Yacine Ait Keci, artiste, créateur d’Elyx, ambassadeur numérique des Nations unies.

Ph ANRACT, B TOMENO Hôpital COCHIN.... Localisation

Les faits saillants du RMTC font la synthèse des dernières données probantes sur les maladies trans- missibles tirées de récents articles publiés dans le Relevé des maladies

Elle est pas méchante en fait, et même, elle est plutôt gentille… Elle m’a jamais crié dessus, elle m’a jamais maltraitée, au contraire, elle me reproche rien, j’suis

L'autre blanche à carreaux noirs À cela on aurait pu les reconnaître Mais ils passaient toujours le soir Et avec la vitesse... Certains d'ailleurs les soupçonnaient Non sans