
Compétences évaluées
- Gérer le patrimoine informatique
- Mettre à disposition des utilisateurs un service informatique
- Répondre aux incidents et aux demandes d’assistance et d’évolution
Description du projet
Le projet FOG (Free Open-Source Ghost) est une solution open source de gestion de l'imagerie et du déploiement de systèmes d'exploitation conçue pour simplifier la gestion des postes de travail dans les environnements informatiques d'entreprise. Il permet aux administrateurs informatiques de créer, de déployer et de gérer efficacement des images système sur un large éventail de dispositifs, offrant ainsi une gestion centralisée des postes de travail.
Voici les éléments clés du projet FOG :
- Imagerie système : FOG facilite la création d'images système complètes, permettant aux administrateurs de cloner rapidement et de manière cohérente des configurations de postes de travail, ce qui simplifie la configuration initiale et les déploiements ultérieurs.
- Déploiement automatisé : Il offre des outils de déploiement automatisé pour déployer ces images sur de multiples machines simultanément, ce qui économise du temps et des efforts lors de la mise en service ou de la mise à jour de postes de travail.
- Gestion des périphériques : FOG fournit une interface centrale pour la gestion des périphériques, permettant aux administrateurs de suivre les actifs matériels, de surveiller les performances et de gérer les inventaires des postes de travail.
- Intégration PXE (Preboot Execution Environment) : Il supporte PXE, ce qui signifie que les postes de travail peuvent être démarrés à partir du réseau, ce qui facilite leur configuration ou leur récupération en cas de panne.
- Sécurité : FOG propose des fonctionnalités de sécurité telles que la gestion des clés de chiffrement, la protection des images système sensibles et la surveillance des connexions réseau pour garantir la sécurité des opérations de déploiement.
- Extensibilité : Le projet FOG est extensible grâce à des plugins, ce qui permet d'ajouter des fonctionnalités supplémentaires ou d'intégrer FOG à d'autres systèmes de gestion informatique.
- Licence open source : FOG est distribué sous une licence open source, ce qui signifie qu'il est gratuit à utiliser, modifiable et personnalisable en fonction des besoins de chaque organisation, sans coûts de licence.
Le projet FOG est particulièrement utile pour les organisations souhaitant gérer efficacement un grand nombre de postes de travail en automatisant les tâches de déploiement et de maintenance, tout en offrant une solution de gestion centralisée et sécurisée. Il est largement adopté dans le domaine de l'éducation, des entreprises et des institutions gouvernementales pour rationaliser la gestion de leur infrastructure informatique.
Tâches et opérations effectuées
Installation
Le site Internet de Fog Project fournit une version .zip et .tar.gz. Il est possible d’effectuer l’installation depuis git, solution que j’ai utilisée.
apt-get install git
git clone https://github.com/FOGProject/fogproject.git
Il faudra ensuite lancer le script d’installation depuis le dossier bin.
cd fogproject-1.5.9/bin
./installfog.sh
L’installation se déclenchera :
Installing LSB_Release as needed
* Attempting to get release information.......................Done
+------------------------------------------+
| ..#######:. ..,#,.. .::##::. |
|.:###### .:;####:......;#;.. |
|...##... ...##;,;##::::.##... |
| ,# ...##.....##:::## ..:: |
| ## .::###,,##. . ##.::#.:######::.|
|...##:::###::....#. .. .#...#. #...#:::. |
|..:####:.. ..##......##::## .. # |
| # . ...##:,;##;:::#: ... ##.. |
| .# . .:;####;::::.##:::;#:.. |
| # ..:;###.. |
| |
+------------------------------------------+
| Free Computer Imaging Solution |
+------------------------------------------+
| Credits: http://fogproject.org/Credits |
| http://fogproject.org/Credits |
| Released under GPL Version 3 |
+------------------------------------------+
Version: 1.5.9 Installer/Updater
hostname: No address associated with hostname
Une première question vous sera posée concernant la distribution que vous utilisez (trouvée par défaut dans mon cas) :
What version of Linux would you like to run the installation for?
1) Redhat Based Linux (Redhat, CentOS, Mageia)
2) Debian Based Linux (Debian, Ubuntu, Kubuntu, Edubuntu)
3) Arch Linux
Choice: [2]
La question suivante concernera le type d’installation : serveur normal ou serveur de stockage :
Starting Debian based Installation
FOG Server installation modes:
* Normal Server: (Choice N)
This is the typical installation type and
will install all FOG components for you on this
machine. Pick this option if you are unsure what to pick.
* Storage Node: (Choice S)
This install mode will only install the software required
to make this server act as a node in a storage group
More information:
http://www.fogproject.org/wiki/index.php?title=InstallationModes
What type of installation would you like to do? [N/s (Normal/Storage)]
Nous ferons une installation de serveur normal (nous verrons l’installation d’un serveur de stockage au chapitre 9Installation d’un nœud de stockage (Storage node)).
Un serveur de stockage, comme son nom l’indique, ne servira qu’au stockage des images de déploiement. Celui-ci nécessitera d’être connecté à un serveur normal. Un ou plusieurs serveurs de stockage permettront un meilleur équilibrage de charge en cas de déploiements conséquents. Un seul serveur normal est utilisable.
Services installés sur un serveur normal :
- serveur Web et base de données ;
- serveur DHCP ;
- serveur PXE ;
- serveur NFS et FTP pour le stockage.
Sur un serveur de stockage, seuls les services NFS et FTP sont déployés.
Vous seront ensuite proposés les réglages réseaux (à laisser par défaut en cas de présence d’une seule carte réseau) :
We found the following interfaces on your system:
* enp0s3 - 192.168.1.200/24
Would you like to change the default network interface from enp0s3?
If you are not sure, select No. [y/N]
Les prochains réglages concerneront le réseau avec les réglages du serveur DHCP fourni par Fog Project :
Would you like to setup a router address for the DHCP server? [Y/n]
What is the IP address to be used for the router on
the DHCP server? [192.168.1.1]
Would you like DHCP to handle DNS? [Y/n]
What DNS address should DHCP allow? [192.168.1.1]
Would you like to use the FOG server for DHCP service? [y/N]
Il semblerait que ne pas activer le serveur DHCP de Fog Project empêche le boot PXE.
Puis on règle l’internationalisation :
This version of FOG has internationalization support, would
you like to install the additional language packs? [y/N]
Pour avoir la possibilité de passer l’interface en français, il faudra répondre « yes »
Il vous faudra ensuite choisir le support HTTPS ou non :
Using encrypted connections is state of the art on the web and we
encourage you to enable this for your FOG server. But using HTTPS
has some implications within FOG, PXE and fog-client and you want
to read https://wiki.fogproject.org/HTTPS before you decide!
Would you like to enable secure HTTPS on your FOG server? [y/N]
Utiliser le mode HTTPS fera que l’installation sera plus lente. Il faut être patient, le script d’installation semblant bloqué.
L’option d’accès à l’interface en mode https a été testé, pour les autres options que nous allons voir, celles-ci semblent ne pas fonctionner en mode HTTPS. Il est possible que le problème vienne des certificats autosignés.
Vous sera ensuite demandé le hostname à utiliser :
hostname: No address associated with hostname
Which hostname would you like to use? Currently is:
Note: This hostname will be in the certificate we generate for your
FOG webserver. The hostname will only be used for this but won't be
set as a local hostname on your server!
Would you like to change it? If you are not sure, select No. [y/N] y
Which hostname would you like to use? fogsrv
Vous aurez enfin une demande de confirmation regroupant vos choix :
######################################################################
# FOG now has everything it needs for this setup, but please #
# understand that this script will overwrite any setting you may #
# have setup for services like DHCP, apache, pxe, tftp, and NFS. #
######################################################################
# It is not recommended that you install this on a production system #
# as this script modifies many of your system settings. #
######################################################################
# This script should be run by the root user. #
# It will prepend the running with sudo if root is not set #
######################################################################
# Please see our wiki for more information at: #
######################################################################
# https://wiki.fogproject.org/wiki/index.php #
######################################################################
* Here are the settings FOG will use:
* Base Linux: Debian
* Detected Linux Distribution: Debian GNU/Linux
* Interface: enp0s3
* Server IP Address: 192.168.1.200
* Server Subnet Mask: 255.255.255.0
* Server Hostname: fogsrv
* Installation Type: Normal Server
* Internationalization: 0
* Image Storage Location: /images
* Using FOG DHCP: Yes
* DHCP will NOT be setup but you must setup your
| current DHCP server to use FOG for PXE services.
* On a Linux DHCP server you must set: next-server and filename
* On a Windows DHCP server you must set options 066 and 067
* Option 066/next-server is the IP of the FOG Server: (e.g. 192.168.1.200)
* Option 067/filename is the bootfile: (e.g. undionly.kpxe)
* Are you sure you wish to continue (Y/N) Y
Une fois l’installation terminée, il vous faudra faire une première connexion sur l’interface Web de Fog Project pour installer la base de données, vous avez les indications pour vous connecter sur la console :
* You still need to install/update your database schema.
* This can be done
by opening a web browser and going to:
http://192.168.1.200/fog/management
* Press [Enter] key when database is updated/installed.

