Installation d'un serveur de déploiement Linux par le réseau
![]()
Nous allons voir ici comment mettre en place un serveur d'installation de système Linux par le réseau. Les machines clientes devront biensûr être capables de booter en réseau (notion de PXE).
Pour que cela fonctionne, il nous faut 3 serveurs :
- un serveur DHCP qui attribut des adresses IP aux machines clientes
- un serveur TFTP qui permet le boot par carte réseau
- un serveur Apache qui permet le transfert des fichiers pour l'installation
Dans l'exemple ici, la machine qui hébergera tous ces serveurs a pour adresse IP : 192.168.0.188
1. Le serveur DCHP
Pour que cela fonctionne, il vous faudra impérativement un serveur DHCP sur votre réseau. Vous pouvez consulter cette page pour savoir comment en installer un sous linux.
Je pars donc ici du principe que le DHCP est fonctionnel. On va devoir légèrement modifier sa configuration, pour qu'il puisse prendre en compte les boots PXE.
Rajoutez les ligne suivantes, avant la dernière accolade '}' de la configuration globale, dans le fichier /etc/dhcpd.conf :
# Adresse du serveur TFTP next-server 192.168.0.188; # Chemin où se trouve le fichier pxe sur le serveur TFTP filename "/linux-install/pxelinux.0";
Puis rechargez la configuration :
/etc/init.d/dhcpd reload
2. Mise en place du serveur TFTP
Pour installer le serveur tftp, lancez la commande suivante (sous Fedora) :
yum install tftp tftp-server
Ce dernier est lancé via xinetd.d. On peut donc voir la configuration via la commande suivante :
more /etc/xinetd.d/tftp
Attention, si dans ce fichier, vous avez une ligne comme celle-ci, il faudra la supprimer sinon le serveur ne pourra pas démarrer :
disable = yes
Pour installer le système d'amorçage pxelinux, on lancera la commande :
yum install system-config-netboot
Ceci s'occupera d'aller installer le fichier linux-install/pxelinux.0 dans le dossier du serveur, à savoir /tftpboot. Ce dernier sert aux cartes réseaux pour réaliser leur boot PXE, mais aussi pour afficher un menu permettant de choisir la distribution linux que l'on veut installer, quand le serveur en propose plusieurs.
Il ne nous reste plus qu'à démarrer le serveur TFTP :
/etc/init.d/xinetd restart
3. Mise en place du serveur Apache
Pour installer le serveur Apache, lancez la commande suivante (sous Fedora) :
yum install httpd
Et lancez le serveur :
/etc/init.d/httpd start
On va ensuite monter le contenu d'un CD d'une distribution linux dans un dossier accessible par le serveur Apache :
mkdir /var/www/html/pxe/fc7
mount -t iso9660 F-7-i386-DVD.iso /var/www/html/pxe/fc7/ -o loop
Si votre serveur est mis en place pour une certaine période, je vous conseille d'inscrire cette ligne dans le fichier /etc/fstab, afin que les montages soient rétablis au démarrage du serveur.
Vérifiez ensuite que les fichiers soient bien accessibles par un navigateur web, en allant à l'adresse :
http://192.168.0.188/pxe/
4. Création du fichier Kickstart
Le fichier kickstart est un petit fichier texte dans lequel sont inscrites toutes les options d'installation. Si le fichier n'existe pas, le serveur vous posera des questions à l'installation. Sa présence est donc nécessaire si vous voulez réaliser des installations automatiques.
Il existe un utilitaire graphique de création de ce type de fichier que l'on peut installer et lancer comme ceci :
yum install system-config-kickstart
system-config-kickstart
Choisissez les paramètres que vous souhaitez pour l'installation de votre distribution. Il faut savoir que chaque paramètre qui n'est pas rempli sera demandé à l'installation. Cela est pratique notamment si on veut un partitionnement différent pour certaines machines par exemple.
L'utilitaire va ensuite nous proposer de sauvegarder un fichier nommé ks.cfg.. Mettez le dans un endroit également accessible par le serveur web, /var/www/html/pxe/ par exemple.
5. Configuration du pxeboot
Lancez la commande suivante pour ouvrir l'utilitaire de configuration graphique du boot PXE :
system-config-netboot
Et indiquez :
- un nom pour l'installation
- la méthode d'installation
- l'emplacement du fichier kickstart
- l'adresse IP du serveur TFTP
- l'emplacement des paquets sur le serveur Apache
Une fois validée, ceci devrait vous créer une nouvelle entrée dans le menu de boot pxe, et plus précisément dans le fichier /tftpboot/linux-install/pxelinux.0
Il ne reste plus qu'à tester votre serveur, en effectuant un boot réseau (souvent la touche F12 au démarrage) avec une machine cliente.



