télécharger 60.6 Kb.
|
Cette solution est actuellement utilisée au seins de mon entreprise l’afbb qui a un parc informatique composé de 50 postes . Les objectifs au terme de ce projet sont de pouvoir : - Démarrer depuis le serveur un ou des postes à distance (utilisation de WOL) - Pouvoir choisir à distance depuis le serveur sur quel partition l’on veut démarrer (utile pour une maintenance) - Pouvoir à distance faire une image d’un ou de plusieurs clients en multicast via PXE - Pouvoir restaurer une image précédemment créée toujours via PXE (en multicast) Pour commencer, nous allons installer le serveur, dans notre cas, nous allons prendre la netinstall Debian 5.0 (Lenny/stable) sur kernel 2.6.26-2-686. Rien de particulier à dire si ce n’est que le seul package à choisir lors de la netinstall est simplement le Système standard. Pas à pas de la netinstall - Booter sur le cd de netinstall Debian - Choisir install - French (langue) - France (pays) - Français (clavier) - DHCP => annuler puis « continuer » - Configurer vous-même le réseau - Votre adresse IP - Masque classe C - Votre passerelle/routeur - Votre serveur DNS - Nom de la machine : Clonezilla - Domaine : aucun - Partitionnement manuel : o Sda => créer table de partition o Créer nouvelle partition primaire en ext3 (montage /) (dans notre cas pas de swap, RAM suffisante) o Terminer partitionnement - Choisir mot de passe, etc… - Installer grub Installation de DRBL/clonezilla Avant toute chose, il va falloir ajouter les dépôts de clonezilla dans le sources.list (dans /etc/apt) Deb http://drbl.sourceforge.net/drbl-core drbl stable Mettre à jour la base de données locale des dépôts : apt-get update Une erreur concernant la clé GPG ? Pas de panique, il suffit de récupérer la clé concernant drbl (wgethttp://drbl.nchc.org.tw/GPG-KEY-DRBL) et d’ajouter cette clé pour apt (apt-key add GPG-KEY-DRBL) ! Il faut maintenant créer une interface virtuelle : ifconfig eth0:0 IP netmask MASQUE up Ce dernier point est utile car lors de l’installation de drbl/clonezilla, ce dernier est configuré pour utiliser 2 interfaces (LAN/WAN), nous y reviendrons après. Nous allons maintenant récupérer le paquet .deb de drbl afin de l’installer. Pour le récupérer, nous allons utiliser links2, un navigateur en console. apt-get install links2 gpm gpm est quant à lui aussi utile car il permet d’utiliser la souris en console, très pratique pour les copier/coller. Il suffit maintenant de se rendre dans links2 et d’entrer l’url http://drbl.sourceforge.net/download/sourceforge/stable/pkg-files.php (ou http://bit.ly/dl-drbl) http://sourceforge.net/projects/drbl/files/drbl_stable/ afin de récupérer le paquetdrbl_1.9.5-42_i386.deb drbl_1.12.15-1drbl_all.deb (Merci à @Ted, version à jour du 13/12/2012). Passons maintenant à l’installation de celui-ci : Dpkg –i drbl_1.9.5-42_i386.deb Nous allons maintenant pouvoir lancer l’installation de clonezilla : /opt/drbl/sbin/drblsrv –i - Installer une distribution ? non, inutile - Console série ? non, inutile - Architecture : i586 - Mettre à jour le système d’exploitation : (Y) oui ou non (comme vous voulez…) - Le script fait maintenant la mise à jour de l’OS et installe les paquets utiles pour mettre en place clonezilla….. (si l’on n’a pas modifié le sources.list en ajoutant les dépôts DRBL comme vu précédemment, il va y avoir une erreur avec la coupure du script.) Configuration de drbl/clonezilla Pour ce faire, il suffit de lancer la commande : /opt/drbl/sbin/drblpush –i Ensuite diverses questions vont être posées : - dns, NIS, prefixe client : par défaut. L’utilisation de l’interface virtuelle que l’on a créée précédemment va se faire ici. Drbl nous demande maintenant quelle est l’interface public (donc internet), ça sera l’interface eth0:0. Répondre non aux 2 prochaines questions vu que l’on ne veut pas enregistrer ces clients, ni offrir les mêmes adresses aux clients, le serveur DHCPd (nous avons déjà la liste des macs adresses.) s’occupe de ça. - Pour l’attribution d’IP, choisir une plage… (dans notre cas : entre 20 et 40) et valider via « y » - Ne pas fournir de drbl (2) utilisant ltsp (inutile dans notre cas (pour clients légers) - Fournir clonezilla BOX (1), c’est ce que nous avons besoin pour le déploiement. - nous allons utiliser /images comme dossier de destinations de celles-ci. - Aucun mot de passe de démarrage - On définit un prompt de démarrage ! tempo à choisir (délai avant l’action par défaut), arrière-plan graphique (y) - On désactive NAT, l’utilisation de PXE ne se fera qu’en LAN… Et l’on poursuit.. La configuration se fait maintenant. Afin de faciliter la gestion du parc par filtrage MAC, il est préférable d’ajouter dans /etc/dhcp3/dhcpd.conf les postes clients un par un afin de les nommer et donc de réserver les IPs, voici la syntaxe : Host nom hôte { Hardware ethernet @MAC ; #de l’hôte Fixed-address @IP ; #de l’hôte } Et redémarrer le service dhcpd : /etc/init.d/dhcp3-server restart Création d’images de grub pour la selection de la partition à booter à distance Création d’image de disquette virtuelle Pour commencer, il faut créer une image disquette (via VMware dans notre cas) du grub à envoyer en PXE. Pour se faire, il faut se rendre dans les paramètres de la machine virtuelle dans l’onglet périphériques et sélectionner le floppy disk, et cliquer sur create disk. Il suffit de choisir un nom et ceci sera fait. installation de grub Nous allons maintenant procéder au formatage de la disquette via mke2fs : mke2fs /dev/fd0 Puis monter la disquette dans un répertoire : mount -t ext2 /dev/fd0 /mnt Et créer les 2 dossiers nécessaires à l’installation de grub : mkdir –p /mnt/boot/grub La prochaine étape est d’ajouter dans ce dernier le stage1 et stage2 de grub qui se trouve dans /boot/grub/ (cp /boot/grub/stage[1-2] /mnt/boot/grub). Dès que les 2 stages de grub sont copiés, il faut démonter la disquette (umount /dev/fd0) et entrer dans grub (grub). Afin de finaliser l’installation de ce dernier, il suffit d’entre les 2 commandes qui suivent (spécifier le périphérique et lancer l’installation) : ![]() Configuration de grub Grub est maintenant installé. Cryptage du mot de passe Afin de ne pas mettre le mot de passe de verrouillage grub en clair, nous allons le crypter en md5 via grub : (azerty pour les tests, ATTENTION : clavier grub en qwerty) ![]() Configuration menu.lst < Il va maintenant falloir configurer le menu pour les partitions (dans ce cas, en défaut : Ubuntu) qui se trouve dans le répertoire monté /mnt/boot/grub/menu.lst: ![]() Grub est maintenant configuré. Création de l'image PXE Nous pouvons maintenant procéder à la création de l’image de boot grub à partir de l’image disquette (ne pas oublier de démonter la disquette). Pour cela, l’on va d’abord se rendre dans le répertoire root du serveur TFTP de clonezilla : cd /tftpboot/nbi_img/ et enfin, créer l’image dans ce dernier : # dd if=/dev/fd0 of=boot_ubuntu.img bs=1024 count=1440 L’image de boot PXE pour démarrer sur Ubuntu est maintenant prête. Pour Windows XP, il suffit de refaire la manipulation en modifiant simplement le default à 1 dans le menu.lst. Configuration du menu de boot Maintenant que les images de boot pour grub sont préparées, nous allons pouvoir les ajouter dans le menu de boot PXE. Pour se faire, il faut éditer le script situé dans /opt/drbl/sbin/generate-pxe-menu et se diriger vers la fin où l’on trouve les labels puis ajouter les 2 entrées pour ces menus (il est conseillé de les entrer après le label local, ce dernier restera par défaut comme ça). ![]() On a aussi la possibilité de désactiver l’édition des menus en mettant l’option « ALLOWOPTIONS » à 0. Définition des lignes : Label : nom du label (vu sur clonezilla) MENU DEFAULT : IMPORTANT : utilisé pour la configuration du boot via clonezilla MENU HIDE : pareil Menu label : nom du label vu sur le menu de boot pxe Memdisk : utilisation de la mémoire du client pour charger l’image Boot_xp.img : image à chargée TEXT HELP/ENDTEXT : compléments d’aide lors de la sélection du label dans le menu pxe. Pour changer le timeout du menu, il faut modifier timeout (40 = 4 secondes). On peut aussi modifier l’image de boot soit en changeant la valeur dans MENU BACKGROUND, soit en remplaçant drblwp.png situé dans /tftpboot/nbi_img/. Le menu est maintenant configuré, il suffit de lancer ce script après l’avoir enregistré pour prendre en compte les résultats : /opt/drbl/sbin/generate-pxe-menu Nous pouvons maintenant démarrer une machine en PXE pour voir les changements : ![]() Voici divers exemples pour utiliser clonezilla (depuis la commande /opt/drbl/sbin/dcs) : Premier menu : 2 choix sont proposés : le premier permet de paramétrer une action pour TOUS les clients (c'est-à-dire sur tout le pool dhcp en récupérant les correspondances dans dhcpd.conf) le second permet de paramétrer une action pour UN ou PLUSIEURS clients Création de groupe Il est possible de créer des groupes de MAC/IP pour éviter de sélectionner un à un les postes cibles. Pour se faire il suffit de créer dans /etc/drbl/ un fichier contenant les adresses MAC ou IPs cibles. Groupes par adresses MAC /etc/drbl/MAC-grp-« nom du groupe » Contenu (une IP par ligne) : 00:25:XX:XX:XX:XX 00:1c:XX:XX:XX:XX Groupes par adresses IP /etc/drbl/IP-grp-« nom du groupe » Contenu (une IP par ligne) : 192.168.1.1 192.168.1.2 Exemple 1 : sélectionner le démarrage par défaut Maintenant, si l’on veut que TOUS les postes démarrent automatiquement sur XP, il suffit de sélectionner le mode « All », de se rendre dans l’option « more » => « switch-pxe-menu » => « setdefault »=> cocher « xp ». Exemple 2 : utilisation du wol (wake-on-lan) Maintenant soit on démarrer les postes un à un… soit on relance dcs en sélectionnant une fois de plus le mode « All » et en sélectionnant par la suite « Wake-on-Lan ». Attention lorsque l’on choisit ce paramètre, il reste par défaut même après le redémarrage de la machine. Donc il faut penser à changer la valeur de setdefault après reboot. ![]() Exemple 3 : Backup d'un poste via PXE Nous allons cette fois ci utiliser le mode « part » avec par la suite, le mode par adresse MAC. On choisit le poste client à sauvegarder via la touche espace et l’on accepte. Ensuite, il faut choisir « clonezilla start », suivis de « save-parts » (dans mon cas « save-disk ») et entrer le nom de l’image. ![]() Exemple 4 : Restauration de plusieurs postes en Multicast Encore une fois, nous allons choisir le mode « Part » . ![]() On choisit les postes à restaurer en cochant avec la touche espace. (les hôtes affichés sont récupérés à partir des réservations IPs faites dans le dhcpd.conf) Une fois les clients sélectionnés, il faut choisir le mode « clonezilla-start », ensuite au choix entre débutant et expert. Expert permettant de configurer plus d’options tel que la méthode de compression, la priorité des utilitaires à utiliser pour la restauration, etc… Une fois choisi, il faut sélectionner « restore parts », choisir l’action à faire à la fin du clonage. A noter : on ne peut faire de restauration sur un disque dur cible qui est plus petit que le disque dur dont provient l’image. Par ailleurs, il est possible de faire une restauration sur un disque dur plus grand que le disque dur source (clonezilla va s’occuper de redimensionner le MBR source afin que la taille de la table des partition soit proportionnelle à la taille du disque dur cible). ![]() ![]() Elle permet de spécifier un nombre de client cibles ainsi qu’un délai max avant le début du déploiement. ![]() Imaginons que l’on veuille déployer une image sur 20 postes et que l’on mette un délai d’attente de 30 secondes : Si au bout de 30 secondes à partir du moment où le premier poste se connecte, les 20 postes connectés ne sont pas atteint, la restauration commence. Lorsque la restauration est terminée, une notification est envoyée sur le Shell afin de prévenir l’état de la restauration. ![]() |