FOG est principalement un logiciel de sauvegarde et de restauration d’images de disque dur. Mais il dispose aussi d’autres fonctionnalités et on peut par exemple l’utiliser comme un serveur de déploiement d’images système via le réseau. Il est capable de télécharger un master provenant d’un poste et de le déployer sur un autre. Le tout fonctionne par PXE, qui permet d’amorcer les postes via le réseau.

FOG est capable d’utiliser des technologies comme le Wake on LAN et le multicast pour faciliter le déploiement.

Pré-requis

Installation d’une Centos 7 avec les outils de développement minimum.

Désactivation du SELinux :

Edition du fichier /etc/sysconfig/selinux et on passe le paramètre SELINUX=enforcing à SELINUX=disable

On reboot et ensuite on peut s’assurer de la prise en compte avec la commande :

[root@serveurfog1v fog]# sestatus
SELinux status: disabled
[root@serveurfog1v fog]#

Désactivation du firewall :

On vérifie le status :

[root@serveurfog1v ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since lun. 2017-10-09 18:10:10 CEST; 15h ago
Docs: man:firewalld(1)
Main PID: 774 (firewalld)
CGroup: /system.slice/firewalld.service
└─774 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

oct. 09 18:10:05 serveurfog1v systemd[1]: Starting firewalld - dynamic firewall daemon...
oct. 09 18:10:10 serveurfog1v systemd[1]: Started firewalld - dynamic firewall daemon.
oct. 09 18:10:11 serveurfog1v firewalld[774]: WARNING: ICMP type 'beyond-scope' is not supported by the kernel for ipv6.
oct. 09 18:10:11 serveurfog1v firewalld[774]: WARNING: beyond-scope: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
oct. 09 18:10:11 serveurfog1v firewalld[774]: WARNING: ICMP type 'failed-policy' is not supported by the kernel for ipv6.
oct. 09 18:10:11 serveurfog1v firewalld[774]: WARNING: failed-policy: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
oct. 09 18:10:11 serveurfog1v firewalld[774]: WARNING: ICMP type 'reject-route' is not supported by the kernel for ipv6.
oct. 09 18:10:11 serveurfog1v firewalld[774]: WARNING: reject-route: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
Vous avez du nouveau courrier dans /var/spool/mail/root

Le firewall est donc bien actif. On les désactive avec les commandes suivantes :

[root@serveurfog1v ~]# systemctl stop firewalld.service
[root@serveurfog1v ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@serveurfog1v ~]#

Désactivation de la carte réseau virtuelle :

[root@serveurfog1v ~]# virsh net-destroy default

[root@serveurfog1v ~]# virsh net-undefine default

Installation

Pour installer FOG, il faut télécharger un .tar.gz de la dernière version sur le site du projet (http://fogproject.org/). La version installée dans ce tutoriel est la 1.4.4. Après extraction du .tar.gz (via la commande tar –xzf fichier.tar.gz), il faut lancer le script d’installation installfog.sh se trouvant dans le dossier targz-decompressé/bin.

Le script posera plusieurs questions concernant le paramétrage du serveur. Les voici :

Note : les réponses suivantes sont correctes dans le cas de l’intégration du service FOG dans un réseau existant, c’est-à-dire avec un serveur DHCP, DNS, un(e) routeur/passerelle déjà fonctionnels.

Copie des réponses en gras aux questions posées lors de l’installation :

[root@serveurfog1v bin]# ./installfog.sh
Installing LSB_Release as needed
* Attempting to get release information.......................Done
systemd

+------------------------------------------+
| ..#######:. ..,#,.. .::##::. |
|.:###### .:;####:......;#;.. |
|...##... ...##;,;##::::.##... |
| ,# ...##.....##:::## ..:: |
| ## .::###,,##. . ##.::#.:######::.|
|...##:::###::....#. .. .#...#. #...#:::. |
|..:####:.. ..##......##::## .. # |
| # . ...##:,;##;:::#: ... ##.. |
| .# . .:;####;::::.##:::;#:.. |
| # ..:;###.. |
| |
+------------------------------------------+
| Free Computer Imaging Solution |
+------------------------------------------+
| Credits: http://fogproject.org/Credits |
| http://fogproject.org/Credits |
| Released under GPL Version 3 |
+------------------------------------------+

Version: 1.4.4 Installer/Updater

Not able to find an interface with an active internet connection. Trying alternative methods for determining the interface.
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: [1]

Starting Redhat 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)] N

What is the IP address to be used by this FOG Server? [172.16.18.11]

Would you like to change the default network interface from ens160?
If you are not sure, select No. [y/N] N

