Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Clonage de machines avec Clonezilla

Par David AMADOU Publié le 29/10/2015 à 00:16:38 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction

Aujourd'hui, acheter plusieurs machines et les configurer par la suite demande un certain investissement mais aussi du temps.

Il existe cependant des méthodes permettant d'économiser ce temps précieux.
 Le but de ce tutoriel est de permettre de monter un serveur DRBL (Diskless Remote Boot In Linux) car celui-ci possède une fonction très intéressante : Clonezilla.

A l'origine, ce logiciel libre servait à faire une sauvegarde de sa machine pour pouvoir la restaurer en cas de problème. Mais nous pouvons l'utiliser autrement. Couplé à un serveur DRBL, Clonezilla peut enregistrer l'image d'une machine et ensuite la déployer sur d'autres machines situées sur le réseau.
Cela nous donnera donc des machines clones possédant un ou plusieurs systèmes d'exploitation et des configurations déjà prédéfinies.

Note: Une fois les paquets dont nous aurons besoin téléchargés, tout le tutoriel se fera sur un réseau privé et dédié à notre montage.

Outils nécessaires

  • Une machine sous une distribution Ubuntu ou Debian (test réalisé avec Ubuntu 14.04) qui servira de serveur DRBL.

  • Une connexion Internet afin de récupérer les paquets dont vous aurez besoin.

  • Un switch qui servira d'intermédiaire entre les machines et notre serveur Clonezilla.

  • Un certain nombre de câbles Ethernet en fonction du nombre de machines à cloner.

  • La machine dite « maître » correspondant à la machine que vous souhaitez reproduire.

  • Les machines clientes qui vont recevoir l'image de la machine maître.

    Note : Il faut savoir que les machines clientes, celles que vous voulez cloner doivent être exactement du même modèle que la machine dont vous ferez une sauvegarde ! Ceci doit être fait pour des raisons de compatibilité au niveau matériel.

    Un des problèmes fréquents qui arrive lorsque vous ne respectez pas cette règle est de se retrouver avec une machine qui n'arrive pas à booter sur son système d'exploitation. Pour cette machine, je vous conseille de partir d'une version propre de Ubuntu. Cela permettra de ne pas rencontrer de conflits liés à un paquet que vous auriez déjà installé.

Préparation du serveur de clonage

Nous allons à présent installer le paquet DRBL sur notre serveur Clonezilla, ajouter les sources dont nous aurons besoin pour notre configuration et mettre à jour notre système d'exploitation. Il est donc nécessaire d'avoir une connexion Internet.
Pour les non initiés à Ubuntu, il vous faut ouvrir un terminal (disponible parmi vos applications) puis vous connecter en tant qu’administrateur à l'aide de la commande :

sudo su 

Nous allons à présent configurer une interface. De là, 2 cas se distinguent :

Premier cas : Vous connaissez les configurations de votre réseau et vous assignez vous-même les adresses que vous voulez utiliser pour vous connecter à Internet. Vous allez donc d'abord ouvrir le fichier interfaces :

nano /etc/network/interfaces

Vous entrez à la suite de ce qui est déjà écrit les lignes suivantes :

auto eth0

iface eth0 inet static 
address x.x.x.x     // entrez votre adresse IP
netmask x.x.x.x    // entrez votre masque réseau
gateway x.x.x.x   // entrez votre passerelle si vous en possédez

Second cas : Vous utilisez une liaison ADSL et par conséquent vos adresses IP vous sont fournies par DHCP.
Dans ce cas, vous éditez ce même fichier interfaces et lui rajoutez les lignes suivantes :

auto eth0
iface eth0 inet dhcp 

Une fois votre liaison Internet établie, nous pouvons donc commencer à télécharger et installer tout ce dont nous allons avoir besoin. Nous commençons donc par récupérer la clé de signature de DRBL :

wget http://drbl.nchc.org.tw/GPG-KEY-DRBL 

Puis nous rajoutons la clé récupérée dans les dépôts de clés du système :

apt-key add GPG-KEY-DRBL 

Nous allons à présent ajouter les sources qui nous serviront à indiquer au système où télécharger les paquets. Pour cela nous allons ouvrir le fichier sources.list à l'aide de la commande suivante :

nano /etc/sources.list 

Puis nous rajoutons à la fin du fichier les 2 lignes ci-dessous :

deb http://free.nchc.org.tw/ubuntu trusty main restricted universe multiverse 
deb http://free.nchc.org.tw/drbl-core drbl stable 

On notera dans notre première ligne que trusty correspond au nom de la version 14.04 de Ubuntu (The Trusty Tahr). Si vous utilisez une autre version ou une autre distribution, il faudra donc adapter cette partie.