Une fois l’opération terminée, vous aurez l’écran suivant :

Vous pourrez alors appuyer sur la touche retour chariot dans la console d’installation, les services utilisés par Fog Project seront installés :
* Setting permissions on FOGMulticastManager.service script...OK
* Enabling FOGMulticastManager.service Service................OK
* Setting permissions on FOGImageReplicator.service script....OK
* Enabling FOGImageReplicator.service Service.................OK
* Setting permissions on FOGSnapinReplicator.service script...OK
* Enabling FOGSnapinReplicator.service Service................OK
* Setting permissions on FOGScheduler.service script..........OK
* Enabling FOGScheduler.service Service.......................OK
* Setting permissions on FOGPingHosts.service script..........OK
* Enabling FOGPingHosts.service Service.......................OK
* Setting permissions on FOGSnapinHash.service script.........OK
* Enabling FOGSnapinHash.service Service......................OK
* Setting permissions on FOGImageSize.service script..........OK
* Enabling FOGImageSize.service Service.......................OK
* Setting up FOG Services.....................................OK
* Starting FOGMulticastManager.service Service................OK
* Starting FOGImageReplicator.service Service.................OK
* Starting FOGSnapinReplicator.service Service................OK
* Starting FOGScheduler.service Service.......................OK
* Starting FOGPingHosts.service Service.......................OK
* Starting FOGSnapinHash.service Service......................OK
* Starting FOGImageSize.service Service.......................OK
* Setting up exports file.....................................OK
* Setting up and starting RPCBind.............................OK
* Setting up and starting NFS Server..........................OK
* Linking FOG Logs to Linux Logs..............................OK
* Linking FOG Service config /etc.............................OK
* Ensuring node username and passwords match..................Done
* Setup complete
You can now login to the FOG Management Portal using
the information listed below. The login information
is only if this is the first install.
This can be done by opening a web browser and going to:
http://192.168.1.200/fog/management
Default User Information
Username: fog
Password: password
* Changed configurations:
The FOG installer changed configuration files and created the
following backup files from your origional files:
* /etc/dhcp/dhcpd.conf <=> /etc/dhcp/dhcpd.conf.1621875467
* /etc/vsftpd.conf <=> /etc/vsftpd.conf.1621875467
* /etc/exports <=> /etc/exports.1621875467
À la fin de la phase de configuration, les informations de connexion, URL, login et mot de passe vous sont indiqués.
Premier accès à l’interface graphique
Lors de l’accès à l’URL de connexion, vous aurez l’écran d’authentification :