Would you like to setup a router address for the DHCP server? [Y/n] Y
What is the IP address to be used for the router on the DHCP server? [172.16.1.254]172.16.16.103

Would you like DHCP to handle DNS? [Y/n] n

Would you like to use the FOG server for DHCP service? [y/N] N

This version of FOG has internationalization support, would
you like to install the additional language packs? [y/N] y

######################################################################
# 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 #
######################################################################
# ** Notice ** FOG is difficult to setup securely #
# SELinux and IPTables are usually asked to be disabled #
# There have been strides in adding capabilities #
# The recommendations would now be more appropriate #
# to set SELinux to permissive and to disable firewall for now. #
# You can find some methods to enable SELinux and maintain firewall #
# settings and ports. If you feel comfortable doing so please do #
######################################################################
# Please see our wiki for more information at: #
######################################################################
# https://wiki.fogproject.org/wiki/index.php #
######################################################################

* Here are the settings FOG will use:
* Base Linux: Redhat
* Detected Linux Distribution: CentOS Linux
* Server IP Address: 172.16.18.11
* Server Subnet Mask: 255.255.0.0
* Interface: ens160
* Installation Type: Normal Server
* Internationalization: 1
* Image Storage Location: /images
* Using FOG DHCP: No
* 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. 172.16.18.11)
* Option 067/filename is the bootfile: (e.g. undionly.kpxe)

* Are you sure you wish to continue (Y/N) Y

* Installation Started

* Installing required packages, if this fails
| make sure you have an active internet connection.

* Adding needed repository....................................OK
* Preparing Package Manager...................................OK
* Packages to be installed:

bc curl gcc gcc-c++ gettext gzip httpd lftp m4 make mod_ssl mysql mysql-server net-tools nfs-utils php php-bcmath php-cli php-common php-fpm php-gd php-ldap php-mbstring php-mcrypt php-mysqlnd php-process tar tftp-server unzip vsftpd wget xinetd

* Skipping package: bc......................................(Already Installed)
* Skipping package: curl....................................(Already Installed)
* Skipping package: gcc.....................................(Already Installed)
* Skipping package: gcc-c++.................................(Already Installed)

.

* Stopping web service........................................OK

Au milieu de l’installation on doit renseigner le mot de passe de la base Mysql. On peut le laisser vide pour se simplifier la vie mais au niveau sécurité c’est moyen. On va donc positionner un mot de passe … Mais attention le mot de passe renseigné ne sera postionné que dans les fichiers de config de FOG. Il faut donc avant de continuer, ouvrir une autre fenêtre SSH pour positionner ce mot de passe sur la base MYSQL en elle-même. On utilise la commande suivante :

[root@serveurfog1v ~]# mysql_secure_installation

Enter current password for root (enter for none): (appuyer directement sur la touche Entrée du clavier)

Set root password? [Y/n] Y

New password: MdpROOTMySql
Re-enter new password: MdpROOTMySql

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

On peut alors renseigner le mot de passe et continuer l’installation de FOG :

* Is the MySQL password blank? (Y/n) n
* Enter the MySQL password: MdpROOTMySql
* Re-enter the MySQL password: MdpROOTMySql
* Stopping FOGMulticastManager.service Service................OK

.
* Resetting SSL Permissions...................................OK
* Setting up SSL FOG Server...................................OK
* Starting and checking status of web services................OK
* Changing permissions on apache log files....................OK
* Backing up database.........................................OK

* You still need to install/update your database schema.
* This can be done by opening a web browser and going to:

http://172.16.18.11/fog/management

* Press [Enter] key when database is updated/installed.

On ouvre un navigateur pour faire une mise à jour du schéma de la base. Une fois effectué on continue l’installation …

* 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://172.16.18.11/fog/management

Default User Information
Username: fog
Password: password

Vous avez du nouveau courrier dans /var/spool/mail/root
[root@serveurfog1v bin]#

Voilà ! Plus qu’à se connecter sur l’interface d’admin …

Interface d’administration de FOG

Fog est installé et fonctionnel.

Il faut maintenant modifié le serveur DHCP pour renseigner les paramètres nécessaire au boot via le réseau PXE.

On renseigne donc les valeurs mentionnées par l’installation de FOG. Pour rappel :

* 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. 172.16.18.11)
* Option 067/filename is the bootfile: (e.g. undionly.kpxe)

Dans mon cas il sa’git d’un serveur Windows. On lance donc l’interface d’administration dhcp et l’on renseigne les champs 066 et 067 dans « Scope Options »

Voilà. L’installation du serveur est terminée. On passe à l’utilisation …

Déploiement d’une image à partir de FOG Server : => ICI


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.