Nous quittons l'éditeur en pensant à sauvegarder nos modifications puis nous mettons à jour notre système à l'aide de la commande suivante :

apt-get update 

Si vous n'avez jamais fait cette commande avant, cela risque de prendre un certain temps mais ne vous inquiétez pas, c'est tout à fait normal, votre système va télécharger pas mal de paquets. Une fois que vous avez de nouveau la main dans la console, nous allons pouvoir installer le paquet DRBL :

apt-get install drbl 

Une fois cette étape terminée, nous sommes à présent parés pour configurer notre serveur DRBL. L'avantage de ce logiciel est que la configuration s'adapte en fonction de nos besoins. Une série de questions nous sera posée afin de nous permettre d'obtenir un serveur correspondant exactement à nos attentes.

Nous allons enfin pouvoir commencer la configuration. Pour cela, nous allons taper la commande :

/opt/drbl/sbin/drblsrv -i 

Nous allons à présent décrire les différentes questions dont nous avons eu à répondre afin d'obtenir notre serveur. Cependant, vous aurez compris que la configuration de notre serveur nous est propre et ne correspond pas forcément à ce que vous recherchez. A vous donc de l'adapter selon vos besoins.

Une fois que vous aurez lu le premier paragraphe de l'image ci-dessous (qui apparaît certainement aussi sur votre écran), vous saurez comment répondre aux questions. Nous pouvons à présent y aller.

On nous demande d'abord si nous voulons installer des images de systèmes qui seront proposés lors du boot des clients. N'ayant pas besoin de cela car nous allons juste utiliser Clonezilla, nous répondons No.

Nous n'avons pas besoin de sortie console série sur les clients donc nous répondons une nouvelle fois négativement.

Le logiciel va à présent récupérer des fichiers à partir de vos sources puis vous proposer de mettre à jour le système. Vous n'êtes pas obligés mais si vous acceptez, le système va alors télécharger des paquets et cela peut prendre un certain temps (sauf si votre système est déjà à jour).

Il nous est demandé ici quel noyau voulons-nous utiliser pour nos machines clientes. Nous choisirons celui du serveur DRBL.

Configuration de l'environnement DRBL et des clients

Une fois cela fait, nous pouvons passer à la seconde étape.

Petite remarque avant le début : Vous avez à présent tous les paquets dont nous aurons besoin. Vous pouvez donc modifier à nouveau vos paramètres réseau afin de vous retrouver dans votre réseau local (voir configuration du fichier Interfaces).

De plus, nous vous conseillons de n'avoir qu'une seule interface réseau active (eth0 ou eth1 en général). Pour voir combien vous en avez, il suffit de taper la commande ifconfig. Si deux interfaces apparaissent, enlevez-en une à l'aide de la commande suivante :

// x correspond au numéro de l'interface que vous voulez retirer
ifconfig ethx down 

Vérifiez que celle que vous venez d'enlever n’apparaît plus. Une fois cela fait, nous allons créer une interface réseau virtuelle qui nous sera utile dans la configuration du serveur DRBL.
Nous devons donc ouvrir une nouvelle fois notre fichier interfaces :

nano /etc/network/interfaces 

Nous rajoutons à la fin du fichier les lignes suivantes :

auto ethx:0     // x correspond ici au numéro de l'interface conservée 
iface ethx:0 inet static 
address x.x.x.x     // vous mettez à la place des x votre adresse IP 
netmask x.x.x.x     // vous entrez votre masque réseau

Celle-ci se fait en suivant les instructions données après avoir fait la commande suivante :

/opt/drbl/sbin/drblpush -i 

La première question concerne le domaine DNS. Travaillant dans un réseau uniquement dédié à la procédure de clonage, nous allons accepter l'option proposée (tapez yes).

La seconde option concerne le nom du domaine NIS/YP.
Le NIS (Network Information Service), anciennement nommé YP (Yellow Pages), est un protocole client/serveur développé par Sun permettant la centralisation d'informations sur un réseau UNIX. Son but est de distribuer les informations contenues dans des fichiers de configuration contenant par exemple les noms d'hôte (/etc/hosts), les comptes utilisateurs (/etc/passwd), etc, sur un réseau.

On choisira d'accepter le nom proposé par défaut.

On nous propose à présent de définir le préfixe de nom d'hôte du client. Les clients auront donc tous ce préfixe chaque fois qu'ils communiqueront avec notre serveur DRBL.

On arrive maintenant à une étape importante et cruciale pour le bon fonctionnement de notre serveur. Comme défini précédemment, nous avons une interface réseau « réelle » (ethx, avec x le numéro que vous aurez choisi de garder) et une autre virtuelle (ethx:0).