Capture d'une image
Dans le cadre de déploiements, le principe sera de préparer une machine avec toutes les applications et réglages communs, que l’on nommera « master » et qui sera anonymisée. Ce « master » servira à déployer la même image sur plusieurs machines.
Afin de préparer la capture de l'image, il est nécessaire d'utiliser l'outil "sysprep" de Windows.
Ensuite, créez un conteneur nommé image dans la nomenclature Fog Project.
Pour cela, il faudra accéder à la partie « Image Management » :

Entrer un nom pour l’image et la version de l’OS (si non détecté) suffira (au niveau des flèches bleues).
Il faudra ensuite aller sur l’hôte à capturer depuis la liste des hôtes :

Cliquez sur l’icône orange "flêche vers le haut" pour créer la tâche. Ceci déclenchera l’ouverture des paramètres de la machine, où il vous faudra sélectionner l’image (le conteneur) créée précédemment :

Une fois l’image créée, le nom de celle-ci apparaîtra à côté de l’icône permettant de déclencher la capture :

Lors d’une prochaine capture, vous aurez l’écran suivant. Il faudra relancer la procédure pour arriver sur l’écran de création de la tâche dans le cas où vous venez de créer l’image comme vu ci-dessus.

Nous créons la tâche immédiatement, vous aurez un message comme quoi la tâche a été créée :

Vous pourrez ensuite gérer et suivre l’état depuis la liste des tâches :

Au démarrage de la machine à sauvegarder, celle-ci démarre en réseau sur l’image disque Fog Project :

Ci-dessous, sauvegarde en cours avec partclone, utilisé par Fog Project :

Etat de capture en cours depuis l’interface :

La barre de progression indique l’état d’avancement de la capture.
Une fois la capture effectuée, vous pourrez voir les informations afférentes (comme la taille, la date de capture) depuis la liste des images :

Intégration d'un poste et déploiement d'une image
Nous démarrons un poste client sous Windows grâce à un boot réseau PXE :
.png&w=3840&q=75)
Nous aurons le menu suivant :

Il y a deux options d’enregistrement :
- Quick registration and inventory
- Perform Full Host Registration and Inventory
Nous utiliserons dans un premier temps la première option.
Une fois « quick registration and inventory » (que l’on peut traduire par enregistrement et inventaire rapide) sélectionné, la machine démarrera sur le système fourni par FOG.
Image du boot en cours :

Une fois l’enregistrement effectué, la machine apparaîtra dans la liste des hôtes avec comme nom son adresse MAC :

Maintenant, pour déployer une image sur la machine enregistrée, séléctionner la machine dans le menu des hôtes :

Il faudra cliquer sur l’icône correspondant à votre choix de restauration.
Demande de confirmation :

Contexte de réalisation du projet
Ce projet a été réaliser dans le cadre de mon alternance au sein de l'entreprise Octave.