Créé en 2005, Tux-planet est un site qui a pour ambition de regrouper des articles sur Linux et le monde des logiciels libres. 





20 Commentaires pour "Installation d'un serveur de déploiement Linux par le réseau"
Flux des commentaires de cet article Ajouter un commentaireA noter qu'il est possible de tester le bon fonctionnement de votre serveur TFTP.
Voici un exemple des lignes de commande que l'on peut utiliser :
[pti-seb@localhost ~]$ tftp 192.168.0.188
tftp> get /linux-install/pxelinux.0
tftp> quit
[pti-seb@localhost ~]$ ls | grep pxe
pxelinux.0
Tuto très sympa (pourquoi ne pas le mettre sur fedora-fr.org).
Par contre, il serait plus propre de remplacer :
"/etc/init.d/xxx reload"
par
"service xxx reload".
Et l'édition du fichier de config d'xinetd par :
"chkconfig tftpd on"
A+
@Remi : il existe déjà un tutorial la dessus sur fedora-fr.org. Le miens est une approche différente (pas forcement la meilleure).
Pour les commandes, je préfère toujours utiliser les /etc/init.d/xxx qui sont communes à plusieurs distributions, tandis que la commande "service" est spécifique à redhat il me semble.
Rémi,
le
service xxx reload
est bien trop orienté "RedHat", alors que le
/etc/init.d/xxx reload
S'applique sur la plupart des distribution.
Sinon, pti-seb, je n'ai pas encore essayé de mettre en application cette procédure mais le principe est pas mal.
@+
Svp il faut combien de pc pour ce tp ??
@momo : au moins 2, un sur lequel tu installe tous les serveurs et un autre qui servira à installer la distribution en pxe.
merci !!!
Exellent tuto !
Je boot bien par pxe mais il me demande un kernel en scrutant des sous repertoire /8 /default
Quel type de kernel lui donner dois en creer un specifique ou puis je en recuperer un
merci
dans votre tuto vous dites
"Ce dernier sert aux cartes réseaux pour réaliser leur boot PXE, mais aussi pour afficher un menu permettant de choisir la distribution linux que l'on veut installer, quand le serveur en propose plusieurs. "
comment faire pour avoir plusieur choix de distrib
Bonjour juste un petit probleme au niveau du boot tftp ?
Si quelqu'un pouvais m'aider
Bonjour,
très beau site au passage. Vraiment très bonne explication et je pense le mettre en place d'ici peux. Seulement quelques explications supplémentaire, sur le choix de la distribution lors du boot du client serait plus pratique, genre une fedora, un ubuntu, ...
Aurriez vous quelques liens où quelques conseils?
Merci
@trucky : kickstart est un logiciel qui est fait pour Fedora, Red-hat et Centos. Je ne suis pas sûr que cela fonctionne pour Ubuntu.
Bonjour,
Kickstart fonctionne avec Ubuntu (mais pas encore avec Debian (etch) même si Ubuntu est dérivé de Debian)
Soit dit en passant : Debian aura un support pour kickstart avec les prochaines version (lenny et sid)
Parcontre il y a encore certains bug (pour kickstart et Ubuntu), pour les connaître, consultez la doc ubuntu qui en explique quelques uns.
PS : Tuto intéressant
Il ne nous reste plus qu'à démarrer le serveur TFTP :
/etc/init.d/xined restart
il faut lire
/etc/init.d/xinetd restart
si je ne m'abuse, sinon c'est un super tuto pour booter une fedora, par le reseau, par contre je cherche à faire booter des ubuntu par le meme ordi, et apparament les fichier de boot pxe ne sont pas incorporés dans le dvd....le systeme-config-netboot me retourne une erreur en http 404....une idée ?.
@stephane de labrusse : merci, j'ai corrigé l'erreur. Sinon pour Ubuntu, comme dit dans les autres commentaires, je sais pas comment on fait.
Article très intéressant, il est tout quelle licence ?
@Capof : regarde en bas, tous est sous copyright. A une époque je publiais sous des licences creative commons, mais il y a eu trop d'abus. Donc maintenant, toutes reproduction son interdites.
Bonjour,
j'ai un problème au niveau du boot tftp
il obtient bien son adresse DHCP mais au niveau TFTP j'ai un message d'erreur:
"No reply from tftp"
si vous avez une idée je suis preneur..
Merci
Comment faire le déployement d'un système d'exploitation ubuntu sous linux
Bonjour,
doc très instructif pour les débutants comme moi.
Peut-on avoir la mm doc, mais pour l'environnement Debian ?