Nous choisirons de définir l'interface virtuelle pour notre accès internet et l'interface « réelle » pour la connexion DRBL. Donc, dans notre cas, nous choisirons eth1:0 comme réponse à la question.

On nous propose ici d'enregistrer les adresses MAC des clients afin que ceux-ci puissent disposer toujours de la même adresse IP lors de la communication avec le serveur.
Cette option ne nous intéressant pas, nous sélectionnerons l'option par défaut, à savoir No.

Complément à la question précédente, on nous demande à présent si l'on souhaite que les clients conservent toujours la même adresse IP. Nous répondrons également No.

Passons maintenant à quelque chose d'un peu plus parlant, à savoir la plage d'adresses IP que nous souhaitons offrir aux clients.

Il nous faut dans cette question mettre la première valeur du dernier octet de l'adresse réseau. Cela permettra de connaître le début de la plage d'adresses.
Nous choisirons de commencer par 5 car notre interface eth1 a pour adresse 192.168.1.1.

Nous devons ici renseigner le nombre de postes clients pour définir combien d'adresses IP nous pourrons attribuer au maximum.
Nous choisirons 12 dans notre cas.

Pour finir, on nous demande si la plage d'adresses qui a été déterminée en fonction des paramètres que nous avons entré nous convient. Si ce n'est pas le cas, on peut recommencer cette étape (les deux dernières questions).

Une fois la question précédente validée, on nous affiche le réseau de ce que nous aurons au niveau réseau.

On choisira ici de ne pas fournir de service diskless aux clients car nous n'en n'avons pas besoin.

Au niveau des modes possibles pour Clonezilla, nous choisirons le mode « Clonezilla Box » (choix 1). Nous n'avons pas besoin que les fichiers de configuration du client soient sauvegardés sur le serveur DRBL. De plus, cela provoque un temps d'attente supplémentaire avant le début du clonage lorsqu'on démarre le client.

Il nous est demandé ici de renseigner l'emplacement dans lequel le serveur stockera les images des machines. Dans notre cas, nous avons créée un dossier spécifique nommé images directement à la racine (représenté par le symbole /).

A moins que vous en ayez besoin, un mot de passe ne sert pas à grand chose si nous restons dans notre petit réseau privé. Nous avons donc choisi de répondre négativement à la question posée ci- dessous.

Nous répondons également No à cette option car nous n'aurons pas besoin de prompt pour les clients vus que tout se fera automatiquement à leur démarrage.

Nous répondons de nouveau négativement car, à moins de vouloir faire joli, nous n'avons pas besoin d'un arrière-plan graphique sur nos machines clientes.

N'ayant pas besoin que le serveur DRB soit aussi un serveur NAT, nous pouvons une fois de plus répondre No à la question ci-dessous.

Nous choisirons une dernière fois de répondre No à la question posée.

Une fois la précédente question validée, on appuie ici sur la touche ENTREE pour continuer.

On valide la question en répondant Yes.

Une fois cette option validée, le système va configurer le serveur en fonction de vos réponses.

Notre serveur DRBL est maintenant prêt.
Il nous faut à présent configurer les clients afin qu'ils puissent booter en PXE, mode de démarrage distant utilisé par le serveur.

Sauvegarde et clonage

Image de sauvegarde

Nous allons à présent nous occuper de sauvegarder le disque dur d'un ordinateur en réalisant une image de celui-ci. C'est donc les données de cette machine qui seront reproduites sur d'autres machines.

Pour réaliser cela, nous allons nous placer sur le serveur DRBL et redémarrer tous les services relatifs à celui-ci grâce à la commande :

/opt/drbl/sbin/drbl-all-service restart 

Note : Vérifiez qu'il n'y ait aucune erreur en utilisant les logs (situé dans le fichier /var/log/syslog).Il est possible qu'on vous dise que le répertoire exports.d n'a pas été trouvé. Dans ce cas, il vous suffira de le créer afin de résoudre le problème (commande : mkdir /etc/exports.d).

Une fois que tous les services ont été redémarrer sans rencontrer d'erreurs, taper la commande suivante afin de configurer et démarrer votre serveur Clonezilla:

/opt/drbl/sbin/dcs

On nous demande ici si l'on veut sélectionner tous les clients du réseau ou si l'on veut choisir des clients en particulier.
Dans notre cas, nous allons choisir la première option car, mis à part le serveur DRBL, la seule machine qui sera allumée une fois la procédure de sauvegarde d'image enclenchée sera la machine à sauvegarder. Nous n'avons donc pas besoin de choisir des clients en particulier.

On choisit de démarrer le mode Clonezilla qui nous proposera de choisir parmi différents paramètres selon que nous ayons besoin de sauvegarder une image ou d'en restaurer une.

Nous pouvons choisir le mode débutant pour le moment, il suffit pour réaliser notre sauvegarde.

On choisit bien évidemment la sauvegarde totale du disque.

On choisit dès maintenant nommer l'image que nous allons réaliser. On choisit donc la première option.

On rentre le nom souhaité pour cette image.

Laissez l'option proposée par défaut.

On choisit la seconde option par mesure de sécurité.

On peut également vérifier que l'image que nous avons réalisée est restaurable.

N'ayant pas besoin de redémarrer cette machine après la sauvegarde, nous pouvons donc choisir de l'éteindre à la fin de la procédure de clonage.

Nous avons ici la possibilité de couper notre image en plusieurs parties de taille fixe. Mais cela ne nous intéresse pas donc nous laissons la valeur proposée.

On valide et c'est parti !
On appuie sur la touche ENTREE lorsque cela nous est proposé et la procédure est lancé. Nous pouvons à présent démarrer la machine à cloner et seulement celle-ci. Cela est important car le serveur enverra la procédure de sauvegarde à la première machine disponible sur le réseau.

Déploiement de l'image sur la machines clientes

Une fois que la machine cliente a fini la procédure de sauvegarde et s'est éteint, vous pouvez arrêter le serveur Clonezilla à l'aide la commande suivante :

/opt/drbl/sbin/dcs clonezilla-stop 

Nous allons à présent déployer l'image sauvegardée sur les machines clientes. Tapez la commande vu précédemment :

/opt/drbl/sbin/dcs 

On choisit une nouvelle fois tous les clients car cette fois, ce sont les machines à cloner qui seront allumées et seulement elles ( et bien sûr le serveur).

On démarre Clonezilla.

On choisit cette fois le mode Expert.

On veut à présent déployer l'image sauvegardée sur des machines. Il est donc normal de choisir l'option « restore-disk ».

On va maintenant désactiver la seconde option « -e1 auto » car celle-ci peut causer des soucis si vos partitions ne sont pas en NTFS (notamment sur les systèmes de fichiers Windows).

Voulant une copie exacte de l'ordinateur qu'on a sauvegardé, on va laisser l'option par défaut, à savoir l'utilisation de la table de partitions de l'image.

Comme précédemment, nous allons laisser l'option par défaut car nous n'avons pas besoin d'un service Clonezilla sur le client.

Nous choisissons cette fois non pas d'éteindre les clients à la fin de l'exécution de Clonezilla mais de les redémarrer afin de vérifier que le déploiement de l'image s'est bien déroulé sur chacun d'entre eux.

Nous choisissons ici l'image que nous voulons déployer. N'ayant réalisé qu'une sauvegarde, il est normal de ne voir apparaître qu'une seule image.

Laissez l'option choisie.

Il existe ici 3 options :

  • La première, celle qui nous intéresse, permet de déployer une image sur les machines que l’on souhaite.

  • La seconde déploie une image sur toutes les machines disponibles sur le réseau.

  • La dernière déploie une image sur une machine unique.

Nous voulons que l’exécution de Clonezilla se passe tout de suite après cette configuration du serveur Clonezilla. Nous pouvons donc nous passer de définir l’heure de début et choisir juste l’option nous permettant de définir le nombre de clients à cloner.

Le nombre de clients que vous allez définir est important car vous devrez impérativement démarrer ce nombre de machines pour que le procédé de clonage se passe correctement.


En effet, aucun client ne commencera le clonage tant que le nombre exact de machines que vous aurez choisi de définir ne sera pas allumé. Il est donc important d'être sûr du nombre de clients que vous voulez cloner en une fois.

Et c'est parti!
 On valide cette fois en appuyant, non pas une fois comme précédemment, mais deux fois sur la touche ENTREE lorsque cela nous est demandé.


Une fois cela fait, nous pouvons à présent démarrer nos machines à cloner, en n'oubliant pas que le nombre maximum de machines en marche est égal à celui que vous avez défini précédemment (voir l'image ci-dessus).

Lorsque la restauration finie, vos machines doivent à présent redémarrer et vous devriez avoir la même machine que celle que vous avez sauvegardé!

Une fois que vous aurez réussi la procédure au moins une fois, vous pourrez observer la facilité avec laquelle Clonezilla nous permet de réaliser le clonage de machines.
Si vous avez besoin de refaire cette procédure plusieurs fois, assurez vous toujours d'avoir une interface réseau « réelle » (eth0 ou eth1) et une autre « virtuelle » (ethx:1 ou autre).

Clonezilla est donc un outil très pratique qui permet de sauvegarder des machines rapidement dans le but de les restaurer en cas de besoin ou de déployer ces sauvegardes sur d'autres machines afin d'en faire des clones.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels